1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* Global Instruction Selector for the X86 target *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* *|
7\*===----------------------------------------------------------------------===*/
8
9#ifdef GET_GLOBALISEL_PREDICATE_BITSET
10const unsigned MAX_SUBTARGET_PREDICATES = 152;
11using PredicateBitset = llvm::Bitset<MAX_SUBTARGET_PREDICATES>;
12#endif // ifdef GET_GLOBALISEL_PREDICATE_BITSET
13
14#ifdef GET_GLOBALISEL_TEMPORARIES_DECL
15 mutable MatcherState State;
16 typedef ComplexRendererFns(X86InstructionSelector::*ComplexMatcherMemFn)(MachineOperand &) const;
17 typedef void(X86InstructionSelector::*CustomRendererFn)(MachineInstrBuilder &, const MachineInstr &, int) const;
18 const ExecInfoTy<PredicateBitset, ComplexMatcherMemFn, CustomRendererFn> ExecInfo;
19 static X86InstructionSelector::ComplexMatcherMemFn ComplexPredicateFns[];
20 static X86InstructionSelector::CustomRendererFn CustomRenderers[];
21 bool testImmPredicate_I64(unsigned PredicateID, int64_t Imm) const override;
22 bool testImmPredicate_APInt(unsigned PredicateID, const APInt &Imm) const override;
23 bool testImmPredicate_APFloat(unsigned PredicateID, const APFloat &Imm) const override;
24 const uint8_t *getMatchTable() const override;
25 bool testMIPredicate_MI(unsigned PredicateID, const MachineInstr &MI, const MatcherState &State) const override;
26 bool testMOPredicate_MO(unsigned PredicateID, const MachineOperand &MO, const MatcherState &State) const override;
27 bool testSimplePredicate(unsigned PredicateID) const override;
28 bool runCustomAction(unsigned FnID, const MatcherState &State, NewMIVector &OutMIs) const override;
29#endif // ifdef GET_GLOBALISEL_TEMPORARIES_DECL
30
31#ifdef GET_GLOBALISEL_TEMPORARIES_INIT
32, State(1),
33ExecInfo(TypeObjects, NumTypeObjects, FeatureBitsets, ComplexPredicateFns, CustomRenderers)
34#endif // ifdef GET_GLOBALISEL_TEMPORARIES_INIT
35
36#ifdef GET_GLOBALISEL_IMPL
37// LLT Objects.
38enum {
39 GILLT_s1,
40 GILLT_s8,
41 GILLT_s16,
42 GILLT_s32,
43 GILLT_s64,
44 GILLT_s80,
45 GILLT_s128,
46 GILLT_v2s1,
47 GILLT_v2s64,
48 GILLT_v4s1,
49 GILLT_v4s32,
50 GILLT_v4s64,
51 GILLT_v8s1,
52 GILLT_v8s16,
53 GILLT_v8s32,
54 GILLT_v8s64,
55 GILLT_v16s1,
56 GILLT_v16s8,
57 GILLT_v16s16,
58 GILLT_v16s32,
59 GILLT_v32s1,
60 GILLT_v32s8,
61 GILLT_v32s16,
62 GILLT_v64s1,
63 GILLT_v64s8,
64};
65const static size_t NumTypeObjects = 25;
66const static LLT TypeObjects[] = {
67 LLT::scalar(1),
68 LLT::scalar(8),
69 LLT::scalar(16),
70 LLT::scalar(32),
71 LLT::scalar(64),
72 LLT::scalar(80),
73 LLT::scalar(128),
74 LLT::vector(ElementCount::getFixed(2), 1),
75 LLT::vector(ElementCount::getFixed(2), 64),
76 LLT::vector(ElementCount::getFixed(4), 1),
77 LLT::vector(ElementCount::getFixed(4), 32),
78 LLT::vector(ElementCount::getFixed(4), 64),
79 LLT::vector(ElementCount::getFixed(8), 1),
80 LLT::vector(ElementCount::getFixed(8), 16),
81 LLT::vector(ElementCount::getFixed(8), 32),
82 LLT::vector(ElementCount::getFixed(8), 64),
83 LLT::vector(ElementCount::getFixed(16), 1),
84 LLT::vector(ElementCount::getFixed(16), 8),
85 LLT::vector(ElementCount::getFixed(16), 16),
86 LLT::vector(ElementCount::getFixed(16), 32),
87 LLT::vector(ElementCount::getFixed(32), 1),
88 LLT::vector(ElementCount::getFixed(32), 8),
89 LLT::vector(ElementCount::getFixed(32), 16),
90 LLT::vector(ElementCount::getFixed(64), 1),
91 LLT::vector(ElementCount::getFixed(64), 8),
92};
93
94// Bits for subtarget features that participate in instruction matching.
95enum SubtargetFeatureBits : uint8_t {
96 Feature_TruePredicateBit = 63,
97 Feature_HasEGPRBit = 5,
98 Feature_NoEGPRBit = 4,
99 Feature_HasNDDBit = 6,
100 Feature_NoNDDBit = 27,
101 Feature_HasZUBit = 151,
102 Feature_HasCFBit = 30,
103 Feature_HasCMOVBit = 29,
104 Feature_NoCMOVBit = 137,
105 Feature_HasMMXBit = 109,
106 Feature_HasSSE1Bit = 49,
107 Feature_UseSSE1Bit = 56,
108 Feature_HasSSE2Bit = 48,
109 Feature_UseSSE2Bit = 57,
110 Feature_HasSSE3Bit = 40,
111 Feature_UseSSE3Bit = 66,
112 Feature_HasSSSE3Bit = 110,
113 Feature_UseSSSE3Bit = 67,
114 Feature_UseSSE41Bit = 64,
115 Feature_UseSSE42Bit = 71,
116 Feature_HasSSE4ABit = 81,
117 Feature_NoAVXBit = 77,
118 Feature_HasAVXBit = 58,
119 Feature_HasAVX2Bit = 52,
120 Feature_HasAVX1OnlyBit = 50,
121 Feature_HasEVEX512Bit = 144,
122 Feature_HasAVX10_2Bit = 108,
123 Feature_HasAVX10_2_512Bit = 107,
124 Feature_NoAVX10_2Bit = 70,
125 Feature_HasAVX512Bit = 94,
126 Feature_UseAVXBit = 54,
127 Feature_NoAVX512Bit = 45,
128 Feature_HasCDIBit = 98,
129 Feature_HasVPOPCNTDQBit = 102,
130 Feature_HasDQIBit = 96,
131 Feature_NoDQIBit = 68,
132 Feature_HasBWIBit = 97,
133 Feature_NoBWIBit = 65,
134 Feature_HasVLXBit = 95,
135 Feature_NoVLXBit = 44,
136 Feature_NoVLX_Or_NoBWIBit = 62,
137 Feature_HasVNNIBit = 104,
138 Feature_HasVP2INTERSECTBit = 106,
139 Feature_HasFP16Bit = 100,
140 Feature_HasAVXVNNIINT16Bit = 93,
141 Feature_HasAVXVNNIINT8Bit = 88,
142 Feature_HasAVXVNNIBit = 82,
143 Feature_NoVLX_Or_NoVNNIBit = 83,
144 Feature_HasBITALGBit = 105,
145 Feature_HasPOPCNTBit = 69,
146 Feature_HasAESBit = 74,
147 Feature_HasVAESBit = 76,
148 Feature_NoVLX_Or_NoVAESBit = 75,
149 Feature_HasFXSRBit = 41,
150 Feature_HasX87Bit = 39,
151 Feature_HasXSAVEBit = 126,
152 Feature_HasXSAVEOPTBit = 127,
153 Feature_HasXSAVECBit = 128,
154 Feature_HasXSAVESBit = 129,
155 Feature_HasPCLMULBit = 78,
156 Feature_NoVLX_Or_NoVPCLMULQDQBit = 79,
157 Feature_HasVPCLMULQDQBit = 80,
158 Feature_HasGFNIBit = 85,
159 Feature_HasFMABit = 42,
160 Feature_HasFMA4Bit = 46,
161 Feature_NoFMA4Bit = 43,
162 Feature_HasXOPBit = 47,
163 Feature_HasTBMBit = 26,
164 Feature_NoTBMBit = 142,
165 Feature_HasLWPBit = 12,
166 Feature_HasMOVBEBit = 3,
167 Feature_NoNDD_Or_NoMOVBEBit = 2,
168 Feature_HasRDRANDBit = 7,
169 Feature_HasF16CBit = 84,
170 Feature_HasFSGSBaseBit = 130,
171 Feature_HasLZCNTBit = 9,
172 Feature_HasBMIBit = 10,
173 Feature_HasBMI2Bit = 11,
174 Feature_NoBMI2Bit = 141,
175 Feature_HasVBMIBit = 99,
176 Feature_HasVBMI2Bit = 103,
177 Feature_HasIFMABit = 101,
178 Feature_HasAVXIFMABit = 86,
179 Feature_NoVLX_Or_NoIFMABit = 87,
180 Feature_HasRTMBit = 112,
181 Feature_HasSHABit = 73,
182 Feature_HasSHA512Bit = 90,
183 Feature_HasSM3Bit = 91,
184 Feature_HasRDSEEDBit = 8,
185 Feature_HasSSEPrefetchBit = 59,
186 Feature_HasPREFETCHIBit = 20,
187 Feature_HasPrefetchWBit = 111,
188 Feature_HasMWAITXBit = 140,
189 Feature_HasCLDEMOTEBit = 24,
190 Feature_HasMOVDIRIBit = 14,
191 Feature_HasMOVDIR64BBit = 15,
192 Feature_HasMOVRSBit = 25,
193 Feature_HasPTWRITEBit = 133,
194 Feature_FPStackf32Bit = 37,
195 Feature_FPStackf64Bit = 38,
196 Feature_HasSM4Bit = 92,
197 Feature_HasCLFLUSHBit = 60,
198 Feature_HasCLFLUSHOPTBit = 22,
199 Feature_HasCLWBBit = 23,
200 Feature_HasWBNOINVDBit = 125,
201 Feature_HasRDPIDBit = 132,
202 Feature_HasWAITPKGBit = 13,
203 Feature_HasINVPCIDBit = 131,
204 Feature_HasCX8Bit = 138,
205 Feature_HasCX16Bit = 139,
206 Feature_HasENQCMDBit = 16,
207 Feature_HasAMXFP16Bit = 117,
208 Feature_HasCMPCCXADDBit = 21,
209 Feature_HasAVXNECONVERTBit = 89,
210 Feature_HasKLBit = 113,
211 Feature_HasRAOINTBit = 123,
212 Feature_HasSERIALIZEBit = 17,
213 Feature_HasTSXLDTRKBit = 18,
214 Feature_HasAMXTILEBit = 114,
215 Feature_HasAMXBF16Bit = 116,
216 Feature_HasAMXINT8Bit = 115,
217 Feature_HasAMXCOMPLEXBit = 118,
218 Feature_HasAMXFP8Bit = 119,
219 Feature_HasAMXTRANSPOSEBit = 120,
220 Feature_HasAMXAVX512Bit = 121,
221 Feature_HasAMXTF32Bit = 122,
222 Feature_HasUINTRBit = 19,
223 Feature_HasUSERMSRBit = 124,
224 Feature_HasCRC32Bit = 72,
225 Feature_Not64BitModeBit = 0,
226 Feature_In64BitModeBit = 1,
227 Feature_IsLP64Bit = 135,
228 Feature_NotLP64Bit = 134,
229 Feature_NotWin64WithoutFPBit = 136,
230 Feature_IsPSBit = 146,
231 Feature_NotPSBit = 145,
232 Feature_KernelCodeBit = 147,
233 Feature_NearDataBit = 149,
234 Feature_IsNotPICBit = 148,
235 Feature_OptForSizeBit = 53,
236 Feature_OptForMinSizeBit = 51,
237 Feature_OptForSpeedBit = 143,
238 Feature_UseIncDecBit = 28,
239 Feature_NoSSE41_Or_OptForSizeBit = 55,
240 Feature_ImportCallOptimizationEnabledBit = 35,
241 Feature_ImportCallOptimizationDisabledBit = 33,
242 Feature_CallImmAddrBit = 150,
243 Feature_FavorMemIndirectCallBit = 31,
244 Feature_HasFastSHLDRotateBit = 36,
245 Feature_HasMFenceBit = 61,
246 Feature_UseIndirectThunkCallsBit = 34,
247 Feature_NotUseIndirectThunkCallsBit = 32,
248};
249
250PredicateBitset X86InstructionSelector::
251computeAvailableModuleFeatures(const X86Subtarget *Subtarget) const {
252 PredicateBitset Features{};
253 if (true)
254 Features.set(Feature_TruePredicateBit);
255 if (Subtarget->hasEGPR())
256 Features.set(Feature_HasEGPRBit);
257 if (!Subtarget->hasEGPR())
258 Features.set(Feature_NoEGPRBit);
259 if (Subtarget->hasNDD())
260 Features.set(Feature_HasNDDBit);
261 if (!Subtarget->hasNDD())
262 Features.set(Feature_NoNDDBit);
263 if (Subtarget->hasZU())
264 Features.set(Feature_HasZUBit);
265 if (Subtarget->hasCF())
266 Features.set(Feature_HasCFBit);
267 if (Subtarget->canUseCMOV())
268 Features.set(Feature_HasCMOVBit);
269 if (!Subtarget->canUseCMOV())
270 Features.set(Feature_NoCMOVBit);
271 if (Subtarget->hasMMX())
272 Features.set(Feature_HasMMXBit);
273 if (Subtarget->hasSSE1())
274 Features.set(Feature_HasSSE1Bit);
275 if (Subtarget->hasSSE1() && !Subtarget->hasAVX())
276 Features.set(Feature_UseSSE1Bit);
277 if (Subtarget->hasSSE2())
278 Features.set(Feature_HasSSE2Bit);
279 if (Subtarget->hasSSE2() && !Subtarget->hasAVX())
280 Features.set(Feature_UseSSE2Bit);
281 if (Subtarget->hasSSE3())
282 Features.set(Feature_HasSSE3Bit);
283 if (Subtarget->hasSSE3() && !Subtarget->hasAVX())
284 Features.set(Feature_UseSSE3Bit);
285 if (Subtarget->hasSSSE3())
286 Features.set(Feature_HasSSSE3Bit);
287 if (Subtarget->hasSSSE3() && !Subtarget->hasAVX())
288 Features.set(Feature_UseSSSE3Bit);
289 if (Subtarget->hasSSE41() && !Subtarget->hasAVX())
290 Features.set(Feature_UseSSE41Bit);
291 if (Subtarget->hasSSE42() && !Subtarget->hasAVX())
292 Features.set(Feature_UseSSE42Bit);
293 if (Subtarget->hasSSE4A())
294 Features.set(Feature_HasSSE4ABit);
295 if (!Subtarget->hasAVX())
296 Features.set(Feature_NoAVXBit);
297 if (Subtarget->hasAVX())
298 Features.set(Feature_HasAVXBit);
299 if (Subtarget->hasAVX2())
300 Features.set(Feature_HasAVX2Bit);
301 if (Subtarget->hasAVX() && !Subtarget->hasAVX2())
302 Features.set(Feature_HasAVX1OnlyBit);
303 if (Subtarget->hasEVEX512())
304 Features.set(Feature_HasEVEX512Bit);
305 if (Subtarget->hasAVX10_2())
306 Features.set(Feature_HasAVX10_2Bit);
307 if (Subtarget->hasAVX10_2_512())
308 Features.set(Feature_HasAVX10_2_512Bit);
309 if (!Subtarget->hasAVX10_2())
310 Features.set(Feature_NoAVX10_2Bit);
311 if (Subtarget->hasAVX512())
312 Features.set(Feature_HasAVX512Bit);
313 if (Subtarget->hasAVX() && !Subtarget->hasAVX512())
314 Features.set(Feature_UseAVXBit);
315 if (!Subtarget->hasAVX512())
316 Features.set(Feature_NoAVX512Bit);
317 if (Subtarget->hasCDI())
318 Features.set(Feature_HasCDIBit);
319 if (Subtarget->hasVPOPCNTDQ())
320 Features.set(Feature_HasVPOPCNTDQBit);
321 if (Subtarget->hasDQI())
322 Features.set(Feature_HasDQIBit);
323 if (!Subtarget->hasDQI())
324 Features.set(Feature_NoDQIBit);
325 if (Subtarget->hasBWI())
326 Features.set(Feature_HasBWIBit);
327 if (!Subtarget->hasBWI())
328 Features.set(Feature_NoBWIBit);
329 if (Subtarget->hasVLX())
330 Features.set(Feature_HasVLXBit);
331 if (!Subtarget->hasVLX())
332 Features.set(Feature_NoVLXBit);
333 if (!Subtarget->hasVLX() || !Subtarget->hasBWI())
334 Features.set(Feature_NoVLX_Or_NoBWIBit);
335 if (Subtarget->hasVNNI())
336 Features.set(Feature_HasVNNIBit);
337 if (Subtarget->hasVP2INTERSECT())
338 Features.set(Feature_HasVP2INTERSECTBit);
339 if (Subtarget->hasFP16())
340 Features.set(Feature_HasFP16Bit);
341 if (Subtarget->hasAVXVNNIINT16())
342 Features.set(Feature_HasAVXVNNIINT16Bit);
343 if (Subtarget->hasAVXVNNIINT8())
344 Features.set(Feature_HasAVXVNNIINT8Bit);
345 if (Subtarget->hasAVXVNNI())
346 Features.set(Feature_HasAVXVNNIBit);
347 if (!Subtarget->hasVLX() || !Subtarget->hasVNNI())
348 Features.set(Feature_NoVLX_Or_NoVNNIBit);
349 if (Subtarget->hasBITALG())
350 Features.set(Feature_HasBITALGBit);
351 if (Subtarget->hasPOPCNT())
352 Features.set(Feature_HasPOPCNTBit);
353 if (Subtarget->hasAES())
354 Features.set(Feature_HasAESBit);
355 if (Subtarget->hasVAES())
356 Features.set(Feature_HasVAESBit);
357 if (!Subtarget->hasVLX() || !Subtarget->hasVAES())
358 Features.set(Feature_NoVLX_Or_NoVAESBit);
359 if (Subtarget->hasFXSR())
360 Features.set(Feature_HasFXSRBit);
361 if (Subtarget->hasX87())
362 Features.set(Feature_HasX87Bit);
363 if (Subtarget->hasXSAVE())
364 Features.set(Feature_HasXSAVEBit);
365 if (Subtarget->hasXSAVEOPT())
366 Features.set(Feature_HasXSAVEOPTBit);
367 if (Subtarget->hasXSAVEC())
368 Features.set(Feature_HasXSAVECBit);
369 if (Subtarget->hasXSAVES())
370 Features.set(Feature_HasXSAVESBit);
371 if (Subtarget->hasPCLMUL())
372 Features.set(Feature_HasPCLMULBit);
373 if (!Subtarget->hasVLX() || !Subtarget->hasVPCLMULQDQ())
374 Features.set(Feature_NoVLX_Or_NoVPCLMULQDQBit);
375 if (Subtarget->hasVPCLMULQDQ())
376 Features.set(Feature_HasVPCLMULQDQBit);
377 if (Subtarget->hasGFNI())
378 Features.set(Feature_HasGFNIBit);
379 if (Subtarget->hasFMA())
380 Features.set(Feature_HasFMABit);
381 if (Subtarget->hasFMA4())
382 Features.set(Feature_HasFMA4Bit);
383 if (!Subtarget->hasFMA4())
384 Features.set(Feature_NoFMA4Bit);
385 if (Subtarget->hasXOP())
386 Features.set(Feature_HasXOPBit);
387 if (Subtarget->hasTBM())
388 Features.set(Feature_HasTBMBit);
389 if (!Subtarget->hasTBM())
390 Features.set(Feature_NoTBMBit);
391 if (Subtarget->hasLWP())
392 Features.set(Feature_HasLWPBit);
393 if (Subtarget->hasMOVBE())
394 Features.set(Feature_HasMOVBEBit);
395 if (!Subtarget->hasNDD() || !Subtarget->hasMOVBE())
396 Features.set(Feature_NoNDD_Or_NoMOVBEBit);
397 if (Subtarget->hasRDRAND())
398 Features.set(Feature_HasRDRANDBit);
399 if (Subtarget->hasF16C())
400 Features.set(Feature_HasF16CBit);
401 if (Subtarget->hasFSGSBase())
402 Features.set(Feature_HasFSGSBaseBit);
403 if (Subtarget->hasLZCNT())
404 Features.set(Feature_HasLZCNTBit);
405 if (Subtarget->hasBMI())
406 Features.set(Feature_HasBMIBit);
407 if (Subtarget->hasBMI2())
408 Features.set(Feature_HasBMI2Bit);
409 if (!Subtarget->hasBMI2())
410 Features.set(Feature_NoBMI2Bit);
411 if (Subtarget->hasVBMI())
412 Features.set(Feature_HasVBMIBit);
413 if (Subtarget->hasVBMI2())
414 Features.set(Feature_HasVBMI2Bit);
415 if (Subtarget->hasIFMA())
416 Features.set(Feature_HasIFMABit);
417 if (Subtarget->hasAVXIFMA())
418 Features.set(Feature_HasAVXIFMABit);
419 if (!Subtarget->hasVLX() || !Subtarget->hasIFMA())
420 Features.set(Feature_NoVLX_Or_NoIFMABit);
421 if (Subtarget->hasRTM())
422 Features.set(Feature_HasRTMBit);
423 if (Subtarget->hasSHA())
424 Features.set(Feature_HasSHABit);
425 if (Subtarget->hasSHA512())
426 Features.set(Feature_HasSHA512Bit);
427 if (Subtarget->hasSM3())
428 Features.set(Feature_HasSM3Bit);
429 if (Subtarget->hasRDSEED())
430 Features.set(Feature_HasRDSEEDBit);
431 if (Subtarget->hasSSEPrefetch())
432 Features.set(Feature_HasSSEPrefetchBit);
433 if (Subtarget->hasPREFETCHI())
434 Features.set(Feature_HasPREFETCHIBit);
435 if (Subtarget->hasPrefetchW())
436 Features.set(Feature_HasPrefetchWBit);
437 if (Subtarget->hasMWAITX())
438 Features.set(Feature_HasMWAITXBit);
439 if (Subtarget->hasCLDEMOTE())
440 Features.set(Feature_HasCLDEMOTEBit);
441 if (Subtarget->hasMOVDIRI())
442 Features.set(Feature_HasMOVDIRIBit);
443 if (Subtarget->hasMOVDIR64B())
444 Features.set(Feature_HasMOVDIR64BBit);
445 if (Subtarget->hasMOVRS())
446 Features.set(Feature_HasMOVRSBit);
447 if (Subtarget->hasPTWRITE())
448 Features.set(Feature_HasPTWRITEBit);
449 if (!Subtarget->hasSSE1())
450 Features.set(Feature_FPStackf32Bit);
451 if (!Subtarget->hasSSE2())
452 Features.set(Feature_FPStackf64Bit);
453 if (Subtarget->hasSM4())
454 Features.set(Feature_HasSM4Bit);
455 if (Subtarget->hasCLFLUSH())
456 Features.set(Feature_HasCLFLUSHBit);
457 if (Subtarget->hasCLFLUSHOPT())
458 Features.set(Feature_HasCLFLUSHOPTBit);
459 if (Subtarget->hasCLWB())
460 Features.set(Feature_HasCLWBBit);
461 if (Subtarget->hasWBNOINVD())
462 Features.set(Feature_HasWBNOINVDBit);
463 if (Subtarget->hasRDPID())
464 Features.set(Feature_HasRDPIDBit);
465 if (Subtarget->hasWAITPKG())
466 Features.set(Feature_HasWAITPKGBit);
467 if (Subtarget->hasINVPCID())
468 Features.set(Feature_HasINVPCIDBit);
469 if (Subtarget->hasCX8())
470 Features.set(Feature_HasCX8Bit);
471 if (Subtarget->hasCX16())
472 Features.set(Feature_HasCX16Bit);
473 if (Subtarget->hasENQCMD())
474 Features.set(Feature_HasENQCMDBit);
475 if (Subtarget->hasAMXFP16())
476 Features.set(Feature_HasAMXFP16Bit);
477 if (Subtarget->hasCMPCCXADD())
478 Features.set(Feature_HasCMPCCXADDBit);
479 if (Subtarget->hasAVXNECONVERT())
480 Features.set(Feature_HasAVXNECONVERTBit);
481 if (Subtarget->hasKL())
482 Features.set(Feature_HasKLBit);
483 if (Subtarget->hasRAOINT())
484 Features.set(Feature_HasRAOINTBit);
485 if (Subtarget->hasSERIALIZE())
486 Features.set(Feature_HasSERIALIZEBit);
487 if (Subtarget->hasTSXLDTRK())
488 Features.set(Feature_HasTSXLDTRKBit);
489 if (Subtarget->hasAMXTILE())
490 Features.set(Feature_HasAMXTILEBit);
491 if (Subtarget->hasAMXBF16())
492 Features.set(Feature_HasAMXBF16Bit);
493 if (Subtarget->hasAMXINT8())
494 Features.set(Feature_HasAMXINT8Bit);
495 if (Subtarget->hasAMXCOMPLEX())
496 Features.set(Feature_HasAMXCOMPLEXBit);
497 if (Subtarget->hasAMXFP8())
498 Features.set(Feature_HasAMXFP8Bit);
499 if (Subtarget->hasAMXTRANSPOSE())
500 Features.set(Feature_HasAMXTRANSPOSEBit);
501 if (Subtarget->hasAMXAVX512())
502 Features.set(Feature_HasAMXAVX512Bit);
503 if (Subtarget->hasAMXTF32())
504 Features.set(Feature_HasAMXTF32Bit);
505 if (Subtarget->hasUINTR())
506 Features.set(Feature_HasUINTRBit);
507 if (Subtarget->hasUSERMSR())
508 Features.set(Feature_HasUSERMSRBit);
509 if (Subtarget->hasCRC32())
510 Features.set(Feature_HasCRC32Bit);
511 if (!Subtarget->is64Bit())
512 Features.set(Feature_Not64BitModeBit);
513 if (Subtarget->is64Bit())
514 Features.set(Feature_In64BitModeBit);
515 if (Subtarget->isTarget64BitLP64())
516 Features.set(Feature_IsLP64Bit);
517 if (!Subtarget->isTarget64BitLP64())
518 Features.set(Feature_NotLP64Bit);
519 if (Subtarget->isTargetPS())
520 Features.set(Feature_IsPSBit);
521 if (!Subtarget->isTargetPS())
522 Features.set(Feature_NotPSBit);
523 if (TM.getCodeModel() == CodeModel::Kernel)
524 Features.set(Feature_KernelCodeBit);
525 if (TM.getCodeModel() == CodeModel::Small ||TM.getCodeModel() == CodeModel::Kernel)
526 Features.set(Feature_NearDataBit);
527 if (!TM.isPositionIndependent())
528 Features.set(Feature_IsNotPICBit);
529 if (Subtarget->isLegalToCallImmediateAddr())
530 Features.set(Feature_CallImmAddrBit);
531 if (!Subtarget->slowTwoMemOps())
532 Features.set(Feature_FavorMemIndirectCallBit);
533 if (Subtarget->hasFastSHLDRotate())
534 Features.set(Feature_HasFastSHLDRotateBit);
535 if (Subtarget->hasMFence())
536 Features.set(Feature_HasMFenceBit);
537 if (Subtarget->useIndirectThunkCalls())
538 Features.set(Feature_UseIndirectThunkCallsBit);
539 if (!Subtarget->useIndirectThunkCalls())
540 Features.set(Feature_NotUseIndirectThunkCallsBit);
541 return Features;
542}
543
544void X86InstructionSelector::setupGeneratedPerFunctionState(MachineFunction &MF) {
545 AvailableFunctionFeatures = computeAvailableFunctionFeatures((const X86Subtarget *)&MF.getSubtarget(), &MF);
546}
547PredicateBitset X86InstructionSelector::
548computeAvailableFunctionFeatures(const X86Subtarget *Subtarget, const MachineFunction *MF) const {
549 PredicateBitset Features{};
550 if (!Subtarget->isTargetWin64() ||Subtarget->getFrameLowering()->hasFP(*MF))
551 Features.set(Feature_NotWin64WithoutFPBit);
552 if (shouldOptForSize(MF))
553 Features.set(Feature_OptForSizeBit);
554 if (MF->getFunction().hasMinSize())
555 Features.set(Feature_OptForMinSizeBit);
556 if (!shouldOptForSize(MF))
557 Features.set(Feature_OptForSpeedBit);
558 if (!Subtarget->slowIncDec() || shouldOptForSize(MF))
559 Features.set(Feature_UseIncDecBit);
560 if (shouldOptForSize(MF) || !Subtarget->hasSSE41())
561 Features.set(Feature_NoSSE41_Or_OptForSizeBit);
562 if (MF->getFunction().getParent()->getModuleFlag("import-call-optimization"))
563 Features.set(Feature_ImportCallOptimizationEnabledBit);
564 if (!MF->getFunction().getParent()->getModuleFlag("import-call-optimization"))
565 Features.set(Feature_ImportCallOptimizationDisabledBit);
566 return Features;
567}
568
569// Feature bitsets.
570enum {
571 GIFBS_Invalid,
572 GIFBS_FPStackf32,
573 GIFBS_FPStackf64,
574 GIFBS_HasAVX,
575 GIFBS_HasAVX1Only,
576 GIFBS_HasAVX2,
577 GIFBS_HasAVX512,
578 GIFBS_HasAVXNECONVERT,
579 GIFBS_HasBITALG,
580 GIFBS_HasBMI,
581 GIFBS_HasBWI,
582 GIFBS_HasCDI,
583 GIFBS_HasCLDEMOTE,
584 GIFBS_HasCLFLUSH,
585 GIFBS_HasCLFLUSHOPT,
586 GIFBS_HasCLWB,
587 GIFBS_HasDQI,
588 GIFBS_HasFP16,
589 GIFBS_HasFXSR,
590 GIFBS_HasFastSHLDRotate,
591 GIFBS_HasKL,
592 GIFBS_HasLWP,
593 GIFBS_HasLZCNT,
594 GIFBS_HasMFence,
595 GIFBS_HasMMX,
596 GIFBS_HasMOVBE,
597 GIFBS_HasMOVRS,
598 GIFBS_HasMWAITX,
599 GIFBS_HasNDD,
600 GIFBS_HasPOPCNT,
601 GIFBS_HasPTWRITE,
602 GIFBS_HasPrefetchW,
603 GIFBS_HasRTM,
604 GIFBS_HasSERIALIZE,
605 GIFBS_HasSHA,
606 GIFBS_HasSHA512,
607 GIFBS_HasSM3,
608 GIFBS_HasSM4,
609 GIFBS_HasSSE1,
610 GIFBS_HasSSE2,
611 GIFBS_HasSSE3,
612 GIFBS_HasSSE4A,
613 GIFBS_HasSSEPrefetch,
614 GIFBS_HasTBM,
615 GIFBS_HasTSXLDTRK,
616 GIFBS_HasVBMI2,
617 GIFBS_HasVLX,
618 GIFBS_HasVPOPCNTDQ,
619 GIFBS_HasWAITPKG,
620 GIFBS_HasWBNOINVD,
621 GIFBS_HasX87,
622 GIFBS_HasXOP,
623 GIFBS_HasXSAVE,
624 GIFBS_HasXSAVEC,
625 GIFBS_HasXSAVEOPT,
626 GIFBS_HasXSAVES,
627 GIFBS_HasZU,
628 GIFBS_In64BitMode,
629 GIFBS_IsPS,
630 GIFBS_NoAVX,
631 GIFBS_NoDQI,
632 GIFBS_NoEGPR,
633 GIFBS_NoNDD,
634 GIFBS_NoNDD_Or_NoMOVBE,
635 GIFBS_Not64BitMode,
636 GIFBS_NotPS,
637 GIFBS_UseAVX,
638 GIFBS_UseIncDec,
639 GIFBS_UseSSE1,
640 GIFBS_UseSSE2,
641 GIFBS_UseSSE3,
642 GIFBS_UseSSE41,
643 GIFBS_UseSSSE3,
644 GIFBS_HasAES_HasAVX,
645 GIFBS_HasAES_NoAVX,
646 GIFBS_HasAMXBF16_In64BitMode,
647 GIFBS_HasAMXCOMPLEX_In64BitMode,
648 GIFBS_HasAMXFP16_In64BitMode,
649 GIFBS_HasAMXFP8_In64BitMode,
650 GIFBS_HasAMXINT8_In64BitMode,
651 GIFBS_HasAMXTF32_In64BitMode,
652 GIFBS_HasAMXTILE_In64BitMode,
653 GIFBS_HasAMXTRANSPOSE_In64BitMode,
654 GIFBS_HasAVX_In64BitMode,
655 GIFBS_HasAVX_NoBWI,
656 GIFBS_HasAVX_NoVLX,
657 GIFBS_HasAVX_NoVLX_Or_NoBWI,
658 GIFBS_HasAVX10_2_HasSM4,
659 GIFBS_HasAVX10_2_512_HasSM4,
660 GIFBS_HasAVX2_NoVLX,
661 GIFBS_HasAVX2_NoVLX_Or_NoBWI,
662 GIFBS_HasAVX512_HasVAES,
663 GIFBS_HasAVX512_HasVLX,
664 GIFBS_HasAVX512_HasVPCLMULQDQ,
665 GIFBS_HasAVX512_NoBWI,
666 GIFBS_HasAVX512_NoDQI,
667 GIFBS_HasAVX512_NoEGPR,
668 GIFBS_HasAVX512_OptForSize,
669 GIFBS_HasBITALG_HasVLX,
670 GIFBS_HasBMI_HasEGPR,
671 GIFBS_HasBMI_NoEGPR,
672 GIFBS_HasBMI2_HasEGPR,
673 GIFBS_HasBMI2_NoEGPR,
674 GIFBS_HasBWI_HasVLX,
675 GIFBS_HasBWI_NoEGPR,
676 GIFBS_HasCDI_HasVLX,
677 GIFBS_HasCRC32_NoEGPR,
678 GIFBS_HasDQI_HasVLX,
679 GIFBS_HasDQI_NoBWI,
680 GIFBS_HasDQI_NoEGPR,
681 GIFBS_HasEGPR_HasINVPCID,
682 GIFBS_HasEGPR_In64BitMode,
683 GIFBS_HasEVEX512_NoVLX,
684 GIFBS_HasFMA4_NoAVX512,
685 GIFBS_HasFMA4_NoVLX,
686 GIFBS_HasFP16_HasVLX,
687 GIFBS_HasFP16_In64BitMode,
688 GIFBS_HasFP16_OptForSize,
689 GIFBS_HasFSGSBase_In64BitMode,
690 GIFBS_HasFXSR_In64BitMode,
691 GIFBS_HasINVPCID_NoEGPR,
692 GIFBS_HasINVPCID_Not64BitMode,
693 GIFBS_HasMOVBE_NoEGPR,
694 GIFBS_HasMOVDIR64B_NoEGPR,
695 GIFBS_HasMOVDIRI_NoEGPR,
696 GIFBS_HasNDD_In64BitMode,
697 GIFBS_HasNDD_UseIncDec,
698 GIFBS_HasPCLMUL_NoAVX,
699 GIFBS_HasPREFETCHI_In64BitMode,
700 GIFBS_HasPTWRITE_In64BitMode,
701 GIFBS_HasRDPID_In64BitMode,
702 GIFBS_HasRDPID_Not64BitMode,
703 GIFBS_HasUINTR_In64BitMode,
704 GIFBS_HasUSERMSR_NoEGPR,
705 GIFBS_HasVAES_HasVLX,
706 GIFBS_HasVAES_NoVLX,
707 GIFBS_HasVBMI2_HasVLX,
708 GIFBS_HasVLX_HasVPCLMULQDQ,
709 GIFBS_HasVLX_HasVPOPCNTDQ,
710 GIFBS_HasVPCLMULQDQ_NoVLX,
711 GIFBS_HasWAITPKG_In64BitMode,
712 GIFBS_HasWAITPKG_Not64BitMode,
713 GIFBS_HasXSAVE_In64BitMode,
714 GIFBS_HasXSAVEC_In64BitMode,
715 GIFBS_HasXSAVEOPT_In64BitMode,
716 GIFBS_HasXSAVES_In64BitMode,
717 GIFBS_In64BitMode_UseIncDec,
718 GIFBS_In64BitMode_UseSSE2,
719 GIFBS_NoNDD_UseIncDec,
720 GIFBS_Not64BitMode_OptForSize,
721 GIFBS_NotWin64WithoutFP_OptForMinSize,
722 GIFBS_OptForSize_UseAVX,
723 GIFBS_OptForSize_UseSSE1,
724 GIFBS_OptForSize_UseSSE2,
725 GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES,
726 GIFBS_HasAMXAVX512_HasAVX10_2_512_In64BitMode,
727 GIFBS_HasAMXBF16_HasAMXTRANSPOSE_In64BitMode,
728 GIFBS_HasAMXCOMPLEX_HasAMXTRANSPOSE_In64BitMode,
729 GIFBS_HasAMXFP16_HasAMXTRANSPOSE_In64BitMode,
730 GIFBS_HasAMXTF32_HasAMXTRANSPOSE_In64BitMode,
731 GIFBS_HasAMXTILE_HasEGPR_In64BitMode,
732 GIFBS_HasAMXTILE_In64BitMode_NoEGPR,
733 GIFBS_HasAVX_HasPCLMUL_NoVLX_Or_NoVPCLMULQDQ,
734 GIFBS_HasAVX10_2_HasMOVRS_In64BitMode,
735 GIFBS_HasAVX10_2_512_HasMOVRS_In64BitMode,
736 GIFBS_HasAVX512_HasEGPR_In64BitMode,
737 GIFBS_HasAVX512_HasEVEX512_NoVLX,
738 GIFBS_HasBITALG_HasEVEX512_NoVLX,
739 GIFBS_HasBWI_HasEGPR_In64BitMode,
740 GIFBS_HasBWI_HasEVEX512_NoVLX,
741 GIFBS_HasCDI_HasEVEX512_NoVLX,
742 GIFBS_HasCRC32_HasEGPR_In64BitMode,
743 GIFBS_HasDQI_HasEGPR_In64BitMode,
744 GIFBS_HasDQI_HasEVEX512_NoVLX,
745 GIFBS_HasDQI_HasVLX_NoBWI,
746 GIFBS_HasEGPR_HasMOVBE_In64BitMode,
747 GIFBS_HasEGPR_HasMOVDIR64B_In64BitMode,
748 GIFBS_HasEGPR_HasMOVDIRI_In64BitMode,
749 GIFBS_HasEGPR_HasMOVRS_In64BitMode,
750 GIFBS_HasEGPR_HasUSERMSR_In64BitMode,
751 GIFBS_HasEVEX512_HasVPOPCNTDQ_NoVLX,
752 GIFBS_HasFMA_NoAVX512_NoFMA4,
753 GIFBS_HasFMA_NoFMA4_NoVLX,
754 GIFBS_HasMOVBE_HasNDD_In64BitMode,
755 GIFBS_HasMOVDIR64B_In64BitMode_NoEGPR,
756 GIFBS_HasMOVDIRI_In64BitMode_NoEGPR,
757 GIFBS_HasMOVRS_In64BitMode_NoEGPR,
758};
759constexpr static PredicateBitset FeatureBitsets[] {
760 {}, // GIFBS_Invalid
761 {Feature_FPStackf32Bit, },
762 {Feature_FPStackf64Bit, },
763 {Feature_HasAVXBit, },
764 {Feature_HasAVX1OnlyBit, },
765 {Feature_HasAVX2Bit, },
766 {Feature_HasAVX512Bit, },
767 {Feature_HasAVXNECONVERTBit, },
768 {Feature_HasBITALGBit, },
769 {Feature_HasBMIBit, },
770 {Feature_HasBWIBit, },
771 {Feature_HasCDIBit, },
772 {Feature_HasCLDEMOTEBit, },
773 {Feature_HasCLFLUSHBit, },
774 {Feature_HasCLFLUSHOPTBit, },
775 {Feature_HasCLWBBit, },
776 {Feature_HasDQIBit, },
777 {Feature_HasFP16Bit, },
778 {Feature_HasFXSRBit, },
779 {Feature_HasFastSHLDRotateBit, },
780 {Feature_HasKLBit, },
781 {Feature_HasLWPBit, },
782 {Feature_HasLZCNTBit, },
783 {Feature_HasMFenceBit, },
784 {Feature_HasMMXBit, },
785 {Feature_HasMOVBEBit, },
786 {Feature_HasMOVRSBit, },
787 {Feature_HasMWAITXBit, },
788 {Feature_HasNDDBit, },
789 {Feature_HasPOPCNTBit, },
790 {Feature_HasPTWRITEBit, },
791 {Feature_HasPrefetchWBit, },
792 {Feature_HasRTMBit, },
793 {Feature_HasSERIALIZEBit, },
794 {Feature_HasSHABit, },
795 {Feature_HasSHA512Bit, },
796 {Feature_HasSM3Bit, },
797 {Feature_HasSM4Bit, },
798 {Feature_HasSSE1Bit, },
799 {Feature_HasSSE2Bit, },
800 {Feature_HasSSE3Bit, },
801 {Feature_HasSSE4ABit, },
802 {Feature_HasSSEPrefetchBit, },
803 {Feature_HasTBMBit, },
804 {Feature_HasTSXLDTRKBit, },
805 {Feature_HasVBMI2Bit, },
806 {Feature_HasVLXBit, },
807 {Feature_HasVPOPCNTDQBit, },
808 {Feature_HasWAITPKGBit, },
809 {Feature_HasWBNOINVDBit, },
810 {Feature_HasX87Bit, },
811 {Feature_HasXOPBit, },
812 {Feature_HasXSAVEBit, },
813 {Feature_HasXSAVECBit, },
814 {Feature_HasXSAVEOPTBit, },
815 {Feature_HasXSAVESBit, },
816 {Feature_HasZUBit, },
817 {Feature_In64BitModeBit, },
818 {Feature_IsPSBit, },
819 {Feature_NoAVXBit, },
820 {Feature_NoDQIBit, },
821 {Feature_NoEGPRBit, },
822 {Feature_NoNDDBit, },
823 {Feature_NoNDD_Or_NoMOVBEBit, },
824 {Feature_Not64BitModeBit, },
825 {Feature_NotPSBit, },
826 {Feature_UseAVXBit, },
827 {Feature_UseIncDecBit, },
828 {Feature_UseSSE1Bit, },
829 {Feature_UseSSE2Bit, },
830 {Feature_UseSSE3Bit, },
831 {Feature_UseSSE41Bit, },
832 {Feature_UseSSSE3Bit, },
833 {Feature_HasAESBit, Feature_HasAVXBit, },
834 {Feature_HasAESBit, Feature_NoAVXBit, },
835 {Feature_HasAMXBF16Bit, Feature_In64BitModeBit, },
836 {Feature_HasAMXCOMPLEXBit, Feature_In64BitModeBit, },
837 {Feature_HasAMXFP16Bit, Feature_In64BitModeBit, },
838 {Feature_HasAMXFP8Bit, Feature_In64BitModeBit, },
839 {Feature_HasAMXINT8Bit, Feature_In64BitModeBit, },
840 {Feature_HasAMXTF32Bit, Feature_In64BitModeBit, },
841 {Feature_HasAMXTILEBit, Feature_In64BitModeBit, },
842 {Feature_HasAMXTRANSPOSEBit, Feature_In64BitModeBit, },
843 {Feature_HasAVXBit, Feature_In64BitModeBit, },
844 {Feature_HasAVXBit, Feature_NoBWIBit, },
845 {Feature_HasAVXBit, Feature_NoVLXBit, },
846 {Feature_HasAVXBit, Feature_NoVLX_Or_NoBWIBit, },
847 {Feature_HasAVX10_2Bit, Feature_HasSM4Bit, },
848 {Feature_HasAVX10_2_512Bit, Feature_HasSM4Bit, },
849 {Feature_HasAVX2Bit, Feature_NoVLXBit, },
850 {Feature_HasAVX2Bit, Feature_NoVLX_Or_NoBWIBit, },
851 {Feature_HasAVX512Bit, Feature_HasVAESBit, },
852 {Feature_HasAVX512Bit, Feature_HasVLXBit, },
853 {Feature_HasAVX512Bit, Feature_HasVPCLMULQDQBit, },
854 {Feature_HasAVX512Bit, Feature_NoBWIBit, },
855 {Feature_HasAVX512Bit, Feature_NoDQIBit, },
856 {Feature_HasAVX512Bit, Feature_NoEGPRBit, },
857 {Feature_HasAVX512Bit, Feature_OptForSizeBit, },
858 {Feature_HasBITALGBit, Feature_HasVLXBit, },
859 {Feature_HasBMIBit, Feature_HasEGPRBit, },
860 {Feature_HasBMIBit, Feature_NoEGPRBit, },
861 {Feature_HasBMI2Bit, Feature_HasEGPRBit, },
862 {Feature_HasBMI2Bit, Feature_NoEGPRBit, },
863 {Feature_HasBWIBit, Feature_HasVLXBit, },
864 {Feature_HasBWIBit, Feature_NoEGPRBit, },
865 {Feature_HasCDIBit, Feature_HasVLXBit, },
866 {Feature_HasCRC32Bit, Feature_NoEGPRBit, },
867 {Feature_HasDQIBit, Feature_HasVLXBit, },
868 {Feature_HasDQIBit, Feature_NoBWIBit, },
869 {Feature_HasDQIBit, Feature_NoEGPRBit, },
870 {Feature_HasEGPRBit, Feature_HasINVPCIDBit, },
871 {Feature_HasEGPRBit, Feature_In64BitModeBit, },
872 {Feature_HasEVEX512Bit, Feature_NoVLXBit, },
873 {Feature_HasFMA4Bit, Feature_NoAVX512Bit, },
874 {Feature_HasFMA4Bit, Feature_NoVLXBit, },
875 {Feature_HasFP16Bit, Feature_HasVLXBit, },
876 {Feature_HasFP16Bit, Feature_In64BitModeBit, },
877 {Feature_HasFP16Bit, Feature_OptForSizeBit, },
878 {Feature_HasFSGSBaseBit, Feature_In64BitModeBit, },
879 {Feature_HasFXSRBit, Feature_In64BitModeBit, },
880 {Feature_HasINVPCIDBit, Feature_NoEGPRBit, },
881 {Feature_HasINVPCIDBit, Feature_Not64BitModeBit, },
882 {Feature_HasMOVBEBit, Feature_NoEGPRBit, },
883 {Feature_HasMOVDIR64BBit, Feature_NoEGPRBit, },
884 {Feature_HasMOVDIRIBit, Feature_NoEGPRBit, },
885 {Feature_HasNDDBit, Feature_In64BitModeBit, },
886 {Feature_HasNDDBit, Feature_UseIncDecBit, },
887 {Feature_HasPCLMULBit, Feature_NoAVXBit, },
888 {Feature_HasPREFETCHIBit, Feature_In64BitModeBit, },
889 {Feature_HasPTWRITEBit, Feature_In64BitModeBit, },
890 {Feature_HasRDPIDBit, Feature_In64BitModeBit, },
891 {Feature_HasRDPIDBit, Feature_Not64BitModeBit, },
892 {Feature_HasUINTRBit, Feature_In64BitModeBit, },
893 {Feature_HasUSERMSRBit, Feature_NoEGPRBit, },
894 {Feature_HasVAESBit, Feature_HasVLXBit, },
895 {Feature_HasVAESBit, Feature_NoVLXBit, },
896 {Feature_HasVBMI2Bit, Feature_HasVLXBit, },
897 {Feature_HasVLXBit, Feature_HasVPCLMULQDQBit, },
898 {Feature_HasVLXBit, Feature_HasVPOPCNTDQBit, },
899 {Feature_HasVPCLMULQDQBit, Feature_NoVLXBit, },
900 {Feature_HasWAITPKGBit, Feature_In64BitModeBit, },
901 {Feature_HasWAITPKGBit, Feature_Not64BitModeBit, },
902 {Feature_HasXSAVEBit, Feature_In64BitModeBit, },
903 {Feature_HasXSAVECBit, Feature_In64BitModeBit, },
904 {Feature_HasXSAVEOPTBit, Feature_In64BitModeBit, },
905 {Feature_HasXSAVESBit, Feature_In64BitModeBit, },
906 {Feature_In64BitModeBit, Feature_UseIncDecBit, },
907 {Feature_In64BitModeBit, Feature_UseSSE2Bit, },
908 {Feature_NoNDDBit, Feature_UseIncDecBit, },
909 {Feature_Not64BitModeBit, Feature_OptForSizeBit, },
910 {Feature_NotWin64WithoutFPBit, Feature_OptForMinSizeBit, },
911 {Feature_OptForSizeBit, Feature_UseAVXBit, },
912 {Feature_OptForSizeBit, Feature_UseSSE1Bit, },
913 {Feature_OptForSizeBit, Feature_UseSSE2Bit, },
914 {Feature_HasAESBit, Feature_HasAVXBit, Feature_NoVLX_Or_NoVAESBit, },
915 {Feature_HasAMXAVX512Bit, Feature_HasAVX10_2_512Bit, Feature_In64BitModeBit, },
916 {Feature_HasAMXBF16Bit, Feature_HasAMXTRANSPOSEBit, Feature_In64BitModeBit, },
917 {Feature_HasAMXCOMPLEXBit, Feature_HasAMXTRANSPOSEBit, Feature_In64BitModeBit, },
918 {Feature_HasAMXFP16Bit, Feature_HasAMXTRANSPOSEBit, Feature_In64BitModeBit, },
919 {Feature_HasAMXTF32Bit, Feature_HasAMXTRANSPOSEBit, Feature_In64BitModeBit, },
920 {Feature_HasAMXTILEBit, Feature_HasEGPRBit, Feature_In64BitModeBit, },
921 {Feature_HasAMXTILEBit, Feature_In64BitModeBit, Feature_NoEGPRBit, },
922 {Feature_HasAVXBit, Feature_HasPCLMULBit, Feature_NoVLX_Or_NoVPCLMULQDQBit, },
923 {Feature_HasAVX10_2Bit, Feature_HasMOVRSBit, Feature_In64BitModeBit, },
924 {Feature_HasAVX10_2_512Bit, Feature_HasMOVRSBit, Feature_In64BitModeBit, },
925 {Feature_HasAVX512Bit, Feature_HasEGPRBit, Feature_In64BitModeBit, },
926 {Feature_HasAVX512Bit, Feature_HasEVEX512Bit, Feature_NoVLXBit, },
927 {Feature_HasBITALGBit, Feature_HasEVEX512Bit, Feature_NoVLXBit, },
928 {Feature_HasBWIBit, Feature_HasEGPRBit, Feature_In64BitModeBit, },
929 {Feature_HasBWIBit, Feature_HasEVEX512Bit, Feature_NoVLXBit, },
930 {Feature_HasCDIBit, Feature_HasEVEX512Bit, Feature_NoVLXBit, },
931 {Feature_HasCRC32Bit, Feature_HasEGPRBit, Feature_In64BitModeBit, },
932 {Feature_HasDQIBit, Feature_HasEGPRBit, Feature_In64BitModeBit, },
933 {Feature_HasDQIBit, Feature_HasEVEX512Bit, Feature_NoVLXBit, },
934 {Feature_HasDQIBit, Feature_HasVLXBit, Feature_NoBWIBit, },
935 {Feature_HasEGPRBit, Feature_HasMOVBEBit, Feature_In64BitModeBit, },
936 {Feature_HasEGPRBit, Feature_HasMOVDIR64BBit, Feature_In64BitModeBit, },
937 {Feature_HasEGPRBit, Feature_HasMOVDIRIBit, Feature_In64BitModeBit, },
938 {Feature_HasEGPRBit, Feature_HasMOVRSBit, Feature_In64BitModeBit, },
939 {Feature_HasEGPRBit, Feature_HasUSERMSRBit, Feature_In64BitModeBit, },
940 {Feature_HasEVEX512Bit, Feature_HasVPOPCNTDQBit, Feature_NoVLXBit, },
941 {Feature_HasFMABit, Feature_NoAVX512Bit, Feature_NoFMA4Bit, },
942 {Feature_HasFMABit, Feature_NoFMA4Bit, Feature_NoVLXBit, },
943 {Feature_HasMOVBEBit, Feature_HasNDDBit, Feature_In64BitModeBit, },
944 {Feature_HasMOVDIR64BBit, Feature_In64BitModeBit, Feature_NoEGPRBit, },
945 {Feature_HasMOVDIRIBit, Feature_In64BitModeBit, Feature_NoEGPRBit, },
946 {Feature_HasMOVRSBit, Feature_In64BitModeBit, Feature_NoEGPRBit, },
947};
948
949// ComplexPattern predicates.
950enum {
951 GICP_Invalid,
952 GICP_gi_addr,
953};
954// See constructor for table contents
955
956X86InstructionSelector::ComplexMatcherMemFn
957X86InstructionSelector::ComplexPredicateFns[] = {
958 nullptr, // GICP_Invalid
959 &X86InstructionSelector::selectAddr, // gi_addr
960};
961
962// PatFrag predicates.
963enum {
964 GICXXPred_MI_Predicate_alignedload = GICXXPred_Invalid + 1,
965 GICXXPred_MI_Predicate_alignedstore,
966 GICXXPred_MI_Predicate_imm_su,
967 GICXXPred_MI_Predicate_loadi8,
968 GICXXPred_MI_Predicate_loadi16,
969 GICXXPred_MI_Predicate_loadi32,
970};
971bool X86InstructionSelector::testMIPredicate_MI(unsigned PredicateID, const MachineInstr & MI, const MatcherState &State) const {
972 const MachineFunction &MF = *MI.getParent()->getParent();
973 const MachineRegisterInfo &MRI = MF.getRegInfo();
974 const auto &Operands = State.RecordedOperands;
975 (void)Operands;
976 (void)MRI;
977 switch (PredicateID) {
978 case GICXXPred_MI_Predicate_alignedload: {
979
980 auto &LdSt = cast<GLoadStore>(MI);
981 return LdSt.getAlign() >= LdSt.getMemSize().getValue();
982
983 llvm_unreachable("alignedload should have returned");
984 }
985 case GICXXPred_MI_Predicate_alignedstore: {
986
987 auto &LdSt = cast<GLoadStore>(MI);
988 return LdSt.getAlign() >= LdSt.getMemSize().getValue();
989
990 llvm_unreachable("alignedstore should have returned");
991 }
992 case GICXXPred_MI_Predicate_imm_su: {
993 return true;
994 }
995 case GICXXPred_MI_Predicate_loadi8: {
996 return isa<GLoad>(MI);
997 }
998 case GICXXPred_MI_Predicate_loadi16: {
999
1000 auto &Load = cast<GLoad>(MI);
1001 LLT Ty = MRI.getType(Load.getDstReg());
1002 // Non extending load has MMO and destination types of the same size
1003 if (Load.getMemSizeInBits() == Ty.getSizeInBits())
1004 return true;
1005 return Load.getAlign() >= 2 && Load.isSimple();
1006
1007 llvm_unreachable("loadi16 should have returned");
1008 }
1009 case GICXXPred_MI_Predicate_loadi32: {
1010
1011 auto &Load = cast<GLoad>(MI);
1012 LLT Ty = MRI.getType(Load.getDstReg());
1013 // Non extending load has MMO and destination types of the same size
1014 if (Load.getMemSizeInBits() == Ty.getSizeInBits())
1015 return true;
1016 return Load.getAlign() >= 4 && Load.isSimple();
1017
1018 llvm_unreachable("loadi32 should have returned");
1019 }
1020 }
1021 llvm_unreachable("Unknown predicate");
1022 return false;
1023}
1024// PatFrag predicates.
1025bool X86InstructionSelector::testMOPredicate_MO(unsigned PredicateID, const MachineOperand & MO, const MatcherState &State) const {
1026 const auto &Operands = State.RecordedOperands;
1027 Register Reg = MO.getReg();
1028 (void)Operands;
1029 (void)Reg;
1030 llvm_unreachable("Unknown predicate");
1031 return false;
1032}
1033// PatFrag predicates.
1034enum {
1035 GICXXPred_I64_Predicate_AndMask64 = GICXXPred_Invalid + 1,
1036 GICXXPred_I64_Predicate_BTCBTSMask64,
1037 GICXXPred_I64_Predicate_BTRMask64,
1038 GICXXPred_I64_Predicate_i16immSExt8,
1039 GICXXPred_I64_Predicate_i32immSExt8,
1040 GICXXPred_I64_Predicate_i64immSExt8,
1041 GICXXPred_I64_Predicate_i64immSExt32,
1042 GICXXPred_I64_Predicate_i64immZExt32,
1043 GICXXPred_I64_Predicate_i64immZExt32SExt8,
1044 GICXXPred_I64_Predicate_i64timmSExt32,
1045 GICXXPred_I64_Predicate_immff00_ffff,
1046};
1047bool X86InstructionSelector::testImmPredicate_I64(unsigned PredicateID, int64_t Imm) const {
1048 switch (PredicateID) {
1049 case GICXXPred_I64_Predicate_AndMask64: {
1050
1051 return isMask_64(Imm) && !isUInt<32>(Imm);
1052
1053 }
1054 case GICXXPred_I64_Predicate_BTCBTSMask64: {
1055
1056 return !isInt<32>(Imm) && isPowerOf2_64(Imm);
1057
1058 }
1059 case GICXXPred_I64_Predicate_BTRMask64: {
1060
1061 return !isUInt<32>(Imm) && !isInt<32>(Imm) && isPowerOf2_64(~Imm);
1062
1063 }
1064 case GICXXPred_I64_Predicate_i16immSExt8: {
1065 return isInt<8>(Imm);
1066 }
1067 case GICXXPred_I64_Predicate_i32immSExt8: {
1068 return isInt<8>(Imm);
1069 }
1070 case GICXXPred_I64_Predicate_i64immSExt8: {
1071 return isInt<8>(Imm);
1072 }
1073 case GICXXPred_I64_Predicate_i64immSExt32: {
1074 return isInt<32>(Imm);
1075 }
1076 case GICXXPred_I64_Predicate_i64immZExt32: {
1077 return isUInt<32>(Imm);
1078 }
1079 case GICXXPred_I64_Predicate_i64immZExt32SExt8: {
1080
1081 return isUInt<32>(Imm) && isInt<8>(static_cast<int32_t>(Imm));
1082
1083 }
1084 case GICXXPred_I64_Predicate_i64timmSExt32: {
1085 return isInt<32>(Imm);
1086 }
1087 case GICXXPred_I64_Predicate_immff00_ffff: {
1088
1089 return Imm >= 0xff00 && Imm <= 0xffff;
1090
1091 }
1092 }
1093 llvm_unreachable("Unknown predicate");
1094 return false;
1095}
1096// PatFrag predicates.
1097enum {
1098 GICXXPred_APFloat_Predicate_fpimm0 = GICXXPred_Invalid + 1,
1099 GICXXPred_APFloat_Predicate_fpimm1,
1100 GICXXPred_APFloat_Predicate_fpimmneg0,
1101 GICXXPred_APFloat_Predicate_fpimmneg1,
1102};
1103bool X86InstructionSelector::testImmPredicate_APFloat(unsigned PredicateID, const APFloat & Imm) const {
1104 switch (PredicateID) {
1105 case GICXXPred_APFloat_Predicate_fpimm0: {
1106
1107 return Imm.isExactlyValue(+0.0);
1108
1109 }
1110 case GICXXPred_APFloat_Predicate_fpimm1: {
1111
1112 return Imm.isExactlyValue(+1.0);
1113
1114 }
1115 case GICXXPred_APFloat_Predicate_fpimmneg0: {
1116
1117 return Imm.isExactlyValue(-0.0);
1118
1119 }
1120 case GICXXPred_APFloat_Predicate_fpimmneg1: {
1121
1122 return Imm.isExactlyValue(-1.0);
1123
1124 }
1125 }
1126 llvm_unreachable("Unknown predicate");
1127 return false;
1128}
1129// PatFrag predicates.
1130bool X86InstructionSelector::testImmPredicate_APInt(unsigned PredicateID, const APInt & Imm) const {
1131 llvm_unreachable("Unknown predicate");
1132 return false;
1133}
1134bool X86InstructionSelector::testSimplePredicate(unsigned) const {
1135 llvm_unreachable("X86InstructionSelector does not support simple predicates!");
1136 return false;
1137}
1138// Custom renderers.
1139enum {
1140 GICR_Invalid,
1141};
1142X86InstructionSelector::CustomRendererFn
1143X86InstructionSelector::CustomRenderers[] = {
1144 nullptr, // GICR_Invalid
1145};
1146
1147bool X86InstructionSelector::selectImpl(MachineInstr &I, CodeGenCoverage &CoverageInfo) const {
1148 const PredicateBitset AvailableFeatures = getAvailableFeatures();
1149 MachineIRBuilder B(I);
1150 State.MIs.clear();
1151 State.MIs.push_back(&I);
1152
1153 if (executeMatchTable(*this, State, ExecInfo, B, getMatchTable(), TII, MF->getRegInfo(), TRI, RBI, AvailableFeatures, &CoverageInfo)) {
1154 return true;
1155 }
1156
1157 return false;
1158}
1159
1160bool X86InstructionSelector::runCustomAction(unsigned, const MatcherState&, NewMIVector &) const {
1161 llvm_unreachable("X86InstructionSelector does not support custom C++ actions!");
1162}
1163#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
1164#define GIMT_Encode2(Val) uint8_t(Val), uint8_t((uint16_t)Val >> 8)
1165#define GIMT_Encode4(Val) uint8_t(Val), uint8_t((uint32_t)Val >> 8), uint8_t((uint32_t)Val >> 16), uint8_t((uint32_t)Val >> 24)
1166#define GIMT_Encode8(Val) uint8_t(Val), uint8_t((uint64_t)Val >> 8), uint8_t((uint64_t)Val >> 16), uint8_t((uint64_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)
1167#else
1168#define GIMT_Encode2(Val) uint8_t((uint16_t)Val >> 8), uint8_t(Val)
1169#define GIMT_Encode4(Val) uint8_t((uint32_t)Val >> 24), uint8_t((uint32_t)Val >> 16), uint8_t((uint32_t)Val >> 8), uint8_t(Val)
1170#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((uint64_t)Val >> 24), uint8_t((uint64_t)Val >> 16), uint8_t((uint64_t)Val >> 8), uint8_t(Val)
1171#endif
1172const uint8_t *X86InstructionSelector::getMatchTable() const {
1173 constexpr static uint8_t MatchTable0[] = {
1174 /* 0 */ GIM_SwitchOpcode, /*MI*/0, /*[*/GIMT_Encode2(53), GIMT_Encode2(341), /*)*//*default:*//*Label 79*/ GIMT_Encode4(236799),
1175 /* 10 */ /*TargetOpcode::G_ADD*//*Label 0*/ GIMT_Encode4(1162),
1176 /* 14 */ /*TargetOpcode::G_SUB*//*Label 1*/ GIMT_Encode4(7395),
1177 /* 18 */ /*TargetOpcode::G_MUL*//*Label 2*/ GIMT_Encode4(10931), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1178 /* 46 */ /*TargetOpcode::G_AND*//*Label 3*/ GIMT_Encode4(14714),
1179 /* 50 */ /*TargetOpcode::G_OR*//*Label 4*/ GIMT_Encode4(25306),
1180 /* 54 */ /*TargetOpcode::G_XOR*//*Label 5*/ GIMT_Encode4(33710), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1181 /* 114 */ /*TargetOpcode::G_CONCAT_VECTORS*//*Label 6*/ GIMT_Encode4(46411), GIMT_Encode4(0), GIMT_Encode4(0),
1182 /* 126 */ /*TargetOpcode::G_BITCAST*//*Label 7*/ GIMT_Encode4(46578), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1183 /* 150 */ /*TargetOpcode::G_INTRINSIC_LRINT*//*Label 8*/ GIMT_Encode4(48868),
1184 /* 154 */ /*TargetOpcode::G_INTRINSIC_LLRINT*//*Label 9*/ GIMT_Encode4(52046), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1185 /* 170 */ /*TargetOpcode::G_LOAD*//*Label 10*/ GIMT_Encode4(53266),
1186 /* 174 */ /*TargetOpcode::G_SEXTLOAD*//*Label 11*/ GIMT_Encode4(59491),
1187 /* 178 */ /*TargetOpcode::G_ZEXTLOAD*//*Label 12*/ GIMT_Encode4(59824), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1188 /* 194 */ /*TargetOpcode::G_STORE*//*Label 13*/ GIMT_Encode4(60479), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1189 /* 210 */ /*TargetOpcode::G_ATOMICRMW_XCHG*//*Label 14*/ GIMT_Encode4(85942),
1190 /* 214 */ /*TargetOpcode::G_ATOMICRMW_ADD*//*Label 15*/ GIMT_Encode4(86178), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1191 /* 298 */ /*TargetOpcode::G_PREFETCH*//*Label 16*/ GIMT_Encode4(86426), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1192 /* 314 */ /*TargetOpcode::G_INTRINSIC*//*Label 17*/ GIMT_Encode4(86745),
1193 /* 318 */ /*TargetOpcode::G_INTRINSIC_W_SIDE_EFFECTS*//*Label 18*/ GIMT_Encode4(100571), GIMT_Encode4(0), GIMT_Encode4(0),
1194 /* 330 */ /*TargetOpcode::G_ANYEXT*//*Label 19*/ GIMT_Encode4(109646),
1195 /* 334 */ /*TargetOpcode::G_TRUNC*//*Label 20*/ GIMT_Encode4(110081),
1196 /* 338 */ /*TargetOpcode::G_CONSTANT*//*Label 21*/ GIMT_Encode4(111170),
1197 /* 342 */ /*TargetOpcode::G_FCONSTANT*//*Label 22*/ GIMT_Encode4(111776), GIMT_Encode4(0), GIMT_Encode4(0),
1198 /* 354 */ /*TargetOpcode::G_SEXT*//*Label 23*/ GIMT_Encode4(112229),
1199 /* 358 */ /*TargetOpcode::G_SEXT_INREG*//*Label 24*/ GIMT_Encode4(113901),
1200 /* 362 */ /*TargetOpcode::G_ZEXT*//*Label 25*/ GIMT_Encode4(114143),
1201 /* 366 */ /*TargetOpcode::G_SHL*//*Label 26*/ GIMT_Encode4(116127),
1202 /* 370 */ /*TargetOpcode::G_LSHR*//*Label 27*/ GIMT_Encode4(118411),
1203 /* 374 */ /*TargetOpcode::G_ASHR*//*Label 28*/ GIMT_Encode4(120455),
1204 /* 378 */ /*TargetOpcode::G_FSHL*//*Label 29*/ GIMT_Encode4(122499),
1205 /* 382 */ /*TargetOpcode::G_FSHR*//*Label 30*/ GIMT_Encode4(123227),
1206 /* 386 */ /*TargetOpcode::G_ROTR*//*Label 31*/ GIMT_Encode4(123915),
1207 /* 390 */ /*TargetOpcode::G_ROTL*//*Label 32*/ GIMT_Encode4(127413),
1208 /* 394 */ /*TargetOpcode::G_ICMP*//*Label 33*/ GIMT_Encode4(131133), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1209 /* 410 */ /*TargetOpcode::G_SELECT*//*Label 34*/ GIMT_Encode4(132790), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1210 /* 454 */ /*TargetOpcode::G_UMULH*//*Label 35*/ GIMT_Encode4(140456),
1211 /* 458 */ /*TargetOpcode::G_SMULH*//*Label 36*/ GIMT_Encode4(141321),
1212 /* 462 */ /*TargetOpcode::G_UADDSAT*//*Label 37*/ GIMT_Encode4(142186),
1213 /* 466 */ /*TargetOpcode::G_SADDSAT*//*Label 38*/ GIMT_Encode4(143872),
1214 /* 470 */ /*TargetOpcode::G_USUBSAT*//*Label 39*/ GIMT_Encode4(145558),
1215 /* 474 */ /*TargetOpcode::G_SSUBSAT*//*Label 40*/ GIMT_Encode4(146624), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1216 /* 518 */ /*TargetOpcode::G_FADD*//*Label 41*/ GIMT_Encode4(147690),
1217 /* 522 */ /*TargetOpcode::G_FSUB*//*Label 42*/ GIMT_Encode4(153604),
1218 /* 526 */ /*TargetOpcode::G_FMUL*//*Label 43*/ GIMT_Encode4(157786),
1219 /* 530 */ /*TargetOpcode::G_FMA*//*Label 44*/ GIMT_Encode4(163700), GIMT_Encode4(0),
1220 /* 538 */ /*TargetOpcode::G_FDIV*//*Label 45*/ GIMT_Encode4(169688), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1221 /* 586 */ /*TargetOpcode::G_FNEG*//*Label 46*/ GIMT_Encode4(173870),
1222 /* 590 */ /*TargetOpcode::G_FPEXT*//*Label 47*/ GIMT_Encode4(173993),
1223 /* 594 */ /*TargetOpcode::G_FPTRUNC*//*Label 48*/ GIMT_Encode4(174925),
1224 /* 598 */ /*TargetOpcode::G_FPTOSI*//*Label 49*/ GIMT_Encode4(175311),
1225 /* 602 */ /*TargetOpcode::G_FPTOUI*//*Label 50*/ GIMT_Encode4(176692),
1226 /* 606 */ /*TargetOpcode::G_SITOFP*//*Label 51*/ GIMT_Encode4(177248),
1227 /* 610 */ /*TargetOpcode::G_UITOFP*//*Label 52*/ GIMT_Encode4(180624), GIMT_Encode4(0), GIMT_Encode4(0),
1228 /* 622 */ /*TargetOpcode::G_FABS*//*Label 53*/ GIMT_Encode4(182871), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), 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 /* 702 */ /*TargetOpcode::G_SMIN*//*Label 54*/ GIMT_Encode4(182994),
1230 /* 706 */ /*TargetOpcode::G_SMAX*//*Label 55*/ GIMT_Encode4(186315),
1231 /* 710 */ /*TargetOpcode::G_UMIN*//*Label 56*/ GIMT_Encode4(189636),
1232 /* 714 */ /*TargetOpcode::G_UMAX*//*Label 57*/ GIMT_Encode4(192957),
1233 /* 718 */ /*TargetOpcode::G_ABS*//*Label 58*/ GIMT_Encode4(196278), GIMT_Encode4(0), GIMT_Encode4(0),
1234 /* 730 */ /*TargetOpcode::G_BR*//*Label 59*/ GIMT_Encode4(198159), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1235 /* 746 */ /*TargetOpcode::G_EXTRACT_SUBVECTOR*//*Label 60*/ GIMT_Encode4(198175), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1236 /* 770 */ /*TargetOpcode::G_VECTOR_COMPRESS*//*Label 61*/ GIMT_Encode4(201104),
1237 /* 774 */ /*TargetOpcode::G_CTTZ*//*Label 62*/ GIMT_Encode4(203086),
1238 /* 778 */ /*TargetOpcode::G_CTTZ_ZERO_UNDEF*//*Label 63*/ GIMT_Encode4(203392),
1239 /* 782 */ /*TargetOpcode::G_CTLZ*//*Label 64*/ GIMT_Encode4(203779), GIMT_Encode4(0),
1240 /* 790 */ /*TargetOpcode::G_CTPOP*//*Label 65*/ GIMT_Encode4(205083),
1241 /* 794 */ /*TargetOpcode::G_BSWAP*//*Label 66*/ GIMT_Encode4(207345), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1242 /* 850 */ /*TargetOpcode::G_FSQRT*//*Label 67*/ GIMT_Encode4(207845), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1243 /* 890 */ /*TargetOpcode::G_STRICT_FADD*//*Label 68*/ GIMT_Encode4(210014),
1244 /* 894 */ /*TargetOpcode::G_STRICT_FSUB*//*Label 69*/ GIMT_Encode4(214944),
1245 /* 898 */ /*TargetOpcode::G_STRICT_FMUL*//*Label 70*/ GIMT_Encode4(218634),
1246 /* 902 */ /*TargetOpcode::G_STRICT_FDIV*//*Label 71*/ GIMT_Encode4(223564), GIMT_Encode4(0),
1247 /* 910 */ /*TargetOpcode::G_STRICT_FMA*//*Label 72*/ GIMT_Encode4(227254),
1248 /* 914 */ /*TargetOpcode::G_STRICT_FSQRT*//*Label 73*/ GIMT_Encode4(233242), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1249 /* 950 */ /*TargetOpcode::G_TRAP*//*Label 74*/ GIMT_Encode4(235411),
1250 /* 954 */ /*TargetOpcode::G_DEBUGTRAP*//*Label 75*/ GIMT_Encode4(235424),
1251 /* 958 */ /*TargetOpcode::G_UBSANTRAP*//*Label 76*/ GIMT_Encode4(235460), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1252 /* 1154 */ /*X86::G_FILD*//*Label 77*/ GIMT_Encode4(235476),
1253 /* 1158 */ /*X86::G_FIST*//*Label 78*/ GIMT_Encode4(235935),
1254 /* 1162 */ // Label 0: @1162
1255 /* 1162 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(25), /*)*//*default:*//*Label 96*/ GIMT_Encode4(7394),
1256 /* 1173 */ /*GILLT_s8*//*Label 80*/ GIMT_Encode4(1269),
1257 /* 1177 */ /*GILLT_s16*//*Label 81*/ GIMT_Encode4(1774),
1258 /* 1181 */ /*GILLT_s32*//*Label 82*/ GIMT_Encode4(2424),
1259 /* 1185 */ /*GILLT_s64*//*Label 83*/ GIMT_Encode4(3074), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1260 /* 1201 */ /*GILLT_v2s64*//*Label 84*/ GIMT_Encode4(3898), GIMT_Encode4(0),
1261 /* 1209 */ /*GILLT_v4s32*//*Label 85*/ GIMT_Encode4(4240),
1262 /* 1213 */ /*GILLT_v4s64*//*Label 86*/ GIMT_Encode4(4704), GIMT_Encode4(0),
1263 /* 1221 */ /*GILLT_v8s16*//*Label 87*/ GIMT_Encode4(5019),
1264 /* 1225 */ /*GILLT_v8s32*//*Label 88*/ GIMT_Encode4(5483),
1265 /* 1229 */ /*GILLT_v8s64*//*Label 89*/ GIMT_Encode4(5798), GIMT_Encode4(0),
1266 /* 1237 */ /*GILLT_v16s8*//*Label 90*/ GIMT_Encode4(5954),
1267 /* 1241 */ /*GILLT_v16s16*//*Label 91*/ GIMT_Encode4(6296),
1268 /* 1245 */ /*GILLT_v16s32*//*Label 92*/ GIMT_Encode4(6611), GIMT_Encode4(0),
1269 /* 1253 */ /*GILLT_v32s8*//*Label 93*/ GIMT_Encode4(6767),
1270 /* 1257 */ /*GILLT_v32s16*//*Label 94*/ GIMT_Encode4(7082), GIMT_Encode4(0),
1271 /* 1265 */ /*GILLT_v64s8*//*Label 95*/ GIMT_Encode4(7238),
1272 /* 1269 */ // Label 80: @1269
1273 /* 1269 */ GIM_Try, /*On fail goto*//*Label 97*/ GIMT_Encode4(1773),
1274 /* 1274 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
1275 /* 1277 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
1276 /* 1280 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1277 /* 1284 */ GIM_Try, /*On fail goto*//*Label 98*/ GIMT_Encode4(1345), // Rule ID 26054 //
1278 /* 1289 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1279 /* 1292 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1280 /* 1296 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1281 /* 1300 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1282 /* 1303 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1283 /* 1307 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
1284 /* 1311 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1285 /* 1315 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1286 /* 1317 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1287 /* 1324 */ // (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)
1288 /* 1324 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8rm),
1289 /* 1327 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1290 /* 1329 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
1291 /* 1331 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1292 /* 1335 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1293 /* 1338 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1294 /* 1343 */ GIR_RootConstrainSelectedInstOperands,
1295 /* 1344 */ // GIR_Coverage, 26054,
1296 /* 1344 */ GIR_EraseRootFromParent_Done,
1297 /* 1345 */ // Label 98: @1345
1298 /* 1345 */ GIM_Try, /*On fail goto*//*Label 99*/ GIMT_Encode4(1406), // Rule ID 26073 //
1299 /* 1350 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1300 /* 1353 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1301 /* 1357 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1302 /* 1361 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1303 /* 1364 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1304 /* 1368 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
1305 /* 1372 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1306 /* 1376 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1307 /* 1378 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1308 /* 1385 */ // (add:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, GR8:{ *:[i8] }:$src1) => (ADD8rm_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, addr:{ *:[iPTR] }:$src2)
1309 /* 1385 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8rm_ND),
1310 /* 1388 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1311 /* 1390 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
1312 /* 1392 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1313 /* 1396 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1314 /* 1399 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1315 /* 1404 */ GIR_RootConstrainSelectedInstOperands,
1316 /* 1405 */ // GIR_Coverage, 26073,
1317 /* 1405 */ GIR_EraseRootFromParent_Done,
1318 /* 1406 */ // Label 99: @1406
1319 /* 1406 */ GIM_Try, /*On fail goto*//*Label 100*/ GIMT_Encode4(1467), // Rule ID 22796 //
1320 /* 1411 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1321 /* 1414 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1322 /* 1418 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1323 /* 1422 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1324 /* 1426 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1325 /* 1429 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1326 /* 1433 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
1327 /* 1437 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1328 /* 1439 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1329 /* 1446 */ // (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)
1330 /* 1446 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8rm),
1331 /* 1449 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1332 /* 1451 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1333 /* 1453 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1334 /* 1457 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1335 /* 1460 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1336 /* 1465 */ GIR_RootConstrainSelectedInstOperands,
1337 /* 1466 */ // GIR_Coverage, 22796,
1338 /* 1466 */ GIR_EraseRootFromParent_Done,
1339 /* 1467 */ // Label 100: @1467
1340 /* 1467 */ GIM_Try, /*On fail goto*//*Label 101*/ GIMT_Encode4(1528), // Rule ID 22886 //
1341 /* 1472 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1342 /* 1475 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1343 /* 1479 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1344 /* 1483 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1345 /* 1487 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1346 /* 1490 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1347 /* 1494 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
1348 /* 1498 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1349 /* 1500 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1350 /* 1507 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src1, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>) => (ADD8rm_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, addr:{ *:[iPTR] }:$src2)
1351 /* 1507 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8rm_ND),
1352 /* 1510 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1353 /* 1512 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1354 /* 1514 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1355 /* 1518 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1356 /* 1521 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1357 /* 1526 */ GIR_RootConstrainSelectedInstOperands,
1358 /* 1527 */ // GIR_Coverage, 22886,
1359 /* 1527 */ GIR_EraseRootFromParent_Done,
1360 /* 1528 */ // Label 101: @1528
1361 /* 1528 */ GIM_Try, /*On fail goto*//*Label 102*/ GIMT_Encode4(1556), // Rule ID 22862 //
1362 /* 1533 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_UseIncDec),
1363 /* 1536 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1364 /* 1540 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1365 /* 1544 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src, 1:{ *:[i8] }) => (INC8r:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src)
1366 /* 1544 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC8r),
1367 /* 1547 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1368 /* 1549 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1369 /* 1551 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1370 /* 1554 */ GIR_RootConstrainSelectedInstOperands,
1371 /* 1555 */ // GIR_Coverage, 22862,
1372 /* 1555 */ GIR_EraseRootFromParent_Done,
1373 /* 1556 */ // Label 102: @1556
1374 /* 1556 */ GIM_Try, /*On fail goto*//*Label 103*/ GIMT_Encode4(1584), // Rule ID 22866 //
1375 /* 1561 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_UseIncDec),
1376 /* 1564 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1377 /* 1568 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, uint8_t(-1),
1378 /* 1572 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src, -1:{ *:[i8] }) => (DEC8r:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src)
1379 /* 1572 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC8r),
1380 /* 1575 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1381 /* 1577 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1382 /* 1579 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1383 /* 1582 */ GIR_RootConstrainSelectedInstOperands,
1384 /* 1583 */ // GIR_Coverage, 22866,
1385 /* 1583 */ GIR_EraseRootFromParent_Done,
1386 /* 1584 */ // Label 103: @1584
1387 /* 1584 */ GIM_Try, /*On fail goto*//*Label 104*/ GIMT_Encode4(1612), // Rule ID 22952 //
1388 /* 1589 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_UseIncDec),
1389 /* 1592 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1390 /* 1596 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1391 /* 1600 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src, 1:{ *:[i8] }) => (INC8r_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src)
1392 /* 1600 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC8r_ND),
1393 /* 1603 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1394 /* 1605 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1395 /* 1607 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1396 /* 1610 */ GIR_RootConstrainSelectedInstOperands,
1397 /* 1611 */ // GIR_Coverage, 22952,
1398 /* 1611 */ GIR_EraseRootFromParent_Done,
1399 /* 1612 */ // Label 104: @1612
1400 /* 1612 */ GIM_Try, /*On fail goto*//*Label 105*/ GIMT_Encode4(1640), // Rule ID 22956 //
1401 /* 1617 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_UseIncDec),
1402 /* 1620 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1403 /* 1624 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, uint8_t(-1),
1404 /* 1628 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src, -1:{ *:[i8] }) => (DEC8r_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src)
1405 /* 1628 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC8r_ND),
1406 /* 1631 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1407 /* 1633 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1408 /* 1635 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1409 /* 1638 */ GIR_RootConstrainSelectedInstOperands,
1410 /* 1639 */ // GIR_Coverage, 22956,
1411 /* 1639 */ GIR_EraseRootFromParent_Done,
1412 /* 1640 */ // Label 105: @1640
1413 /* 1640 */ GIM_Try, /*On fail goto*//*Label 106*/ GIMT_Encode4(1677), // Rule ID 22800 //
1414 /* 1645 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1415 /* 1648 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1416 /* 1652 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1417 /* 1656 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1418 /* 1660 */ // MIs[1] Operand 1
1419 /* 1660 */ // No operand predicates
1420 /* 1660 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1421 /* 1662 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (ADD8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
1422 /* 1662 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8ri),
1423 /* 1665 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1424 /* 1667 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1425 /* 1669 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
1426 /* 1672 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1427 /* 1675 */ GIR_RootConstrainSelectedInstOperands,
1428 /* 1676 */ // GIR_Coverage, 22800,
1429 /* 1676 */ GIR_EraseRootFromParent_Done,
1430 /* 1677 */ // Label 106: @1677
1431 /* 1677 */ GIM_Try, /*On fail goto*//*Label 107*/ GIMT_Encode4(1714), // Rule ID 22890 //
1432 /* 1682 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1433 /* 1685 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1434 /* 1689 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1435 /* 1693 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1436 /* 1697 */ // MIs[1] Operand 1
1437 /* 1697 */ // No operand predicates
1438 /* 1697 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1439 /* 1699 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (ADD8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
1440 /* 1699 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8ri_ND),
1441 /* 1702 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1442 /* 1704 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1443 /* 1706 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
1444 /* 1709 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1445 /* 1712 */ GIR_RootConstrainSelectedInstOperands,
1446 /* 1713 */ // GIR_Coverage, 22890,
1447 /* 1713 */ GIR_EraseRootFromParent_Done,
1448 /* 1714 */ // Label 107: @1714
1449 /* 1714 */ GIM_Try, /*On fail goto*//*Label 108*/ GIMT_Encode4(1743), // Rule ID 22792 //
1450 /* 1719 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1451 /* 1722 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1452 /* 1726 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1453 /* 1730 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (ADD8rr:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
1454 /* 1730 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD8rr),
1455 /* 1735 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
1456 /* 1741 */ GIR_RootConstrainSelectedInstOperands,
1457 /* 1742 */ // GIR_Coverage, 22792,
1458 /* 1742 */ GIR_Done,
1459 /* 1743 */ // Label 108: @1743
1460 /* 1743 */ GIM_Try, /*On fail goto*//*Label 109*/ GIMT_Encode4(1772), // Rule ID 22882 //
1461 /* 1748 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1462 /* 1751 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1463 /* 1755 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1464 /* 1759 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (ADD8rr_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
1465 /* 1759 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD8rr_ND),
1466 /* 1764 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
1467 /* 1770 */ GIR_RootConstrainSelectedInstOperands,
1468 /* 1771 */ // GIR_Coverage, 22882,
1469 /* 1771 */ GIR_Done,
1470 /* 1772 */ // Label 109: @1772
1471 /* 1772 */ GIM_Reject,
1472 /* 1773 */ // Label 97: @1773
1473 /* 1773 */ GIM_Reject,
1474 /* 1774 */ // Label 81: @1774
1475 /* 1774 */ GIM_Try, /*On fail goto*//*Label 110*/ GIMT_Encode4(2423),
1476 /* 1779 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
1477 /* 1782 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
1478 /* 1785 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1479 /* 1789 */ GIM_Try, /*On fail goto*//*Label 111*/ GIMT_Encode4(1858), // Rule ID 22617 //
1480 /* 1794 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1481 /* 1797 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1482 /* 1801 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1483 /* 1805 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1484 /* 1808 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1485 /* 1812 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
1486 /* 1816 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(128),
1487 /* 1827 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1488 /* 1829 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1489 /* 1836 */ // (add:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, 128:{ *:[i16] }) => (SUB16mi_ND:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src, -128:{ *:[i16] })
1490 /* 1836 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16mi_ND),
1491 /* 1839 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1492 /* 1841 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
1493 /* 1845 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/uint8_t(-128),
1494 /* 1848 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1495 /* 1851 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1496 /* 1856 */ GIR_RootConstrainSelectedInstOperands,
1497 /* 1857 */ // GIR_Coverage, 22617,
1498 /* 1857 */ GIR_EraseRootFromParent_Done,
1499 /* 1858 */ // Label 111: @1858
1500 /* 1858 */ GIM_Try, /*On fail goto*//*Label 112*/ GIMT_Encode4(1919), // Rule ID 26055 //
1501 /* 1863 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1502 /* 1866 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1503 /* 1870 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1504 /* 1874 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1505 /* 1877 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1506 /* 1881 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
1507 /* 1885 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1508 /* 1889 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1509 /* 1891 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1510 /* 1898 */ // (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)
1511 /* 1898 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16rm),
1512 /* 1901 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1513 /* 1903 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
1514 /* 1905 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1515 /* 1909 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1516 /* 1912 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1517 /* 1917 */ GIR_RootConstrainSelectedInstOperands,
1518 /* 1918 */ // GIR_Coverage, 26055,
1519 /* 1918 */ GIR_EraseRootFromParent_Done,
1520 /* 1919 */ // Label 112: @1919
1521 /* 1919 */ GIM_Try, /*On fail goto*//*Label 113*/ GIMT_Encode4(1980), // Rule ID 26074 //
1522 /* 1924 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1523 /* 1927 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1524 /* 1931 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1525 /* 1935 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1526 /* 1938 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1527 /* 1942 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
1528 /* 1946 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1529 /* 1950 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1530 /* 1952 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1531 /* 1959 */ // (add:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, GR16:{ *:[i16] }:$src1) => (ADD16rm_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, addr:{ *:[iPTR] }:$src2)
1532 /* 1959 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16rm_ND),
1533 /* 1962 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1534 /* 1964 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
1535 /* 1966 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1536 /* 1970 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1537 /* 1973 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1538 /* 1978 */ GIR_RootConstrainSelectedInstOperands,
1539 /* 1979 */ // GIR_Coverage, 26074,
1540 /* 1979 */ GIR_EraseRootFromParent_Done,
1541 /* 1980 */ // Label 113: @1980
1542 /* 1980 */ GIM_Try, /*On fail goto*//*Label 114*/ GIMT_Encode4(2041), // Rule ID 22797 //
1543 /* 1985 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1544 /* 1988 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1545 /* 1992 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1546 /* 1996 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1547 /* 2000 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1548 /* 2003 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1549 /* 2007 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
1550 /* 2011 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1551 /* 2013 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1552 /* 2020 */ // (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)
1553 /* 2020 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16rm),
1554 /* 2023 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1555 /* 2025 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1556 /* 2027 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1557 /* 2031 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1558 /* 2034 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1559 /* 2039 */ GIR_RootConstrainSelectedInstOperands,
1560 /* 2040 */ // GIR_Coverage, 22797,
1561 /* 2040 */ GIR_EraseRootFromParent_Done,
1562 /* 2041 */ // Label 114: @2041
1563 /* 2041 */ GIM_Try, /*On fail goto*//*Label 115*/ GIMT_Encode4(2102), // Rule ID 22887 //
1564 /* 2046 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1565 /* 2049 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1566 /* 2053 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1567 /* 2057 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1568 /* 2061 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1569 /* 2064 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1570 /* 2068 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
1571 /* 2072 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1572 /* 2074 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1573 /* 2081 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src1, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (ADD16rm_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, addr:{ *:[iPTR] }:$src2)
1574 /* 2081 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16rm_ND),
1575 /* 2084 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1576 /* 2086 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1577 /* 2088 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1578 /* 2092 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1579 /* 2095 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1580 /* 2100 */ GIR_RootConstrainSelectedInstOperands,
1581 /* 2101 */ // GIR_Coverage, 22887,
1582 /* 2101 */ GIR_EraseRootFromParent_Done,
1583 /* 2102 */ // Label 115: @2102
1584 /* 2102 */ GIM_Try, /*On fail goto*//*Label 116*/ GIMT_Encode4(2140), // Rule ID 22602 //
1585 /* 2107 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1586 /* 2110 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1587 /* 2114 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(128),
1588 /* 2125 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src1, 128:{ *:[i16] }) => (SUB16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, -128:{ *:[i16] })
1589 /* 2125 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16ri),
1590 /* 2128 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1591 /* 2130 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1592 /* 2132 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/uint8_t(-128),
1593 /* 2135 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1594 /* 2138 */ GIR_RootConstrainSelectedInstOperands,
1595 /* 2139 */ // GIR_Coverage, 22602,
1596 /* 2139 */ GIR_EraseRootFromParent_Done,
1597 /* 2140 */ // Label 116: @2140
1598 /* 2140 */ GIM_Try, /*On fail goto*//*Label 117*/ GIMT_Encode4(2178), // Rule ID 22608 //
1599 /* 2145 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1600 /* 2148 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1601 /* 2152 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(128),
1602 /* 2163 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src1, 128:{ *:[i16] }) => (SUB16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, -128:{ *:[i16] })
1603 /* 2163 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16ri_ND),
1604 /* 2166 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1605 /* 2168 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1606 /* 2170 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/uint8_t(-128),
1607 /* 2173 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1608 /* 2176 */ GIR_RootConstrainSelectedInstOperands,
1609 /* 2177 */ // GIR_Coverage, 22608,
1610 /* 2177 */ GIR_EraseRootFromParent_Done,
1611 /* 2178 */ // Label 117: @2178
1612 /* 2178 */ GIM_Try, /*On fail goto*//*Label 118*/ GIMT_Encode4(2206), // Rule ID 22863 //
1613 /* 2183 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_UseIncDec),
1614 /* 2186 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1615 /* 2190 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1616 /* 2194 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src, 1:{ *:[i16] }) => (INC16r:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src)
1617 /* 2194 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC16r),
1618 /* 2197 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1619 /* 2199 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1620 /* 2201 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1621 /* 2204 */ GIR_RootConstrainSelectedInstOperands,
1622 /* 2205 */ // GIR_Coverage, 22863,
1623 /* 2205 */ GIR_EraseRootFromParent_Done,
1624 /* 2206 */ // Label 118: @2206
1625 /* 2206 */ GIM_Try, /*On fail goto*//*Label 119*/ GIMT_Encode4(2234), // Rule ID 22867 //
1626 /* 2211 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_UseIncDec),
1627 /* 2214 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1628 /* 2218 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, uint8_t(-1),
1629 /* 2222 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src, -1:{ *:[i16] }) => (DEC16r:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src)
1630 /* 2222 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC16r),
1631 /* 2225 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1632 /* 2227 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1633 /* 2229 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1634 /* 2232 */ GIR_RootConstrainSelectedInstOperands,
1635 /* 2233 */ // GIR_Coverage, 22867,
1636 /* 2233 */ GIR_EraseRootFromParent_Done,
1637 /* 2234 */ // Label 119: @2234
1638 /* 2234 */ GIM_Try, /*On fail goto*//*Label 120*/ GIMT_Encode4(2262), // Rule ID 22953 //
1639 /* 2239 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_UseIncDec),
1640 /* 2242 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1641 /* 2246 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1642 /* 2250 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src, 1:{ *:[i16] }) => (INC16r_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src)
1643 /* 2250 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC16r_ND),
1644 /* 2253 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1645 /* 2255 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1646 /* 2257 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1647 /* 2260 */ GIR_RootConstrainSelectedInstOperands,
1648 /* 2261 */ // GIR_Coverage, 22953,
1649 /* 2261 */ GIR_EraseRootFromParent_Done,
1650 /* 2262 */ // Label 120: @2262
1651 /* 2262 */ GIM_Try, /*On fail goto*//*Label 121*/ GIMT_Encode4(2290), // Rule ID 22957 //
1652 /* 2267 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_UseIncDec),
1653 /* 2270 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1654 /* 2274 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, uint8_t(-1),
1655 /* 2278 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src, -1:{ *:[i16] }) => (DEC16r_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src)
1656 /* 2278 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC16r_ND),
1657 /* 2281 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1658 /* 2283 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1659 /* 2285 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1660 /* 2288 */ GIR_RootConstrainSelectedInstOperands,
1661 /* 2289 */ // GIR_Coverage, 22957,
1662 /* 2289 */ GIR_EraseRootFromParent_Done,
1663 /* 2290 */ // Label 121: @2290
1664 /* 2290 */ GIM_Try, /*On fail goto*//*Label 122*/ GIMT_Encode4(2327), // Rule ID 22801 //
1665 /* 2295 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1666 /* 2298 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1667 /* 2302 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1668 /* 2306 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1669 /* 2310 */ // MIs[1] Operand 1
1670 /* 2310 */ // No operand predicates
1671 /* 2310 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1672 /* 2312 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (ADD16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
1673 /* 2312 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16ri),
1674 /* 2315 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1675 /* 2317 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1676 /* 2319 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
1677 /* 2322 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1678 /* 2325 */ GIR_RootConstrainSelectedInstOperands,
1679 /* 2326 */ // GIR_Coverage, 22801,
1680 /* 2326 */ GIR_EraseRootFromParent_Done,
1681 /* 2327 */ // Label 122: @2327
1682 /* 2327 */ GIM_Try, /*On fail goto*//*Label 123*/ GIMT_Encode4(2364), // Rule ID 22891 //
1683 /* 2332 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1684 /* 2335 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1685 /* 2339 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1686 /* 2343 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1687 /* 2347 */ // MIs[1] Operand 1
1688 /* 2347 */ // No operand predicates
1689 /* 2347 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1690 /* 2349 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (ADD16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
1691 /* 2349 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16ri_ND),
1692 /* 2352 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1693 /* 2354 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1694 /* 2356 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
1695 /* 2359 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1696 /* 2362 */ GIR_RootConstrainSelectedInstOperands,
1697 /* 2363 */ // GIR_Coverage, 22891,
1698 /* 2363 */ GIR_EraseRootFromParent_Done,
1699 /* 2364 */ // Label 123: @2364
1700 /* 2364 */ GIM_Try, /*On fail goto*//*Label 124*/ GIMT_Encode4(2393), // Rule ID 22793 //
1701 /* 2369 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1702 /* 2372 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1703 /* 2376 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1704 /* 2380 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (ADD16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
1705 /* 2380 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD16rr),
1706 /* 2385 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
1707 /* 2391 */ GIR_RootConstrainSelectedInstOperands,
1708 /* 2392 */ // GIR_Coverage, 22793,
1709 /* 2392 */ GIR_Done,
1710 /* 2393 */ // Label 124: @2393
1711 /* 2393 */ GIM_Try, /*On fail goto*//*Label 125*/ GIMT_Encode4(2422), // Rule ID 22883 //
1712 /* 2398 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1713 /* 2401 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1714 /* 2405 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1715 /* 2409 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (ADD16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
1716 /* 2409 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD16rr_ND),
1717 /* 2414 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
1718 /* 2420 */ GIR_RootConstrainSelectedInstOperands,
1719 /* 2421 */ // GIR_Coverage, 22883,
1720 /* 2421 */ GIR_Done,
1721 /* 2422 */ // Label 125: @2422
1722 /* 2422 */ GIM_Reject,
1723 /* 2423 */ // Label 110: @2423
1724 /* 2423 */ GIM_Reject,
1725 /* 2424 */ // Label 82: @2424
1726 /* 2424 */ GIM_Try, /*On fail goto*//*Label 126*/ GIMT_Encode4(3073),
1727 /* 2429 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
1728 /* 2432 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
1729 /* 2435 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1730 /* 2439 */ GIM_Try, /*On fail goto*//*Label 127*/ GIMT_Encode4(2508), // Rule ID 22618 //
1731 /* 2444 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1732 /* 2447 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1733 /* 2451 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1734 /* 2455 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1735 /* 2458 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1736 /* 2462 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
1737 /* 2466 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(128),
1738 /* 2477 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1739 /* 2479 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1740 /* 2486 */ // (add:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, 128:{ *:[i32] }) => (SUB32mi_ND:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src, -128:{ *:[i32] })
1741 /* 2486 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32mi_ND),
1742 /* 2489 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1743 /* 2491 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
1744 /* 2495 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/uint8_t(-128),
1745 /* 2498 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1746 /* 2501 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1747 /* 2506 */ GIR_RootConstrainSelectedInstOperands,
1748 /* 2507 */ // GIR_Coverage, 22618,
1749 /* 2507 */ GIR_EraseRootFromParent_Done,
1750 /* 2508 */ // Label 127: @2508
1751 /* 2508 */ GIM_Try, /*On fail goto*//*Label 128*/ GIMT_Encode4(2569), // Rule ID 26056 //
1752 /* 2513 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1753 /* 2516 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1754 /* 2520 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1755 /* 2524 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1756 /* 2527 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1757 /* 2531 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
1758 /* 2535 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1759 /* 2539 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1760 /* 2541 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1761 /* 2548 */ // (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)
1762 /* 2548 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32rm),
1763 /* 2551 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1764 /* 2553 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
1765 /* 2555 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1766 /* 2559 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1767 /* 2562 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1768 /* 2567 */ GIR_RootConstrainSelectedInstOperands,
1769 /* 2568 */ // GIR_Coverage, 26056,
1770 /* 2568 */ GIR_EraseRootFromParent_Done,
1771 /* 2569 */ // Label 128: @2569
1772 /* 2569 */ GIM_Try, /*On fail goto*//*Label 129*/ GIMT_Encode4(2630), // Rule ID 26075 //
1773 /* 2574 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1774 /* 2577 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1775 /* 2581 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1776 /* 2585 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1777 /* 2588 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1778 /* 2592 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
1779 /* 2596 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1780 /* 2600 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1781 /* 2602 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1782 /* 2609 */ // (add:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, GR32:{ *:[i32] }:$src1) => (ADD32rm_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
1783 /* 2609 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32rm_ND),
1784 /* 2612 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1785 /* 2614 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
1786 /* 2616 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1787 /* 2620 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1788 /* 2623 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1789 /* 2628 */ GIR_RootConstrainSelectedInstOperands,
1790 /* 2629 */ // GIR_Coverage, 26075,
1791 /* 2629 */ GIR_EraseRootFromParent_Done,
1792 /* 2630 */ // Label 129: @2630
1793 /* 2630 */ GIM_Try, /*On fail goto*//*Label 130*/ GIMT_Encode4(2691), // Rule ID 22798 //
1794 /* 2635 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1795 /* 2638 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1796 /* 2642 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1797 /* 2646 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1798 /* 2650 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1799 /* 2653 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1800 /* 2657 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
1801 /* 2661 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1802 /* 2663 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1803 /* 2670 */ // (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)
1804 /* 2670 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32rm),
1805 /* 2673 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1806 /* 2675 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1807 /* 2677 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1808 /* 2681 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1809 /* 2684 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1810 /* 2689 */ GIR_RootConstrainSelectedInstOperands,
1811 /* 2690 */ // GIR_Coverage, 22798,
1812 /* 2690 */ GIR_EraseRootFromParent_Done,
1813 /* 2691 */ // Label 130: @2691
1814 /* 2691 */ GIM_Try, /*On fail goto*//*Label 131*/ GIMT_Encode4(2752), // Rule ID 22888 //
1815 /* 2696 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1816 /* 2699 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1817 /* 2703 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1818 /* 2707 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1819 /* 2711 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1820 /* 2714 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1821 /* 2718 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
1822 /* 2722 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1823 /* 2724 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1824 /* 2731 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src1, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (ADD32rm_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
1825 /* 2731 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32rm_ND),
1826 /* 2734 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1827 /* 2736 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1828 /* 2738 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1829 /* 2742 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1830 /* 2745 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1831 /* 2750 */ GIR_RootConstrainSelectedInstOperands,
1832 /* 2751 */ // GIR_Coverage, 22888,
1833 /* 2751 */ GIR_EraseRootFromParent_Done,
1834 /* 2752 */ // Label 131: @2752
1835 /* 2752 */ GIM_Try, /*On fail goto*//*Label 132*/ GIMT_Encode4(2790), // Rule ID 22603 //
1836 /* 2757 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1837 /* 2760 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1838 /* 2764 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(128),
1839 /* 2775 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src1, 128:{ *:[i32] }) => (SUB32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, -128:{ *:[i32] })
1840 /* 2775 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32ri),
1841 /* 2778 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1842 /* 2780 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1843 /* 2782 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/uint8_t(-128),
1844 /* 2785 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1845 /* 2788 */ GIR_RootConstrainSelectedInstOperands,
1846 /* 2789 */ // GIR_Coverage, 22603,
1847 /* 2789 */ GIR_EraseRootFromParent_Done,
1848 /* 2790 */ // Label 132: @2790
1849 /* 2790 */ GIM_Try, /*On fail goto*//*Label 133*/ GIMT_Encode4(2828), // Rule ID 22609 //
1850 /* 2795 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1851 /* 2798 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1852 /* 2802 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(128),
1853 /* 2813 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src1, 128:{ *:[i32] }) => (SUB32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, -128:{ *:[i32] })
1854 /* 2813 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32ri_ND),
1855 /* 2816 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1856 /* 2818 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1857 /* 2820 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/uint8_t(-128),
1858 /* 2823 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1859 /* 2826 */ GIR_RootConstrainSelectedInstOperands,
1860 /* 2827 */ // GIR_Coverage, 22609,
1861 /* 2827 */ GIR_EraseRootFromParent_Done,
1862 /* 2828 */ // Label 133: @2828
1863 /* 2828 */ GIM_Try, /*On fail goto*//*Label 134*/ GIMT_Encode4(2856), // Rule ID 22864 //
1864 /* 2833 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_UseIncDec),
1865 /* 2836 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1866 /* 2840 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1867 /* 2844 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }) => (INC32r:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
1868 /* 2844 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC32r),
1869 /* 2847 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1870 /* 2849 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1871 /* 2851 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1872 /* 2854 */ GIR_RootConstrainSelectedInstOperands,
1873 /* 2855 */ // GIR_Coverage, 22864,
1874 /* 2855 */ GIR_EraseRootFromParent_Done,
1875 /* 2856 */ // Label 134: @2856
1876 /* 2856 */ GIM_Try, /*On fail goto*//*Label 135*/ GIMT_Encode4(2884), // Rule ID 22868 //
1877 /* 2861 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_UseIncDec),
1878 /* 2864 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1879 /* 2868 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, uint8_t(-1),
1880 /* 2872 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }) => (DEC32r:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
1881 /* 2872 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC32r),
1882 /* 2875 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1883 /* 2877 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1884 /* 2879 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1885 /* 2882 */ GIR_RootConstrainSelectedInstOperands,
1886 /* 2883 */ // GIR_Coverage, 22868,
1887 /* 2883 */ GIR_EraseRootFromParent_Done,
1888 /* 2884 */ // Label 135: @2884
1889 /* 2884 */ GIM_Try, /*On fail goto*//*Label 136*/ GIMT_Encode4(2912), // Rule ID 22954 //
1890 /* 2889 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_UseIncDec),
1891 /* 2892 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1892 /* 2896 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1893 /* 2900 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }) => (INC32r_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
1894 /* 2900 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC32r_ND),
1895 /* 2903 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1896 /* 2905 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1897 /* 2907 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1898 /* 2910 */ GIR_RootConstrainSelectedInstOperands,
1899 /* 2911 */ // GIR_Coverage, 22954,
1900 /* 2911 */ GIR_EraseRootFromParent_Done,
1901 /* 2912 */ // Label 136: @2912
1902 /* 2912 */ GIM_Try, /*On fail goto*//*Label 137*/ GIMT_Encode4(2940), // Rule ID 22958 //
1903 /* 2917 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_UseIncDec),
1904 /* 2920 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1905 /* 2924 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, uint8_t(-1),
1906 /* 2928 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }) => (DEC32r_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
1907 /* 2928 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC32r_ND),
1908 /* 2931 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1909 /* 2933 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1910 /* 2935 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1911 /* 2938 */ GIR_RootConstrainSelectedInstOperands,
1912 /* 2939 */ // GIR_Coverage, 22958,
1913 /* 2939 */ GIR_EraseRootFromParent_Done,
1914 /* 2940 */ // Label 137: @2940
1915 /* 2940 */ GIM_Try, /*On fail goto*//*Label 138*/ GIMT_Encode4(2977), // Rule ID 22802 //
1916 /* 2945 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1917 /* 2948 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1918 /* 2952 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1919 /* 2956 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1920 /* 2960 */ // MIs[1] Operand 1
1921 /* 2960 */ // No operand predicates
1922 /* 2960 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1923 /* 2962 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (ADD32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
1924 /* 2962 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32ri),
1925 /* 2965 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1926 /* 2967 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1927 /* 2969 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
1928 /* 2972 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1929 /* 2975 */ GIR_RootConstrainSelectedInstOperands,
1930 /* 2976 */ // GIR_Coverage, 22802,
1931 /* 2976 */ GIR_EraseRootFromParent_Done,
1932 /* 2977 */ // Label 138: @2977
1933 /* 2977 */ GIM_Try, /*On fail goto*//*Label 139*/ GIMT_Encode4(3014), // Rule ID 22892 //
1934 /* 2982 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1935 /* 2985 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1936 /* 2989 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1937 /* 2993 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1938 /* 2997 */ // MIs[1] Operand 1
1939 /* 2997 */ // No operand predicates
1940 /* 2997 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1941 /* 2999 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (ADD32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
1942 /* 2999 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32ri_ND),
1943 /* 3002 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1944 /* 3004 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1945 /* 3006 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
1946 /* 3009 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1947 /* 3012 */ GIR_RootConstrainSelectedInstOperands,
1948 /* 3013 */ // GIR_Coverage, 22892,
1949 /* 3013 */ GIR_EraseRootFromParent_Done,
1950 /* 3014 */ // Label 139: @3014
1951 /* 3014 */ GIM_Try, /*On fail goto*//*Label 140*/ GIMT_Encode4(3043), // Rule ID 22794 //
1952 /* 3019 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1953 /* 3022 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1954 /* 3026 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1955 /* 3030 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (ADD32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
1956 /* 3030 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD32rr),
1957 /* 3035 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
1958 /* 3041 */ GIR_RootConstrainSelectedInstOperands,
1959 /* 3042 */ // GIR_Coverage, 22794,
1960 /* 3042 */ GIR_Done,
1961 /* 3043 */ // Label 140: @3043
1962 /* 3043 */ GIM_Try, /*On fail goto*//*Label 141*/ GIMT_Encode4(3072), // Rule ID 22884 //
1963 /* 3048 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1964 /* 3051 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1965 /* 3055 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1966 /* 3059 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (ADD32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
1967 /* 3059 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD32rr_ND),
1968 /* 3064 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
1969 /* 3070 */ GIR_RootConstrainSelectedInstOperands,
1970 /* 3071 */ // GIR_Coverage, 22884,
1971 /* 3071 */ GIR_Done,
1972 /* 3072 */ // Label 141: @3072
1973 /* 3072 */ GIM_Reject,
1974 /* 3073 */ // Label 126: @3073
1975 /* 3073 */ GIM_Reject,
1976 /* 3074 */ // Label 83: @3074
1977 /* 3074 */ GIM_Try, /*On fail goto*//*Label 142*/ GIMT_Encode4(3897),
1978 /* 3079 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
1979 /* 3082 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
1980 /* 3085 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
1981 /* 3089 */ GIM_Try, /*On fail goto*//*Label 143*/ GIMT_Encode4(3158), // Rule ID 22619 //
1982 /* 3094 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1983 /* 3097 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1984 /* 3101 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1985 /* 3105 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1986 /* 3108 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
1987 /* 3112 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1988 /* 3116 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(128),
1989 /* 3127 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1990 /* 3129 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1991 /* 3136 */ // (add:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>, 128:{ *:[i64] }) => (SUB64mi32_ND:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src, -128:{ *:[i64] })
1992 /* 3136 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64mi32_ND),
1993 /* 3139 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1994 /* 3141 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
1995 /* 3145 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/uint8_t(-128),
1996 /* 3148 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1997 /* 3151 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1998 /* 3156 */ GIR_RootConstrainSelectedInstOperands,
1999 /* 3157 */ // GIR_Coverage, 22619,
2000 /* 3157 */ GIR_EraseRootFromParent_Done,
2001 /* 3158 */ // Label 143: @3158
2002 /* 3158 */ GIM_Try, /*On fail goto*//*Label 144*/ GIMT_Encode4(3234), // Rule ID 22625 //
2003 /* 3163 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
2004 /* 3166 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2005 /* 3170 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2006 /* 3174 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2007 /* 3177 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2008 /* 3181 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2009 /* 3185 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(2147483648),
2010 /* 3196 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2011 /* 3198 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2012 /* 3205 */ // (add:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>, 2147483648:{ *:[i64] }) => (SUB64mi32_ND:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src, -2147483648:{ *:[i64] })
2013 /* 3205 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64mi32_ND),
2014 /* 3208 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2015 /* 3210 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
2016 /* 3214 */ GIR_AddImm, /*InsnID*/0, /*Imm*/GIMT_Encode8(-2147483648),
2017 /* 3224 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
2018 /* 3227 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2019 /* 3232 */ GIR_RootConstrainSelectedInstOperands,
2020 /* 3233 */ // GIR_Coverage, 22625,
2021 /* 3233 */ GIR_EraseRootFromParent_Done,
2022 /* 3234 */ // Label 144: @3234
2023 /* 3234 */ GIM_Try, /*On fail goto*//*Label 145*/ GIMT_Encode4(3295), // Rule ID 26057 //
2024 /* 3239 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
2025 /* 3242 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2026 /* 3246 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2027 /* 3250 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2028 /* 3253 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2029 /* 3257 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2030 /* 3261 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2031 /* 3265 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2032 /* 3267 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2033 /* 3274 */ // (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)
2034 /* 3274 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64rm),
2035 /* 3277 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2036 /* 3279 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2037 /* 3281 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2038 /* 3285 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
2039 /* 3288 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2040 /* 3293 */ GIR_RootConstrainSelectedInstOperands,
2041 /* 3294 */ // GIR_Coverage, 26057,
2042 /* 3294 */ GIR_EraseRootFromParent_Done,
2043 /* 3295 */ // Label 145: @3295
2044 /* 3295 */ GIM_Try, /*On fail goto*//*Label 146*/ GIMT_Encode4(3356), // Rule ID 26076 //
2045 /* 3300 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
2046 /* 3303 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2047 /* 3307 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2048 /* 3311 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2049 /* 3314 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2050 /* 3318 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2051 /* 3322 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2052 /* 3326 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2053 /* 3328 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2054 /* 3335 */ // (add:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR64:{ *:[i64] }:$src1) => (ADD64rm_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
2055 /* 3335 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64rm_ND),
2056 /* 3338 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2057 /* 3340 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2058 /* 3342 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2059 /* 3346 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
2060 /* 3349 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2061 /* 3354 */ GIR_RootConstrainSelectedInstOperands,
2062 /* 3355 */ // GIR_Coverage, 26076,
2063 /* 3355 */ GIR_EraseRootFromParent_Done,
2064 /* 3356 */ // Label 146: @3356
2065 /* 3356 */ GIM_Try, /*On fail goto*//*Label 147*/ GIMT_Encode4(3417), // Rule ID 22799 //
2066 /* 3361 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
2067 /* 3364 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2068 /* 3368 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2069 /* 3372 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2070 /* 3376 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2071 /* 3379 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2072 /* 3383 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2073 /* 3387 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2074 /* 3389 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2075 /* 3396 */ // (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)
2076 /* 3396 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64rm),
2077 /* 3399 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2078 /* 3401 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2079 /* 3403 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2080 /* 3407 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
2081 /* 3410 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2082 /* 3415 */ GIR_RootConstrainSelectedInstOperands,
2083 /* 3416 */ // GIR_Coverage, 22799,
2084 /* 3416 */ GIR_EraseRootFromParent_Done,
2085 /* 3417 */ // Label 147: @3417
2086 /* 3417 */ GIM_Try, /*On fail goto*//*Label 148*/ GIMT_Encode4(3478), // Rule ID 22889 //
2087 /* 3422 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
2088 /* 3425 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2089 /* 3429 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2090 /* 3433 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2091 /* 3437 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2092 /* 3440 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2093 /* 3444 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2094 /* 3448 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2095 /* 3450 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2096 /* 3457 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (ADD64rm_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
2097 /* 3457 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64rm_ND),
2098 /* 3460 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2099 /* 3462 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2100 /* 3464 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2101 /* 3468 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
2102 /* 3471 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2103 /* 3476 */ GIR_RootConstrainSelectedInstOperands,
2104 /* 3477 */ // GIR_Coverage, 22889,
2105 /* 3477 */ GIR_EraseRootFromParent_Done,
2106 /* 3478 */ // Label 148: @3478
2107 /* 3478 */ GIM_Try, /*On fail goto*//*Label 149*/ GIMT_Encode4(3516), // Rule ID 22604 //
2108 /* 3483 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
2109 /* 3486 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2110 /* 3490 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(128),
2111 /* 3501 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, 128:{ *:[i64] }) => (SUB64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, -128:{ *:[i64] })
2112 /* 3501 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64ri32),
2113 /* 3504 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2114 /* 3506 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2115 /* 3508 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/uint8_t(-128),
2116 /* 3511 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
2117 /* 3514 */ GIR_RootConstrainSelectedInstOperands,
2118 /* 3515 */ // GIR_Coverage, 22604,
2119 /* 3515 */ GIR_EraseRootFromParent_Done,
2120 /* 3516 */ // Label 149: @3516
2121 /* 3516 */ GIM_Try, /*On fail goto*//*Label 150*/ GIMT_Encode4(3554), // Rule ID 22610 //
2122 /* 3521 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
2123 /* 3524 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2124 /* 3528 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(128),
2125 /* 3539 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, 128:{ *:[i64] }) => (SUB64ri32_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, -128:{ *:[i64] })
2126 /* 3539 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64ri32_ND),
2127 /* 3542 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2128 /* 3544 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2129 /* 3546 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/uint8_t(-128),
2130 /* 3549 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
2131 /* 3552 */ GIR_RootConstrainSelectedInstOperands,
2132 /* 3553 */ // GIR_Coverage, 22610,
2133 /* 3553 */ GIR_EraseRootFromParent_Done,
2134 /* 3554 */ // Label 150: @3554
2135 /* 3554 */ GIM_Try, /*On fail goto*//*Label 151*/ GIMT_Encode4(3599), // Rule ID 22620 //
2136 /* 3559 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
2137 /* 3562 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2138 /* 3566 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(2147483648),
2139 /* 3577 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, 2147483648:{ *:[i64] }) => (SUB64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, -2147483648:{ *:[i64] })
2140 /* 3577 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64ri32),
2141 /* 3580 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2142 /* 3582 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2143 /* 3584 */ GIR_AddImm, /*InsnID*/0, /*Imm*/GIMT_Encode8(-2147483648),
2144 /* 3594 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
2145 /* 3597 */ GIR_RootConstrainSelectedInstOperands,
2146 /* 3598 */ // GIR_Coverage, 22620,
2147 /* 3598 */ GIR_EraseRootFromParent_Done,
2148 /* 3599 */ // Label 151: @3599
2149 /* 3599 */ GIM_Try, /*On fail goto*//*Label 152*/ GIMT_Encode4(3644), // Rule ID 22622 //
2150 /* 3604 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
2151 /* 3607 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2152 /* 3611 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(2147483648),
2153 /* 3622 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, 2147483648:{ *:[i64] }) => (SUB64ri32_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, -2147483648:{ *:[i64] })
2154 /* 3622 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64ri32_ND),
2155 /* 3625 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2156 /* 3627 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2157 /* 3629 */ GIR_AddImm, /*InsnID*/0, /*Imm*/GIMT_Encode8(-2147483648),
2158 /* 3639 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
2159 /* 3642 */ GIR_RootConstrainSelectedInstOperands,
2160 /* 3643 */ // GIR_Coverage, 22622,
2161 /* 3643 */ GIR_EraseRootFromParent_Done,
2162 /* 3644 */ // Label 152: @3644
2163 /* 3644 */ GIM_Try, /*On fail goto*//*Label 153*/ GIMT_Encode4(3672), // Rule ID 22865 //
2164 /* 3649 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_UseIncDec),
2165 /* 3652 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2166 /* 3656 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
2167 /* 3660 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }) => (INC64r:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
2168 /* 3660 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC64r),
2169 /* 3663 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2170 /* 3665 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
2171 /* 3667 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
2172 /* 3670 */ GIR_RootConstrainSelectedInstOperands,
2173 /* 3671 */ // GIR_Coverage, 22865,
2174 /* 3671 */ GIR_EraseRootFromParent_Done,
2175 /* 3672 */ // Label 153: @3672
2176 /* 3672 */ GIM_Try, /*On fail goto*//*Label 154*/ GIMT_Encode4(3700), // Rule ID 22869 //
2177 /* 3677 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_UseIncDec),
2178 /* 3680 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2179 /* 3684 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, uint8_t(-1),
2180 /* 3688 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }) => (DEC64r:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
2181 /* 3688 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC64r),
2182 /* 3691 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2183 /* 3693 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
2184 /* 3695 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
2185 /* 3698 */ GIR_RootConstrainSelectedInstOperands,
2186 /* 3699 */ // GIR_Coverage, 22869,
2187 /* 3699 */ GIR_EraseRootFromParent_Done,
2188 /* 3700 */ // Label 154: @3700
2189 /* 3700 */ GIM_Try, /*On fail goto*//*Label 155*/ GIMT_Encode4(3728), // Rule ID 22955 //
2190 /* 3705 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_UseIncDec),
2191 /* 3708 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2192 /* 3712 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
2193 /* 3716 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }) => (INC64r_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
2194 /* 3716 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC64r_ND),
2195 /* 3719 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2196 /* 3721 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
2197 /* 3723 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
2198 /* 3726 */ GIR_RootConstrainSelectedInstOperands,
2199 /* 3727 */ // GIR_Coverage, 22955,
2200 /* 3727 */ GIR_EraseRootFromParent_Done,
2201 /* 3728 */ // Label 155: @3728
2202 /* 3728 */ GIM_Try, /*On fail goto*//*Label 156*/ GIMT_Encode4(3756), // Rule ID 22959 //
2203 /* 3733 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_UseIncDec),
2204 /* 3736 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2205 /* 3740 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, uint8_t(-1),
2206 /* 3744 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }) => (DEC64r_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
2207 /* 3744 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC64r_ND),
2208 /* 3747 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2209 /* 3749 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
2210 /* 3751 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
2211 /* 3754 */ GIR_RootConstrainSelectedInstOperands,
2212 /* 3755 */ // GIR_Coverage, 22959,
2213 /* 3755 */ GIR_EraseRootFromParent_Done,
2214 /* 3756 */ // Label 156: @3756
2215 /* 3756 */ GIM_Try, /*On fail goto*//*Label 157*/ GIMT_Encode4(3797), // Rule ID 22803 //
2216 /* 3761 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
2217 /* 3764 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2218 /* 3768 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2219 /* 3772 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
2220 /* 3776 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
2221 /* 3780 */ // MIs[1] Operand 1
2222 /* 3780 */ // No operand predicates
2223 /* 3780 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2224 /* 3782 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (ADD64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
2225 /* 3782 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64ri32),
2226 /* 3785 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2227 /* 3787 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2228 /* 3789 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
2229 /* 3792 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
2230 /* 3795 */ GIR_RootConstrainSelectedInstOperands,
2231 /* 3796 */ // GIR_Coverage, 22803,
2232 /* 3796 */ GIR_EraseRootFromParent_Done,
2233 /* 3797 */ // Label 157: @3797
2234 /* 3797 */ GIM_Try, /*On fail goto*//*Label 158*/ GIMT_Encode4(3838), // Rule ID 22893 //
2235 /* 3802 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
2236 /* 3805 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2237 /* 3809 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2238 /* 3813 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
2239 /* 3817 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
2240 /* 3821 */ // MIs[1] Operand 1
2241 /* 3821 */ // No operand predicates
2242 /* 3821 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2243 /* 3823 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (ADD64ri32_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
2244 /* 3823 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64ri32_ND),
2245 /* 3826 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2246 /* 3828 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2247 /* 3830 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
2248 /* 3833 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
2249 /* 3836 */ GIR_RootConstrainSelectedInstOperands,
2250 /* 3837 */ // GIR_Coverage, 22893,
2251 /* 3837 */ GIR_EraseRootFromParent_Done,
2252 /* 3838 */ // Label 158: @3838
2253 /* 3838 */ GIM_Try, /*On fail goto*//*Label 159*/ GIMT_Encode4(3867), // Rule ID 22795 //
2254 /* 3843 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
2255 /* 3846 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2256 /* 3850 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2257 /* 3854 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (ADD64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
2258 /* 3854 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD64rr),
2259 /* 3859 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
2260 /* 3865 */ GIR_RootConstrainSelectedInstOperands,
2261 /* 3866 */ // GIR_Coverage, 22795,
2262 /* 3866 */ GIR_Done,
2263 /* 3867 */ // Label 159: @3867
2264 /* 3867 */ GIM_Try, /*On fail goto*//*Label 160*/ GIMT_Encode4(3896), // Rule ID 22885 //
2265 /* 3872 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
2266 /* 3875 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2267 /* 3879 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2268 /* 3883 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (ADD64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
2269 /* 3883 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD64rr_ND),
2270 /* 3888 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
2271 /* 3894 */ GIR_RootConstrainSelectedInstOperands,
2272 /* 3895 */ // GIR_Coverage, 22885,
2273 /* 3895 */ GIR_Done,
2274 /* 3896 */ // Label 160: @3896
2275 /* 3896 */ GIM_Reject,
2276 /* 3897 */ // Label 142: @3897
2277 /* 3897 */ GIM_Reject,
2278 /* 3898 */ // Label 84: @3898
2279 /* 3898 */ GIM_Try, /*On fail goto*//*Label 161*/ GIMT_Encode4(4239),
2280 /* 3903 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
2281 /* 3906 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
2282 /* 3909 */ GIM_Try, /*On fail goto*//*Label 162*/ GIMT_Encode4(3971), // Rule ID 23438 //
2283 /* 3914 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
2284 /* 3917 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2285 /* 3921 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2286 /* 3925 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2287 /* 3929 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2288 /* 3932 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2289 /* 3936 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2290 /* 3940 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2291 /* 3944 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2292 /* 3946 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2293 /* 3953 */ // (add:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2i64] }:$src1) => (VPADDQrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
2294 /* 3953 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQrm),
2295 /* 3956 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2296 /* 3958 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2297 /* 3960 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2298 /* 3964 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2299 /* 3969 */ GIR_RootConstrainSelectedInstOperands,
2300 /* 3970 */ // GIR_Coverage, 23438,
2301 /* 3970 */ GIR_EraseRootFromParent_Done,
2302 /* 3971 */ // Label 162: @3971
2303 /* 3971 */ GIM_Try, /*On fail goto*//*Label 163*/ GIMT_Encode4(4033), // Rule ID 23708 //
2304 /* 3976 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2305 /* 3979 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2306 /* 3983 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2307 /* 3987 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2308 /* 3991 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2309 /* 3994 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2310 /* 3998 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2311 /* 4002 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2312 /* 4006 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2313 /* 4008 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2314 /* 4015 */ // (add:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPADDQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
2315 /* 4015 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQZ128rm),
2316 /* 4018 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2317 /* 4020 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2318 /* 4022 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2319 /* 4026 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2320 /* 4031 */ GIR_RootConstrainSelectedInstOperands,
2321 /* 4032 */ // GIR_Coverage, 23708,
2322 /* 4032 */ GIR_EraseRootFromParent_Done,
2323 /* 4033 */ // Label 163: @4033
2324 /* 4033 */ GIM_Try, /*On fail goto*//*Label 164*/ GIMT_Encode4(4095), // Rule ID 2541 //
2325 /* 4038 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
2326 /* 4041 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2327 /* 4045 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2328 /* 4049 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2329 /* 4053 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2330 /* 4057 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2331 /* 4060 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2332 /* 4064 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2333 /* 4068 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2334 /* 4070 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2335 /* 4077 */ // (add:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDQrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
2336 /* 4077 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQrm),
2337 /* 4080 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2338 /* 4082 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2339 /* 4084 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2340 /* 4088 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2341 /* 4093 */ GIR_RootConstrainSelectedInstOperands,
2342 /* 4094 */ // GIR_Coverage, 2541,
2343 /* 4094 */ GIR_EraseRootFromParent_Done,
2344 /* 4095 */ // Label 164: @4095
2345 /* 4095 */ GIM_Try, /*On fail goto*//*Label 165*/ GIMT_Encode4(4157), // Rule ID 4654 //
2346 /* 4100 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2347 /* 4103 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2348 /* 4107 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2349 /* 4111 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2350 /* 4115 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2351 /* 4119 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2352 /* 4122 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2353 /* 4126 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2354 /* 4130 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2355 /* 4132 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2356 /* 4139 */ // (add:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
2357 /* 4139 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQZ128rm),
2358 /* 4142 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2359 /* 4144 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2360 /* 4146 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2361 /* 4150 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2362 /* 4155 */ GIR_RootConstrainSelectedInstOperands,
2363 /* 4156 */ // GIR_Coverage, 4654,
2364 /* 4156 */ GIR_EraseRootFromParent_Done,
2365 /* 4157 */ // Label 165: @4157
2366 /* 4157 */ GIM_Try, /*On fail goto*//*Label 166*/ GIMT_Encode4(4184), // Rule ID 2540 //
2367 /* 4162 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
2368 /* 4165 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2369 /* 4169 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2370 /* 4173 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2371 /* 4177 */ // (add:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPADDQrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
2372 /* 4177 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDQrr),
2373 /* 4182 */ GIR_RootConstrainSelectedInstOperands,
2374 /* 4183 */ // GIR_Coverage, 2540,
2375 /* 4183 */ GIR_Done,
2376 /* 4184 */ // Label 166: @4184
2377 /* 4184 */ GIM_Try, /*On fail goto*//*Label 167*/ GIMT_Encode4(4211), // Rule ID 2542 //
2378 /* 4189 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
2379 /* 4192 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2380 /* 4196 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2381 /* 4200 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2382 /* 4204 */ // (add:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (PADDQrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
2383 /* 4204 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDQrr),
2384 /* 4209 */ GIR_RootConstrainSelectedInstOperands,
2385 /* 4210 */ // GIR_Coverage, 2542,
2386 /* 4210 */ GIR_Done,
2387 /* 4211 */ // Label 167: @4211
2388 /* 4211 */ GIM_Try, /*On fail goto*//*Label 168*/ GIMT_Encode4(4238), // Rule ID 4651 //
2389 /* 4216 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2390 /* 4219 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2391 /* 4223 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2392 /* 4227 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2393 /* 4231 */ // (add:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPADDQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
2394 /* 4231 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDQZ128rr),
2395 /* 4236 */ GIR_RootConstrainSelectedInstOperands,
2396 /* 4237 */ // GIR_Coverage, 4651,
2397 /* 4237 */ GIR_Done,
2398 /* 4238 */ // Label 168: @4238
2399 /* 4238 */ GIM_Reject,
2400 /* 4239 */ // Label 161: @4239
2401 /* 4239 */ GIM_Reject,
2402 /* 4240 */ // Label 85: @4240
2403 /* 4240 */ GIM_Try, /*On fail goto*//*Label 169*/ GIMT_Encode4(4703),
2404 /* 4245 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
2405 /* 4248 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
2406 /* 4251 */ GIM_Try, /*On fail goto*//*Label 170*/ GIMT_Encode4(4313), // Rule ID 23435 //
2407 /* 4256 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
2408 /* 4259 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2409 /* 4263 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2410 /* 4267 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2411 /* 4271 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2412 /* 4274 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2413 /* 4278 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2414 /* 4282 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2415 /* 4286 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2416 /* 4288 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2417 /* 4295 */ // (add:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPADDDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2418 /* 4295 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDrm),
2419 /* 4298 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2420 /* 4300 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2421 /* 4302 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2422 /* 4306 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2423 /* 4311 */ GIR_RootConstrainSelectedInstOperands,
2424 /* 4312 */ // GIR_Coverage, 23435,
2425 /* 4312 */ GIR_EraseRootFromParent_Done,
2426 /* 4313 */ // Label 170: @4313
2427 /* 4313 */ GIM_Try, /*On fail goto*//*Label 171*/ GIMT_Encode4(4375), // Rule ID 23726 //
2428 /* 4318 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2429 /* 4321 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2430 /* 4325 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2431 /* 4329 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2432 /* 4333 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2433 /* 4336 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2434 /* 4340 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2435 /* 4344 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2436 /* 4348 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2437 /* 4350 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2438 /* 4357 */ // (add:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPADDDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2439 /* 4357 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDZ128rm),
2440 /* 4360 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2441 /* 4362 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2442 /* 4364 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2443 /* 4368 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2444 /* 4373 */ GIR_RootConstrainSelectedInstOperands,
2445 /* 4374 */ // GIR_Coverage, 23726,
2446 /* 4374 */ GIR_EraseRootFromParent_Done,
2447 /* 4375 */ // Label 171: @4375
2448 /* 4375 */ GIM_Try, /*On fail goto*//*Label 172*/ GIMT_Encode4(4437), // Rule ID 2535 //
2449 /* 4380 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
2450 /* 4383 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2451 /* 4387 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2452 /* 4391 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2453 /* 4395 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2454 /* 4399 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2455 /* 4402 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2456 /* 4406 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2457 /* 4410 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2458 /* 4412 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2459 /* 4419 */ // (add:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2460 /* 4419 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDrm),
2461 /* 4422 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2462 /* 4424 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2463 /* 4426 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2464 /* 4430 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2465 /* 4435 */ GIR_RootConstrainSelectedInstOperands,
2466 /* 4436 */ // GIR_Coverage, 2535,
2467 /* 4436 */ GIR_EraseRootFromParent_Done,
2468 /* 4437 */ // Label 172: @4437
2469 /* 4437 */ GIM_Try, /*On fail goto*//*Label 173*/ GIMT_Encode4(4499), // Rule ID 4681 //
2470 /* 4442 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2471 /* 4445 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2472 /* 4449 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2473 /* 4453 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2474 /* 4457 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2475 /* 4461 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2476 /* 4464 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2477 /* 4468 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2478 /* 4472 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2479 /* 4474 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2480 /* 4481 */ // (add:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2481 /* 4481 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDZ128rm),
2482 /* 4484 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2483 /* 4486 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2484 /* 4488 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2485 /* 4492 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2486 /* 4497 */ GIR_RootConstrainSelectedInstOperands,
2487 /* 4498 */ // GIR_Coverage, 4681,
2488 /* 4498 */ GIR_EraseRootFromParent_Done,
2489 /* 4499 */ // Label 173: @4499
2490 /* 4499 */ GIM_Try, /*On fail goto*//*Label 174*/ GIMT_Encode4(4560), // Rule ID 17867 //
2491 /* 4504 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
2492 /* 4507 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2493 /* 4511 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2494 /* 4515 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
2495 /* 4519 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s32,
2496 /* 4523 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s32,
2497 /* 4527 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2498 /* 4532 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2499 /* 4537 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2500 /* 4541 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2501 /* 4543 */ // (add:{ *:[v4i32] } (mul:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2), VR128:{ *:[v4i32] }:$src3) => (VPMACSDDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3)
2502 /* 4543 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDDrr),
2503 /* 4546 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2504 /* 4548 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
2505 /* 4552 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
2506 /* 4556 */ GIR_RootToRootCopy, /*OpIdx*/2, // src3
2507 /* 4558 */ GIR_RootConstrainSelectedInstOperands,
2508 /* 4559 */ // GIR_Coverage, 17867,
2509 /* 4559 */ GIR_EraseRootFromParent_Done,
2510 /* 4560 */ // Label 174: @4560
2511 /* 4560 */ GIM_Try, /*On fail goto*//*Label 175*/ GIMT_Encode4(4621), // Rule ID 25190 //
2512 /* 4565 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
2513 /* 4568 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2514 /* 4572 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2515 /* 4576 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2516 /* 4580 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
2517 /* 4584 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s32,
2518 /* 4588 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s32,
2519 /* 4592 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2520 /* 4597 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2521 /* 4602 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2522 /* 4604 */ // (add:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src3, (mul:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)) => (VPMACSDDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3)
2523 /* 4604 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDDrr),
2524 /* 4607 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2525 /* 4609 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
2526 /* 4613 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
2527 /* 4617 */ GIR_RootToRootCopy, /*OpIdx*/1, // src3
2528 /* 4619 */ GIR_RootConstrainSelectedInstOperands,
2529 /* 4620 */ // GIR_Coverage, 25190,
2530 /* 4620 */ GIR_EraseRootFromParent_Done,
2531 /* 4621 */ // Label 175: @4621
2532 /* 4621 */ GIM_Try, /*On fail goto*//*Label 176*/ GIMT_Encode4(4648), // Rule ID 2534 //
2533 /* 4626 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
2534 /* 4629 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2535 /* 4633 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2536 /* 4637 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2537 /* 4641 */ // (add:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPADDDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
2538 /* 4641 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDDrr),
2539 /* 4646 */ GIR_RootConstrainSelectedInstOperands,
2540 /* 4647 */ // GIR_Coverage, 2534,
2541 /* 4647 */ GIR_Done,
2542 /* 4648 */ // Label 176: @4648
2543 /* 4648 */ GIM_Try, /*On fail goto*//*Label 177*/ GIMT_Encode4(4675), // Rule ID 2536 //
2544 /* 4653 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
2545 /* 4656 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2546 /* 4660 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2547 /* 4664 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2548 /* 4668 */ // (add:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PADDDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
2549 /* 4668 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDDrr),
2550 /* 4673 */ GIR_RootConstrainSelectedInstOperands,
2551 /* 4674 */ // GIR_Coverage, 2536,
2552 /* 4674 */ GIR_Done,
2553 /* 4675 */ // Label 177: @4675
2554 /* 4675 */ GIM_Try, /*On fail goto*//*Label 178*/ GIMT_Encode4(4702), // Rule ID 4678 //
2555 /* 4680 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2556 /* 4683 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2557 /* 4687 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2558 /* 4691 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2559 /* 4695 */ // (add:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPADDDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
2560 /* 4695 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDDZ128rr),
2561 /* 4700 */ GIR_RootConstrainSelectedInstOperands,
2562 /* 4701 */ // GIR_Coverage, 4678,
2563 /* 4701 */ GIR_Done,
2564 /* 4702 */ // Label 178: @4702
2565 /* 4702 */ GIM_Reject,
2566 /* 4703 */ // Label 169: @4703
2567 /* 4703 */ GIM_Reject,
2568 /* 4704 */ // Label 86: @4704
2569 /* 4704 */ GIM_Try, /*On fail goto*//*Label 179*/ GIMT_Encode4(5018),
2570 /* 4709 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
2571 /* 4712 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
2572 /* 4715 */ GIM_Try, /*On fail goto*//*Label 180*/ GIMT_Encode4(4777), // Rule ID 23440 //
2573 /* 4720 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
2574 /* 4723 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2575 /* 4727 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2576 /* 4731 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2577 /* 4735 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2578 /* 4738 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2579 /* 4742 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2580 /* 4746 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2581 /* 4750 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2582 /* 4752 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2583 /* 4759 */ // (add:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VPADDQYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
2584 /* 4759 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQYrm),
2585 /* 4762 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2586 /* 4764 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2587 /* 4766 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2588 /* 4770 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2589 /* 4775 */ GIR_RootConstrainSelectedInstOperands,
2590 /* 4776 */ // GIR_Coverage, 23440,
2591 /* 4776 */ GIR_EraseRootFromParent_Done,
2592 /* 4777 */ // Label 180: @4777
2593 /* 4777 */ GIM_Try, /*On fail goto*//*Label 181*/ GIMT_Encode4(4839), // Rule ID 23702 //
2594 /* 4782 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2595 /* 4785 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2596 /* 4789 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2597 /* 4793 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2598 /* 4797 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2599 /* 4800 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2600 /* 4804 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2601 /* 4808 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2602 /* 4812 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2603 /* 4814 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2604 /* 4821 */ // (add:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPADDQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
2605 /* 4821 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQZ256rm),
2606 /* 4824 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2607 /* 4826 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2608 /* 4828 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2609 /* 4832 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2610 /* 4837 */ GIR_RootConstrainSelectedInstOperands,
2611 /* 4838 */ // GIR_Coverage, 23702,
2612 /* 4838 */ GIR_EraseRootFromParent_Done,
2613 /* 4839 */ // Label 181: @4839
2614 /* 4839 */ GIM_Try, /*On fail goto*//*Label 182*/ GIMT_Encode4(4901), // Rule ID 2545 //
2615 /* 4844 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
2616 /* 4847 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2617 /* 4851 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2618 /* 4855 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2619 /* 4859 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2620 /* 4863 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2621 /* 4866 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2622 /* 4870 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2623 /* 4874 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2624 /* 4876 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2625 /* 4883 */ // (add:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDQYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
2626 /* 4883 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQYrm),
2627 /* 4886 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2628 /* 4888 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2629 /* 4890 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2630 /* 4894 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2631 /* 4899 */ GIR_RootConstrainSelectedInstOperands,
2632 /* 4900 */ // GIR_Coverage, 2545,
2633 /* 4900 */ GIR_EraseRootFromParent_Done,
2634 /* 4901 */ // Label 182: @4901
2635 /* 4901 */ GIM_Try, /*On fail goto*//*Label 183*/ GIMT_Encode4(4963), // Rule ID 4645 //
2636 /* 4906 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2637 /* 4909 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2638 /* 4913 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2639 /* 4917 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2640 /* 4921 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2641 /* 4925 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2642 /* 4928 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2643 /* 4932 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2644 /* 4936 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2645 /* 4938 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2646 /* 4945 */ // (add:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
2647 /* 4945 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQZ256rm),
2648 /* 4948 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2649 /* 4950 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2650 /* 4952 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2651 /* 4956 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2652 /* 4961 */ GIR_RootConstrainSelectedInstOperands,
2653 /* 4962 */ // GIR_Coverage, 4645,
2654 /* 4962 */ GIR_EraseRootFromParent_Done,
2655 /* 4963 */ // Label 183: @4963
2656 /* 4963 */ GIM_Try, /*On fail goto*//*Label 184*/ GIMT_Encode4(4990), // Rule ID 2544 //
2657 /* 4968 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
2658 /* 4971 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2659 /* 4975 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2660 /* 4979 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2661 /* 4983 */ // (add:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VPADDQYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
2662 /* 4983 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDQYrr),
2663 /* 4988 */ GIR_RootConstrainSelectedInstOperands,
2664 /* 4989 */ // GIR_Coverage, 2544,
2665 /* 4989 */ GIR_Done,
2666 /* 4990 */ // Label 184: @4990
2667 /* 4990 */ GIM_Try, /*On fail goto*//*Label 185*/ GIMT_Encode4(5017), // Rule ID 4642 //
2668 /* 4995 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2669 /* 4998 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2670 /* 5002 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2671 /* 5006 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2672 /* 5010 */ // (add:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPADDQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
2673 /* 5010 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDQZ256rr),
2674 /* 5015 */ GIR_RootConstrainSelectedInstOperands,
2675 /* 5016 */ // GIR_Coverage, 4642,
2676 /* 5016 */ GIR_Done,
2677 /* 5017 */ // Label 185: @5017
2678 /* 5017 */ GIM_Reject,
2679 /* 5018 */ // Label 179: @5018
2680 /* 5018 */ GIM_Reject,
2681 /* 5019 */ // Label 87: @5019
2682 /* 5019 */ GIM_Try, /*On fail goto*//*Label 186*/ GIMT_Encode4(5482),
2683 /* 5024 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
2684 /* 5027 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
2685 /* 5030 */ GIM_Try, /*On fail goto*//*Label 187*/ GIMT_Encode4(5092), // Rule ID 23432 //
2686 /* 5035 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
2687 /* 5038 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2688 /* 5042 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2689 /* 5046 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2690 /* 5050 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2691 /* 5053 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2692 /* 5057 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2693 /* 5061 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2694 /* 5065 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2695 /* 5067 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2696 /* 5074 */ // (add:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPADDWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2697 /* 5074 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWrm),
2698 /* 5077 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2699 /* 5079 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2700 /* 5081 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2701 /* 5085 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2702 /* 5090 */ GIR_RootConstrainSelectedInstOperands,
2703 /* 5091 */ // GIR_Coverage, 23432,
2704 /* 5091 */ GIR_EraseRootFromParent_Done,
2705 /* 5092 */ // Label 187: @5092
2706 /* 5092 */ GIM_Try, /*On fail goto*//*Label 188*/ GIMT_Encode4(5154), // Rule ID 23738 //
2707 /* 5097 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
2708 /* 5100 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2709 /* 5104 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2710 /* 5108 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2711 /* 5112 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2712 /* 5115 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2713 /* 5119 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2714 /* 5123 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2715 /* 5127 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2716 /* 5129 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2717 /* 5136 */ // (add:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPADDWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2718 /* 5136 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWZ128rm),
2719 /* 5139 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2720 /* 5141 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2721 /* 5143 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2722 /* 5147 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2723 /* 5152 */ GIR_RootConstrainSelectedInstOperands,
2724 /* 5153 */ // GIR_Coverage, 23738,
2725 /* 5153 */ GIR_EraseRootFromParent_Done,
2726 /* 5154 */ // Label 188: @5154
2727 /* 5154 */ GIM_Try, /*On fail goto*//*Label 189*/ GIMT_Encode4(5216), // Rule ID 2529 //
2728 /* 5159 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
2729 /* 5162 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2730 /* 5166 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2731 /* 5170 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2732 /* 5174 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2733 /* 5178 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2734 /* 5181 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2735 /* 5185 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2736 /* 5189 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2737 /* 5191 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2738 /* 5198 */ // (add:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2739 /* 5198 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWrm),
2740 /* 5201 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2741 /* 5203 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2742 /* 5205 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2743 /* 5209 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2744 /* 5214 */ GIR_RootConstrainSelectedInstOperands,
2745 /* 5215 */ // GIR_Coverage, 2529,
2746 /* 5215 */ GIR_EraseRootFromParent_Done,
2747 /* 5216 */ // Label 189: @5216
2748 /* 5216 */ GIM_Try, /*On fail goto*//*Label 190*/ GIMT_Encode4(5278), // Rule ID 4702 //
2749 /* 5221 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
2750 /* 5224 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2751 /* 5228 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2752 /* 5232 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2753 /* 5236 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2754 /* 5240 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2755 /* 5243 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2756 /* 5247 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2757 /* 5251 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2758 /* 5253 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2759 /* 5260 */ // (add:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2760 /* 5260 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWZ128rm),
2761 /* 5263 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2762 /* 5265 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2763 /* 5267 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2764 /* 5271 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2765 /* 5276 */ GIR_RootConstrainSelectedInstOperands,
2766 /* 5277 */ // GIR_Coverage, 4702,
2767 /* 5277 */ GIR_EraseRootFromParent_Done,
2768 /* 5278 */ // Label 190: @5278
2769 /* 5278 */ GIM_Try, /*On fail goto*//*Label 191*/ GIMT_Encode4(5339), // Rule ID 17866 //
2770 /* 5283 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
2771 /* 5286 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2772 /* 5290 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2773 /* 5294 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
2774 /* 5298 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s16,
2775 /* 5302 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s16,
2776 /* 5306 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2777 /* 5311 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2778 /* 5316 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2779 /* 5320 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2780 /* 5322 */ // (add:{ *:[v8i16] } (mul:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2), VR128:{ *:[v8i16] }:$src3) => (VPMACSWWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v8i16] }:$src3)
2781 /* 5322 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWWrr),
2782 /* 5325 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2783 /* 5327 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
2784 /* 5331 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
2785 /* 5335 */ GIR_RootToRootCopy, /*OpIdx*/2, // src3
2786 /* 5337 */ GIR_RootConstrainSelectedInstOperands,
2787 /* 5338 */ // GIR_Coverage, 17866,
2788 /* 5338 */ GIR_EraseRootFromParent_Done,
2789 /* 5339 */ // Label 191: @5339
2790 /* 5339 */ GIM_Try, /*On fail goto*//*Label 192*/ GIMT_Encode4(5400), // Rule ID 25189 //
2791 /* 5344 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
2792 /* 5347 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2793 /* 5351 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2794 /* 5355 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2795 /* 5359 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
2796 /* 5363 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s16,
2797 /* 5367 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s16,
2798 /* 5371 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2799 /* 5376 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2800 /* 5381 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2801 /* 5383 */ // (add:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src3, (mul:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)) => (VPMACSWWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v8i16] }:$src3)
2802 /* 5383 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWWrr),
2803 /* 5386 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2804 /* 5388 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
2805 /* 5392 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
2806 /* 5396 */ GIR_RootToRootCopy, /*OpIdx*/1, // src3
2807 /* 5398 */ GIR_RootConstrainSelectedInstOperands,
2808 /* 5399 */ // GIR_Coverage, 25189,
2809 /* 5399 */ GIR_EraseRootFromParent_Done,
2810 /* 5400 */ // Label 192: @5400
2811 /* 5400 */ GIM_Try, /*On fail goto*//*Label 193*/ GIMT_Encode4(5427), // Rule ID 2528 //
2812 /* 5405 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
2813 /* 5408 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2814 /* 5412 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2815 /* 5416 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2816 /* 5420 */ // (add:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPADDWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
2817 /* 5420 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDWrr),
2818 /* 5425 */ GIR_RootConstrainSelectedInstOperands,
2819 /* 5426 */ // GIR_Coverage, 2528,
2820 /* 5426 */ GIR_Done,
2821 /* 5427 */ // Label 193: @5427
2822 /* 5427 */ GIM_Try, /*On fail goto*//*Label 194*/ GIMT_Encode4(5454), // Rule ID 2530 //
2823 /* 5432 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
2824 /* 5435 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2825 /* 5439 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2826 /* 5443 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2827 /* 5447 */ // (add:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PADDWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
2828 /* 5447 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDWrr),
2829 /* 5452 */ GIR_RootConstrainSelectedInstOperands,
2830 /* 5453 */ // GIR_Coverage, 2530,
2831 /* 5453 */ GIR_Done,
2832 /* 5454 */ // Label 194: @5454
2833 /* 5454 */ GIM_Try, /*On fail goto*//*Label 195*/ GIMT_Encode4(5481), // Rule ID 4699 //
2834 /* 5459 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
2835 /* 5462 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2836 /* 5466 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2837 /* 5470 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2838 /* 5474 */ // (add:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPADDWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
2839 /* 5474 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDWZ128rr),
2840 /* 5479 */ GIR_RootConstrainSelectedInstOperands,
2841 /* 5480 */ // GIR_Coverage, 4699,
2842 /* 5480 */ GIR_Done,
2843 /* 5481 */ // Label 195: @5481
2844 /* 5481 */ GIM_Reject,
2845 /* 5482 */ // Label 186: @5482
2846 /* 5482 */ GIM_Reject,
2847 /* 5483 */ // Label 88: @5483
2848 /* 5483 */ GIM_Try, /*On fail goto*//*Label 196*/ GIMT_Encode4(5797),
2849 /* 5488 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
2850 /* 5491 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
2851 /* 5494 */ GIM_Try, /*On fail goto*//*Label 197*/ GIMT_Encode4(5556), // Rule ID 23437 //
2852 /* 5499 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
2853 /* 5502 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2854 /* 5506 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2855 /* 5510 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2856 /* 5514 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2857 /* 5517 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2858 /* 5521 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2859 /* 5525 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2860 /* 5529 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2861 /* 5531 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2862 /* 5538 */ // (add:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPADDDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2863 /* 5538 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDYrm),
2864 /* 5541 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2865 /* 5543 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2866 /* 5545 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2867 /* 5549 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2868 /* 5554 */ GIR_RootConstrainSelectedInstOperands,
2869 /* 5555 */ // GIR_Coverage, 23437,
2870 /* 5555 */ GIR_EraseRootFromParent_Done,
2871 /* 5556 */ // Label 197: @5556
2872 /* 5556 */ GIM_Try, /*On fail goto*//*Label 198*/ GIMT_Encode4(5618), // Rule ID 23720 //
2873 /* 5561 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2874 /* 5564 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2875 /* 5568 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2876 /* 5572 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2877 /* 5576 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2878 /* 5579 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2879 /* 5583 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2880 /* 5587 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2881 /* 5591 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2882 /* 5593 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2883 /* 5600 */ // (add:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPADDDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2884 /* 5600 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDZ256rm),
2885 /* 5603 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2886 /* 5605 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2887 /* 5607 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2888 /* 5611 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2889 /* 5616 */ GIR_RootConstrainSelectedInstOperands,
2890 /* 5617 */ // GIR_Coverage, 23720,
2891 /* 5617 */ GIR_EraseRootFromParent_Done,
2892 /* 5618 */ // Label 198: @5618
2893 /* 5618 */ GIM_Try, /*On fail goto*//*Label 199*/ GIMT_Encode4(5680), // Rule ID 2539 //
2894 /* 5623 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
2895 /* 5626 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2896 /* 5630 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2897 /* 5634 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2898 /* 5638 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2899 /* 5642 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2900 /* 5645 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2901 /* 5649 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2902 /* 5653 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2903 /* 5655 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2904 /* 5662 */ // (add:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2905 /* 5662 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDYrm),
2906 /* 5665 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2907 /* 5667 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2908 /* 5669 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2909 /* 5673 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2910 /* 5678 */ GIR_RootConstrainSelectedInstOperands,
2911 /* 5679 */ // GIR_Coverage, 2539,
2912 /* 5679 */ GIR_EraseRootFromParent_Done,
2913 /* 5680 */ // Label 199: @5680
2914 /* 5680 */ GIM_Try, /*On fail goto*//*Label 200*/ GIMT_Encode4(5742), // Rule ID 4672 //
2915 /* 5685 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2916 /* 5688 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2917 /* 5692 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2918 /* 5696 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2919 /* 5700 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2920 /* 5704 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2921 /* 5707 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2922 /* 5711 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2923 /* 5715 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2924 /* 5717 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2925 /* 5724 */ // (add:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2926 /* 5724 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDZ256rm),
2927 /* 5727 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2928 /* 5729 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2929 /* 5731 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2930 /* 5735 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2931 /* 5740 */ GIR_RootConstrainSelectedInstOperands,
2932 /* 5741 */ // GIR_Coverage, 4672,
2933 /* 5741 */ GIR_EraseRootFromParent_Done,
2934 /* 5742 */ // Label 200: @5742
2935 /* 5742 */ GIM_Try, /*On fail goto*//*Label 201*/ GIMT_Encode4(5769), // Rule ID 2538 //
2936 /* 5747 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
2937 /* 5750 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2938 /* 5754 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2939 /* 5758 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2940 /* 5762 */ // (add:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPADDDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
2941 /* 5762 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDDYrr),
2942 /* 5767 */ GIR_RootConstrainSelectedInstOperands,
2943 /* 5768 */ // GIR_Coverage, 2538,
2944 /* 5768 */ GIR_Done,
2945 /* 5769 */ // Label 201: @5769
2946 /* 5769 */ GIM_Try, /*On fail goto*//*Label 202*/ GIMT_Encode4(5796), // Rule ID 4669 //
2947 /* 5774 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2948 /* 5777 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2949 /* 5781 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2950 /* 5785 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2951 /* 5789 */ // (add:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPADDDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
2952 /* 5789 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDDZ256rr),
2953 /* 5794 */ GIR_RootConstrainSelectedInstOperands,
2954 /* 5795 */ // GIR_Coverage, 4669,
2955 /* 5795 */ GIR_Done,
2956 /* 5796 */ // Label 202: @5796
2957 /* 5796 */ GIM_Reject,
2958 /* 5797 */ // Label 196: @5797
2959 /* 5797 */ GIM_Reject,
2960 /* 5798 */ // Label 89: @5798
2961 /* 5798 */ GIM_Try, /*On fail goto*//*Label 203*/ GIMT_Encode4(5953),
2962 /* 5803 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
2963 /* 5806 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
2964 /* 5809 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2965 /* 5813 */ GIM_Try, /*On fail goto*//*Label 204*/ GIMT_Encode4(5871), // Rule ID 23696 //
2966 /* 5818 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
2967 /* 5821 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2968 /* 5825 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2969 /* 5829 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2970 /* 5832 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2971 /* 5836 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2972 /* 5840 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2973 /* 5844 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2974 /* 5846 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2975 /* 5853 */ // (add:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPADDQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
2976 /* 5853 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQZrm),
2977 /* 5856 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2978 /* 5858 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2979 /* 5860 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2980 /* 5864 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2981 /* 5869 */ GIR_RootConstrainSelectedInstOperands,
2982 /* 5870 */ // GIR_Coverage, 23696,
2983 /* 5870 */ GIR_EraseRootFromParent_Done,
2984 /* 5871 */ // Label 204: @5871
2985 /* 5871 */ GIM_Try, /*On fail goto*//*Label 205*/ GIMT_Encode4(5929), // Rule ID 4636 //
2986 /* 5876 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
2987 /* 5879 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2988 /* 5883 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2989 /* 5887 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2990 /* 5891 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2991 /* 5894 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2992 /* 5898 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2993 /* 5902 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2994 /* 5904 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2995 /* 5911 */ // (add:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
2996 /* 5911 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQZrm),
2997 /* 5914 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2998 /* 5916 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2999 /* 5918 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3000 /* 5922 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3001 /* 5927 */ GIR_RootConstrainSelectedInstOperands,
3002 /* 5928 */ // GIR_Coverage, 4636,
3003 /* 5928 */ GIR_EraseRootFromParent_Done,
3004 /* 5929 */ // Label 205: @5929
3005 /* 5929 */ GIM_Try, /*On fail goto*//*Label 206*/ GIMT_Encode4(5952), // Rule ID 4633 //
3006 /* 5934 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
3007 /* 5937 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3008 /* 5941 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3009 /* 5945 */ // (add:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPADDQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
3010 /* 5945 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDQZrr),
3011 /* 5950 */ GIR_RootConstrainSelectedInstOperands,
3012 /* 5951 */ // GIR_Coverage, 4633,
3013 /* 5951 */ GIR_Done,
3014 /* 5952 */ // Label 206: @5952
3015 /* 5952 */ GIM_Reject,
3016 /* 5953 */ // Label 203: @5953
3017 /* 5953 */ GIM_Reject,
3018 /* 5954 */ // Label 90: @5954
3019 /* 5954 */ GIM_Try, /*On fail goto*//*Label 207*/ GIMT_Encode4(6295),
3020 /* 5959 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
3021 /* 5962 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
3022 /* 5965 */ GIM_Try, /*On fail goto*//*Label 208*/ GIMT_Encode4(6027), // Rule ID 23429 //
3023 /* 5970 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
3024 /* 5973 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3025 /* 5977 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
3026 /* 5981 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3027 /* 5985 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3028 /* 5988 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3029 /* 5992 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3030 /* 5996 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3031 /* 6000 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3032 /* 6002 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3033 /* 6009 */ // (add:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPADDBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3034 /* 6009 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBrm),
3035 /* 6012 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3036 /* 6014 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3037 /* 6016 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3038 /* 6020 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3039 /* 6025 */ GIR_RootConstrainSelectedInstOperands,
3040 /* 6026 */ // GIR_Coverage, 23429,
3041 /* 6026 */ GIR_EraseRootFromParent_Done,
3042 /* 6027 */ // Label 208: @6027
3043 /* 6027 */ GIM_Try, /*On fail goto*//*Label 209*/ GIMT_Encode4(6089), // Rule ID 23747 //
3044 /* 6032 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
3045 /* 6035 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3046 /* 6039 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
3047 /* 6043 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3048 /* 6047 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3049 /* 6050 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3050 /* 6054 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3051 /* 6058 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3052 /* 6062 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3053 /* 6064 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3054 /* 6071 */ // (add:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPADDBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3055 /* 6071 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBZ128rm),
3056 /* 6074 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3057 /* 6076 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3058 /* 6078 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3059 /* 6082 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3060 /* 6087 */ GIR_RootConstrainSelectedInstOperands,
3061 /* 6088 */ // GIR_Coverage, 23747,
3062 /* 6088 */ GIR_EraseRootFromParent_Done,
3063 /* 6089 */ // Label 209: @6089
3064 /* 6089 */ GIM_Try, /*On fail goto*//*Label 210*/ GIMT_Encode4(6151), // Rule ID 2523 //
3065 /* 6094 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
3066 /* 6097 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3067 /* 6101 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3068 /* 6105 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3069 /* 6109 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3070 /* 6113 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3071 /* 6116 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3072 /* 6120 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3073 /* 6124 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3074 /* 6126 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3075 /* 6133 */ // (add:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3076 /* 6133 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBrm),
3077 /* 6136 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3078 /* 6138 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3079 /* 6140 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3080 /* 6144 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3081 /* 6149 */ GIR_RootConstrainSelectedInstOperands,
3082 /* 6150 */ // GIR_Coverage, 2523,
3083 /* 6150 */ GIR_EraseRootFromParent_Done,
3084 /* 6151 */ // Label 210: @6151
3085 /* 6151 */ GIM_Try, /*On fail goto*//*Label 211*/ GIMT_Encode4(6213), // Rule ID 4720 //
3086 /* 6156 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
3087 /* 6159 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3088 /* 6163 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3089 /* 6167 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3090 /* 6171 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3091 /* 6175 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3092 /* 6178 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3093 /* 6182 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3094 /* 6186 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3095 /* 6188 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3096 /* 6195 */ // (add:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3097 /* 6195 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBZ128rm),
3098 /* 6198 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3099 /* 6200 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3100 /* 6202 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3101 /* 6206 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3102 /* 6211 */ GIR_RootConstrainSelectedInstOperands,
3103 /* 6212 */ // GIR_Coverage, 4720,
3104 /* 6212 */ GIR_EraseRootFromParent_Done,
3105 /* 6213 */ // Label 211: @6213
3106 /* 6213 */ GIM_Try, /*On fail goto*//*Label 212*/ GIMT_Encode4(6240), // Rule ID 2522 //
3107 /* 6218 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
3108 /* 6221 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3109 /* 6225 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3110 /* 6229 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3111 /* 6233 */ // (add:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPADDBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
3112 /* 6233 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDBrr),
3113 /* 6238 */ GIR_RootConstrainSelectedInstOperands,
3114 /* 6239 */ // GIR_Coverage, 2522,
3115 /* 6239 */ GIR_Done,
3116 /* 6240 */ // Label 212: @6240
3117 /* 6240 */ GIM_Try, /*On fail goto*//*Label 213*/ GIMT_Encode4(6267), // Rule ID 2524 //
3118 /* 6245 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
3119 /* 6248 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3120 /* 6252 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3121 /* 6256 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3122 /* 6260 */ // (add:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PADDBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
3123 /* 6260 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDBrr),
3124 /* 6265 */ GIR_RootConstrainSelectedInstOperands,
3125 /* 6266 */ // GIR_Coverage, 2524,
3126 /* 6266 */ GIR_Done,
3127 /* 6267 */ // Label 213: @6267
3128 /* 6267 */ GIM_Try, /*On fail goto*//*Label 214*/ GIMT_Encode4(6294), // Rule ID 4717 //
3129 /* 6272 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
3130 /* 6275 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3131 /* 6279 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3132 /* 6283 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3133 /* 6287 */ // (add:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPADDBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
3134 /* 6287 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDBZ128rr),
3135 /* 6292 */ GIR_RootConstrainSelectedInstOperands,
3136 /* 6293 */ // GIR_Coverage, 4717,
3137 /* 6293 */ GIR_Done,
3138 /* 6294 */ // Label 214: @6294
3139 /* 6294 */ GIM_Reject,
3140 /* 6295 */ // Label 207: @6295
3141 /* 6295 */ GIM_Reject,
3142 /* 6296 */ // Label 91: @6296
3143 /* 6296 */ GIM_Try, /*On fail goto*//*Label 215*/ GIMT_Encode4(6610),
3144 /* 6301 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
3145 /* 6304 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
3146 /* 6307 */ GIM_Try, /*On fail goto*//*Label 216*/ GIMT_Encode4(6369), // Rule ID 23434 //
3147 /* 6312 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
3148 /* 6315 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3149 /* 6319 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
3150 /* 6323 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3151 /* 6327 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3152 /* 6330 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3153 /* 6334 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3154 /* 6338 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3155 /* 6342 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3156 /* 6344 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3157 /* 6351 */ // (add:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPADDWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
3158 /* 6351 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWYrm),
3159 /* 6354 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3160 /* 6356 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3161 /* 6358 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3162 /* 6362 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3163 /* 6367 */ GIR_RootConstrainSelectedInstOperands,
3164 /* 6368 */ // GIR_Coverage, 23434,
3165 /* 6368 */ GIR_EraseRootFromParent_Done,
3166 /* 6369 */ // Label 216: @6369
3167 /* 6369 */ GIM_Try, /*On fail goto*//*Label 217*/ GIMT_Encode4(6431), // Rule ID 23735 //
3168 /* 6374 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
3169 /* 6377 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3170 /* 6381 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
3171 /* 6385 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3172 /* 6389 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3173 /* 6392 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3174 /* 6396 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3175 /* 6400 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3176 /* 6404 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3177 /* 6406 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3178 /* 6413 */ // (add:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPADDWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
3179 /* 6413 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWZ256rm),
3180 /* 6416 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3181 /* 6418 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3182 /* 6420 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3183 /* 6424 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3184 /* 6429 */ GIR_RootConstrainSelectedInstOperands,
3185 /* 6430 */ // GIR_Coverage, 23735,
3186 /* 6430 */ GIR_EraseRootFromParent_Done,
3187 /* 6431 */ // Label 217: @6431
3188 /* 6431 */ GIM_Try, /*On fail goto*//*Label 218*/ GIMT_Encode4(6493), // Rule ID 2533 //
3189 /* 6436 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
3190 /* 6439 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3191 /* 6443 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3192 /* 6447 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3193 /* 6451 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3194 /* 6455 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3195 /* 6458 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3196 /* 6462 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3197 /* 6466 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3198 /* 6468 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3199 /* 6475 */ // (add:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
3200 /* 6475 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWYrm),
3201 /* 6478 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3202 /* 6480 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3203 /* 6482 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3204 /* 6486 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3205 /* 6491 */ GIR_RootConstrainSelectedInstOperands,
3206 /* 6492 */ // GIR_Coverage, 2533,
3207 /* 6492 */ GIR_EraseRootFromParent_Done,
3208 /* 6493 */ // Label 218: @6493
3209 /* 6493 */ GIM_Try, /*On fail goto*//*Label 219*/ GIMT_Encode4(6555), // Rule ID 4696 //
3210 /* 6498 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
3211 /* 6501 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3212 /* 6505 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3213 /* 6509 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3214 /* 6513 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3215 /* 6517 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3216 /* 6520 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3217 /* 6524 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3218 /* 6528 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3219 /* 6530 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3220 /* 6537 */ // (add:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
3221 /* 6537 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWZ256rm),
3222 /* 6540 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3223 /* 6542 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3224 /* 6544 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3225 /* 6548 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3226 /* 6553 */ GIR_RootConstrainSelectedInstOperands,
3227 /* 6554 */ // GIR_Coverage, 4696,
3228 /* 6554 */ GIR_EraseRootFromParent_Done,
3229 /* 6555 */ // Label 219: @6555
3230 /* 6555 */ GIM_Try, /*On fail goto*//*Label 220*/ GIMT_Encode4(6582), // Rule ID 2532 //
3231 /* 6560 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
3232 /* 6563 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3233 /* 6567 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3234 /* 6571 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3235 /* 6575 */ // (add:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPADDWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
3236 /* 6575 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDWYrr),
3237 /* 6580 */ GIR_RootConstrainSelectedInstOperands,
3238 /* 6581 */ // GIR_Coverage, 2532,
3239 /* 6581 */ GIR_Done,
3240 /* 6582 */ // Label 220: @6582
3241 /* 6582 */ GIM_Try, /*On fail goto*//*Label 221*/ GIMT_Encode4(6609), // Rule ID 4693 //
3242 /* 6587 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
3243 /* 6590 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3244 /* 6594 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3245 /* 6598 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3246 /* 6602 */ // (add:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPADDWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
3247 /* 6602 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDWZ256rr),
3248 /* 6607 */ GIR_RootConstrainSelectedInstOperands,
3249 /* 6608 */ // GIR_Coverage, 4693,
3250 /* 6608 */ GIR_Done,
3251 /* 6609 */ // Label 221: @6609
3252 /* 6609 */ GIM_Reject,
3253 /* 6610 */ // Label 215: @6610
3254 /* 6610 */ GIM_Reject,
3255 /* 6611 */ // Label 92: @6611
3256 /* 6611 */ GIM_Try, /*On fail goto*//*Label 222*/ GIMT_Encode4(6766),
3257 /* 6616 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
3258 /* 6619 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
3259 /* 6622 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3260 /* 6626 */ GIM_Try, /*On fail goto*//*Label 223*/ GIMT_Encode4(6684), // Rule ID 23714 //
3261 /* 6631 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
3262 /* 6634 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
3263 /* 6638 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3264 /* 6642 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3265 /* 6645 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3266 /* 6649 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3267 /* 6653 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3268 /* 6657 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3269 /* 6659 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3270 /* 6666 */ // (add:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPADDDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
3271 /* 6666 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDZrm),
3272 /* 6669 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3273 /* 6671 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3274 /* 6673 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3275 /* 6677 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3276 /* 6682 */ GIR_RootConstrainSelectedInstOperands,
3277 /* 6683 */ // GIR_Coverage, 23714,
3278 /* 6683 */ GIR_EraseRootFromParent_Done,
3279 /* 6684 */ // Label 223: @6684
3280 /* 6684 */ GIM_Try, /*On fail goto*//*Label 224*/ GIMT_Encode4(6742), // Rule ID 4663 //
3281 /* 6689 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
3282 /* 6692 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3283 /* 6696 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3284 /* 6700 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3285 /* 6704 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3286 /* 6707 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3287 /* 6711 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3288 /* 6715 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3289 /* 6717 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3290 /* 6724 */ // (add:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
3291 /* 6724 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDZrm),
3292 /* 6727 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3293 /* 6729 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3294 /* 6731 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3295 /* 6735 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3296 /* 6740 */ GIR_RootConstrainSelectedInstOperands,
3297 /* 6741 */ // GIR_Coverage, 4663,
3298 /* 6741 */ GIR_EraseRootFromParent_Done,
3299 /* 6742 */ // Label 224: @6742
3300 /* 6742 */ GIM_Try, /*On fail goto*//*Label 225*/ GIMT_Encode4(6765), // Rule ID 4660 //
3301 /* 6747 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
3302 /* 6750 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3303 /* 6754 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3304 /* 6758 */ // (add:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPADDDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
3305 /* 6758 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDDZrr),
3306 /* 6763 */ GIR_RootConstrainSelectedInstOperands,
3307 /* 6764 */ // GIR_Coverage, 4660,
3308 /* 6764 */ GIR_Done,
3309 /* 6765 */ // Label 225: @6765
3310 /* 6765 */ GIM_Reject,
3311 /* 6766 */ // Label 222: @6766
3312 /* 6766 */ GIM_Reject,
3313 /* 6767 */ // Label 93: @6767
3314 /* 6767 */ GIM_Try, /*On fail goto*//*Label 226*/ GIMT_Encode4(7081),
3315 /* 6772 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
3316 /* 6775 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
3317 /* 6778 */ GIM_Try, /*On fail goto*//*Label 227*/ GIMT_Encode4(6840), // Rule ID 23431 //
3318 /* 6783 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
3319 /* 6786 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3320 /* 6790 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
3321 /* 6794 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3322 /* 6798 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3323 /* 6801 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3324 /* 6805 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3325 /* 6809 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3326 /* 6813 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3327 /* 6815 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3328 /* 6822 */ // (add:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPADDBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3329 /* 6822 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBYrm),
3330 /* 6825 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3331 /* 6827 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3332 /* 6829 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3333 /* 6833 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3334 /* 6838 */ GIR_RootConstrainSelectedInstOperands,
3335 /* 6839 */ // GIR_Coverage, 23431,
3336 /* 6839 */ GIR_EraseRootFromParent_Done,
3337 /* 6840 */ // Label 227: @6840
3338 /* 6840 */ GIM_Try, /*On fail goto*//*Label 228*/ GIMT_Encode4(6902), // Rule ID 23744 //
3339 /* 6845 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
3340 /* 6848 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3341 /* 6852 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
3342 /* 6856 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3343 /* 6860 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3344 /* 6863 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3345 /* 6867 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3346 /* 6871 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3347 /* 6875 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3348 /* 6877 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3349 /* 6884 */ // (add:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPADDBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3350 /* 6884 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBZ256rm),
3351 /* 6887 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3352 /* 6889 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3353 /* 6891 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3354 /* 6895 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3355 /* 6900 */ GIR_RootConstrainSelectedInstOperands,
3356 /* 6901 */ // GIR_Coverage, 23744,
3357 /* 6901 */ GIR_EraseRootFromParent_Done,
3358 /* 6902 */ // Label 228: @6902
3359 /* 6902 */ GIM_Try, /*On fail goto*//*Label 229*/ GIMT_Encode4(6964), // Rule ID 2527 //
3360 /* 6907 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
3361 /* 6910 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3362 /* 6914 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3363 /* 6918 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3364 /* 6922 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3365 /* 6926 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3366 /* 6929 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3367 /* 6933 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3368 /* 6937 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3369 /* 6939 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3370 /* 6946 */ // (add:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3371 /* 6946 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBYrm),
3372 /* 6949 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3373 /* 6951 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3374 /* 6953 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3375 /* 6957 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3376 /* 6962 */ GIR_RootConstrainSelectedInstOperands,
3377 /* 6963 */ // GIR_Coverage, 2527,
3378 /* 6963 */ GIR_EraseRootFromParent_Done,
3379 /* 6964 */ // Label 229: @6964
3380 /* 6964 */ GIM_Try, /*On fail goto*//*Label 230*/ GIMT_Encode4(7026), // Rule ID 4714 //
3381 /* 6969 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
3382 /* 6972 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3383 /* 6976 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3384 /* 6980 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3385 /* 6984 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3386 /* 6988 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3387 /* 6991 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3388 /* 6995 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3389 /* 6999 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3390 /* 7001 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3391 /* 7008 */ // (add:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3392 /* 7008 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBZ256rm),
3393 /* 7011 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3394 /* 7013 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3395 /* 7015 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3396 /* 7019 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3397 /* 7024 */ GIR_RootConstrainSelectedInstOperands,
3398 /* 7025 */ // GIR_Coverage, 4714,
3399 /* 7025 */ GIR_EraseRootFromParent_Done,
3400 /* 7026 */ // Label 230: @7026
3401 /* 7026 */ GIM_Try, /*On fail goto*//*Label 231*/ GIMT_Encode4(7053), // Rule ID 2526 //
3402 /* 7031 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
3403 /* 7034 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3404 /* 7038 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3405 /* 7042 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3406 /* 7046 */ // (add:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPADDBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
3407 /* 7046 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDBYrr),
3408 /* 7051 */ GIR_RootConstrainSelectedInstOperands,
3409 /* 7052 */ // GIR_Coverage, 2526,
3410 /* 7052 */ GIR_Done,
3411 /* 7053 */ // Label 231: @7053
3412 /* 7053 */ GIM_Try, /*On fail goto*//*Label 232*/ GIMT_Encode4(7080), // Rule ID 4711 //
3413 /* 7058 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
3414 /* 7061 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3415 /* 7065 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3416 /* 7069 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3417 /* 7073 */ // (add:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPADDBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
3418 /* 7073 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDBZ256rr),
3419 /* 7078 */ GIR_RootConstrainSelectedInstOperands,
3420 /* 7079 */ // GIR_Coverage, 4711,
3421 /* 7079 */ GIR_Done,
3422 /* 7080 */ // Label 232: @7080
3423 /* 7080 */ GIM_Reject,
3424 /* 7081 */ // Label 226: @7081
3425 /* 7081 */ GIM_Reject,
3426 /* 7082 */ // Label 94: @7082
3427 /* 7082 */ GIM_Try, /*On fail goto*//*Label 233*/ GIMT_Encode4(7237),
3428 /* 7087 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
3429 /* 7090 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
3430 /* 7093 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3431 /* 7097 */ GIM_Try, /*On fail goto*//*Label 234*/ GIMT_Encode4(7155), // Rule ID 23732 //
3432 /* 7102 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
3433 /* 7105 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
3434 /* 7109 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3435 /* 7113 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3436 /* 7116 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3437 /* 7120 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3438 /* 7124 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3439 /* 7128 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3440 /* 7130 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3441 /* 7137 */ // (add:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPADDWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
3442 /* 7137 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWZrm),
3443 /* 7140 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3444 /* 7142 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3445 /* 7144 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3446 /* 7148 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3447 /* 7153 */ GIR_RootConstrainSelectedInstOperands,
3448 /* 7154 */ // GIR_Coverage, 23732,
3449 /* 7154 */ GIR_EraseRootFromParent_Done,
3450 /* 7155 */ // Label 234: @7155
3451 /* 7155 */ GIM_Try, /*On fail goto*//*Label 235*/ GIMT_Encode4(7213), // Rule ID 4690 //
3452 /* 7160 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
3453 /* 7163 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3454 /* 7167 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3455 /* 7171 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3456 /* 7175 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3457 /* 7178 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3458 /* 7182 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3459 /* 7186 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3460 /* 7188 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3461 /* 7195 */ // (add:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
3462 /* 7195 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWZrm),
3463 /* 7198 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3464 /* 7200 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3465 /* 7202 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3466 /* 7206 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3467 /* 7211 */ GIR_RootConstrainSelectedInstOperands,
3468 /* 7212 */ // GIR_Coverage, 4690,
3469 /* 7212 */ GIR_EraseRootFromParent_Done,
3470 /* 7213 */ // Label 235: @7213
3471 /* 7213 */ GIM_Try, /*On fail goto*//*Label 236*/ GIMT_Encode4(7236), // Rule ID 4687 //
3472 /* 7218 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
3473 /* 7221 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3474 /* 7225 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3475 /* 7229 */ // (add:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPADDWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
3476 /* 7229 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDWZrr),
3477 /* 7234 */ GIR_RootConstrainSelectedInstOperands,
3478 /* 7235 */ // GIR_Coverage, 4687,
3479 /* 7235 */ GIR_Done,
3480 /* 7236 */ // Label 236: @7236
3481 /* 7236 */ GIM_Reject,
3482 /* 7237 */ // Label 233: @7237
3483 /* 7237 */ GIM_Reject,
3484 /* 7238 */ // Label 95: @7238
3485 /* 7238 */ GIM_Try, /*On fail goto*//*Label 237*/ GIMT_Encode4(7393),
3486 /* 7243 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
3487 /* 7246 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
3488 /* 7249 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3489 /* 7253 */ GIM_Try, /*On fail goto*//*Label 238*/ GIMT_Encode4(7311), // Rule ID 23741 //
3490 /* 7258 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
3491 /* 7261 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
3492 /* 7265 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3493 /* 7269 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3494 /* 7272 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3495 /* 7276 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3496 /* 7280 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3497 /* 7284 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3498 /* 7286 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3499 /* 7293 */ // (add:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPADDBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3500 /* 7293 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBZrm),
3501 /* 7296 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3502 /* 7298 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3503 /* 7300 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3504 /* 7304 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3505 /* 7309 */ GIR_RootConstrainSelectedInstOperands,
3506 /* 7310 */ // GIR_Coverage, 23741,
3507 /* 7310 */ GIR_EraseRootFromParent_Done,
3508 /* 7311 */ // Label 238: @7311
3509 /* 7311 */ GIM_Try, /*On fail goto*//*Label 239*/ GIMT_Encode4(7369), // Rule ID 4708 //
3510 /* 7316 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
3511 /* 7319 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3512 /* 7323 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3513 /* 7327 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3514 /* 7331 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3515 /* 7334 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3516 /* 7338 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3517 /* 7342 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3518 /* 7344 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3519 /* 7351 */ // (add:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3520 /* 7351 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBZrm),
3521 /* 7354 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3522 /* 7356 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3523 /* 7358 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3524 /* 7362 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3525 /* 7367 */ GIR_RootConstrainSelectedInstOperands,
3526 /* 7368 */ // GIR_Coverage, 4708,
3527 /* 7368 */ GIR_EraseRootFromParent_Done,
3528 /* 7369 */ // Label 239: @7369
3529 /* 7369 */ GIM_Try, /*On fail goto*//*Label 240*/ GIMT_Encode4(7392), // Rule ID 4705 //
3530 /* 7374 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
3531 /* 7377 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3532 /* 7381 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3533 /* 7385 */ // (add:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPADDBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
3534 /* 7385 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDBZrr),
3535 /* 7390 */ GIR_RootConstrainSelectedInstOperands,
3536 /* 7391 */ // GIR_Coverage, 4705,
3537 /* 7391 */ GIR_Done,
3538 /* 7392 */ // Label 240: @7392
3539 /* 7392 */ GIM_Reject,
3540 /* 7393 */ // Label 237: @7393
3541 /* 7393 */ GIM_Reject,
3542 /* 7394 */ // Label 96: @7394
3543 /* 7394 */ GIM_Reject,
3544 /* 7395 */ // Label 1: @7395
3545 /* 7395 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(25), /*)*//*default:*//*Label 257*/ GIMT_Encode4(10930),
3546 /* 7406 */ /*GILLT_s8*//*Label 241*/ GIMT_Encode4(7502),
3547 /* 7410 */ /*GILLT_s16*//*Label 242*/ GIMT_Encode4(7854),
3548 /* 7414 */ /*GILLT_s32*//*Label 243*/ GIMT_Encode4(8206),
3549 /* 7418 */ /*GILLT_s64*//*Label 244*/ GIMT_Encode4(8558), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
3550 /* 7434 */ /*GILLT_v2s64*//*Label 245*/ GIMT_Encode4(8918), GIMT_Encode4(0),
3551 /* 7442 */ /*GILLT_v4s32*//*Label 246*/ GIMT_Encode4(9136),
3552 /* 7446 */ /*GILLT_v4s64*//*Label 247*/ GIMT_Encode4(9354), GIMT_Encode4(0),
3553 /* 7454 */ /*GILLT_v8s16*//*Label 248*/ GIMT_Encode4(9545),
3554 /* 7458 */ /*GILLT_v8s32*//*Label 249*/ GIMT_Encode4(9763),
3555 /* 7462 */ /*GILLT_v8s64*//*Label 250*/ GIMT_Encode4(9954), GIMT_Encode4(0),
3556 /* 7470 */ /*GILLT_v16s8*//*Label 251*/ GIMT_Encode4(10048),
3557 /* 7474 */ /*GILLT_v16s16*//*Label 252*/ GIMT_Encode4(10266),
3558 /* 7478 */ /*GILLT_v16s32*//*Label 253*/ GIMT_Encode4(10457), GIMT_Encode4(0),
3559 /* 7486 */ /*GILLT_v32s8*//*Label 254*/ GIMT_Encode4(10551),
3560 /* 7490 */ /*GILLT_v32s16*//*Label 255*/ GIMT_Encode4(10742), GIMT_Encode4(0),
3561 /* 7498 */ /*GILLT_v64s8*//*Label 256*/ GIMT_Encode4(10836),
3562 /* 7502 */ // Label 241: @7502
3563 /* 7502 */ GIM_Try, /*On fail goto*//*Label 258*/ GIMT_Encode4(7853),
3564 /* 7507 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
3565 /* 7510 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
3566 /* 7513 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3567 /* 7517 */ GIM_Try, /*On fail goto*//*Label 259*/ GIMT_Encode4(7578), // Rule ID 22808 //
3568 /* 7522 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3569 /* 7525 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3570 /* 7529 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3571 /* 7533 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3572 /* 7537 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3573 /* 7540 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3574 /* 7544 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
3575 /* 7548 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3576 /* 7550 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3577 /* 7557 */ // (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)
3578 /* 7557 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8rm),
3579 /* 7560 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3580 /* 7562 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3581 /* 7564 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3582 /* 7568 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3583 /* 7571 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3584 /* 7576 */ GIR_RootConstrainSelectedInstOperands,
3585 /* 7577 */ // GIR_Coverage, 22808,
3586 /* 7577 */ GIR_EraseRootFromParent_Done,
3587 /* 7578 */ // Label 259: @7578
3588 /* 7578 */ GIM_Try, /*On fail goto*//*Label 260*/ GIMT_Encode4(7639), // Rule ID 22898 //
3589 /* 7583 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
3590 /* 7586 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3591 /* 7590 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3592 /* 7594 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3593 /* 7598 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3594 /* 7601 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3595 /* 7605 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
3596 /* 7609 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3597 /* 7611 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3598 /* 7618 */ // (sub:{ *:[i8] } GR8:{ *:[i8] }:$src1, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>) => (SUB8rm_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3599 /* 7618 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8rm_ND),
3600 /* 7621 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3601 /* 7623 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3602 /* 7625 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3603 /* 7629 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3604 /* 7632 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3605 /* 7637 */ GIR_RootConstrainSelectedInstOperands,
3606 /* 7638 */ // GIR_Coverage, 22898,
3607 /* 7638 */ GIR_EraseRootFromParent_Done,
3608 /* 7639 */ // Label 260: @7639
3609 /* 7639 */ GIM_Try, /*On fail goto*//*Label 261*/ GIMT_Encode4(7667), // Rule ID 241 //
3610 /* 7644 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3611 /* 7647 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3612 /* 7651 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3613 /* 7655 */ // (sub:{ *:[i8] } 0:{ *:[i8] }, GR8:{ *:[i8] }:$src1) => (NEG8r:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
3614 /* 7655 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG8r),
3615 /* 7658 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3616 /* 7660 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3617 /* 7662 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3618 /* 7665 */ GIR_RootConstrainSelectedInstOperands,
3619 /* 7666 */ // GIR_Coverage, 241,
3620 /* 7666 */ GIR_EraseRootFromParent_Done,
3621 /* 7667 */ // Label 261: @7667
3622 /* 7667 */ GIM_Try, /*On fail goto*//*Label 262*/ GIMT_Encode4(7695), // Rule ID 249 //
3623 /* 7672 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
3624 /* 7675 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3625 /* 7679 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3626 /* 7683 */ // (sub:{ *:[i8] } 0:{ *:[i8] }, GR8:{ *:[i8] }:$src1) => (NEG8r_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
3627 /* 7683 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG8r_ND),
3628 /* 7686 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3629 /* 7688 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3630 /* 7690 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3631 /* 7693 */ GIR_RootConstrainSelectedInstOperands,
3632 /* 7694 */ // GIR_Coverage, 249,
3633 /* 7694 */ GIR_EraseRootFromParent_Done,
3634 /* 7695 */ // Label 262: @7695
3635 /* 7695 */ GIM_Try, /*On fail goto*//*Label 263*/ GIMT_Encode4(7720), // Rule ID 257 //
3636 /* 7700 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
3637 /* 7703 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3638 /* 7707 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3639 /* 7711 */ // (sub:{ *:[i8] } 0:{ *:[i8] }, GR8:{ *:[i8] }:$src1) => (NEG8r_NF_ND:{ *:[i8] } GR8:{ *:[i8] }:$src1)
3640 /* 7711 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG8r_NF_ND),
3641 /* 7714 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3642 /* 7716 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3643 /* 7718 */ GIR_RootConstrainSelectedInstOperands,
3644 /* 7719 */ // GIR_Coverage, 257,
3645 /* 7719 */ GIR_EraseRootFromParent_Done,
3646 /* 7720 */ // Label 263: @7720
3647 /* 7720 */ GIM_Try, /*On fail goto*//*Label 264*/ GIMT_Encode4(7757), // Rule ID 22812 //
3648 /* 7725 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3649 /* 7728 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3650 /* 7732 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3651 /* 7736 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3652 /* 7740 */ // MIs[1] Operand 1
3653 /* 7740 */ // No operand predicates
3654 /* 7740 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3655 /* 7742 */ // (sub:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SUB8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
3656 /* 7742 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8ri),
3657 /* 7745 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3658 /* 7747 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3659 /* 7749 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3660 /* 7752 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3661 /* 7755 */ GIR_RootConstrainSelectedInstOperands,
3662 /* 7756 */ // GIR_Coverage, 22812,
3663 /* 7756 */ GIR_EraseRootFromParent_Done,
3664 /* 7757 */ // Label 264: @7757
3665 /* 7757 */ GIM_Try, /*On fail goto*//*Label 265*/ GIMT_Encode4(7794), // Rule ID 22902 //
3666 /* 7762 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
3667 /* 7765 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3668 /* 7769 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3669 /* 7773 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3670 /* 7777 */ // MIs[1] Operand 1
3671 /* 7777 */ // No operand predicates
3672 /* 7777 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3673 /* 7779 */ // (sub:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SUB8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
3674 /* 7779 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8ri_ND),
3675 /* 7782 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3676 /* 7784 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3677 /* 7786 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3678 /* 7789 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3679 /* 7792 */ GIR_RootConstrainSelectedInstOperands,
3680 /* 7793 */ // GIR_Coverage, 22902,
3681 /* 7793 */ GIR_EraseRootFromParent_Done,
3682 /* 7794 */ // Label 265: @7794
3683 /* 7794 */ GIM_Try, /*On fail goto*//*Label 266*/ GIMT_Encode4(7823), // Rule ID 22804 //
3684 /* 7799 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3685 /* 7802 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3686 /* 7806 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3687 /* 7810 */ // (sub:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (SUB8rr:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
3688 /* 7810 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB8rr),
3689 /* 7815 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
3690 /* 7821 */ GIR_RootConstrainSelectedInstOperands,
3691 /* 7822 */ // GIR_Coverage, 22804,
3692 /* 7822 */ GIR_Done,
3693 /* 7823 */ // Label 266: @7823
3694 /* 7823 */ GIM_Try, /*On fail goto*//*Label 267*/ GIMT_Encode4(7852), // Rule ID 22894 //
3695 /* 7828 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
3696 /* 7831 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3697 /* 7835 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3698 /* 7839 */ // (sub:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (SUB8rr_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
3699 /* 7839 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB8rr_ND),
3700 /* 7844 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
3701 /* 7850 */ GIR_RootConstrainSelectedInstOperands,
3702 /* 7851 */ // GIR_Coverage, 22894,
3703 /* 7851 */ GIR_Done,
3704 /* 7852 */ // Label 267: @7852
3705 /* 7852 */ GIM_Reject,
3706 /* 7853 */ // Label 258: @7853
3707 /* 7853 */ GIM_Reject,
3708 /* 7854 */ // Label 242: @7854
3709 /* 7854 */ GIM_Try, /*On fail goto*//*Label 268*/ GIMT_Encode4(8205),
3710 /* 7859 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
3711 /* 7862 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
3712 /* 7865 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3713 /* 7869 */ GIM_Try, /*On fail goto*//*Label 269*/ GIMT_Encode4(7930), // Rule ID 22809 //
3714 /* 7874 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3715 /* 7877 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3716 /* 7881 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3717 /* 7885 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3718 /* 7889 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3719 /* 7892 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3720 /* 7896 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
3721 /* 7900 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3722 /* 7902 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3723 /* 7909 */ // (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)
3724 /* 7909 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16rm),
3725 /* 7912 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3726 /* 7914 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3727 /* 7916 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3728 /* 7920 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3729 /* 7923 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3730 /* 7928 */ GIR_RootConstrainSelectedInstOperands,
3731 /* 7929 */ // GIR_Coverage, 22809,
3732 /* 7929 */ GIR_EraseRootFromParent_Done,
3733 /* 7930 */ // Label 269: @7930
3734 /* 7930 */ GIM_Try, /*On fail goto*//*Label 270*/ GIMT_Encode4(7991), // Rule ID 22899 //
3735 /* 7935 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
3736 /* 7938 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3737 /* 7942 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3738 /* 7946 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3739 /* 7950 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3740 /* 7953 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3741 /* 7957 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
3742 /* 7961 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3743 /* 7963 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3744 /* 7970 */ // (sub:{ *:[i16] } GR16:{ *:[i16] }:$src1, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (SUB16rm_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, addr:{ *:[iPTR] }:$src2)
3745 /* 7970 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16rm_ND),
3746 /* 7973 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3747 /* 7975 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3748 /* 7977 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3749 /* 7981 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3750 /* 7984 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3751 /* 7989 */ GIR_RootConstrainSelectedInstOperands,
3752 /* 7990 */ // GIR_Coverage, 22899,
3753 /* 7990 */ GIR_EraseRootFromParent_Done,
3754 /* 7991 */ // Label 270: @7991
3755 /* 7991 */ GIM_Try, /*On fail goto*//*Label 271*/ GIMT_Encode4(8019), // Rule ID 242 //
3756 /* 7996 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3757 /* 7999 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3758 /* 8003 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3759 /* 8007 */ // (sub:{ *:[i16] } 0:{ *:[i16] }, GR16:{ *:[i16] }:$src1) => (NEG16r:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
3760 /* 8007 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG16r),
3761 /* 8010 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3762 /* 8012 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3763 /* 8014 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3764 /* 8017 */ GIR_RootConstrainSelectedInstOperands,
3765 /* 8018 */ // GIR_Coverage, 242,
3766 /* 8018 */ GIR_EraseRootFromParent_Done,
3767 /* 8019 */ // Label 271: @8019
3768 /* 8019 */ GIM_Try, /*On fail goto*//*Label 272*/ GIMT_Encode4(8047), // Rule ID 250 //
3769 /* 8024 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
3770 /* 8027 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3771 /* 8031 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3772 /* 8035 */ // (sub:{ *:[i16] } 0:{ *:[i16] }, GR16:{ *:[i16] }:$src1) => (NEG16r_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
3773 /* 8035 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG16r_ND),
3774 /* 8038 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3775 /* 8040 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3776 /* 8042 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3777 /* 8045 */ GIR_RootConstrainSelectedInstOperands,
3778 /* 8046 */ // GIR_Coverage, 250,
3779 /* 8046 */ GIR_EraseRootFromParent_Done,
3780 /* 8047 */ // Label 272: @8047
3781 /* 8047 */ GIM_Try, /*On fail goto*//*Label 273*/ GIMT_Encode4(8072), // Rule ID 258 //
3782 /* 8052 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
3783 /* 8055 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3784 /* 8059 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3785 /* 8063 */ // (sub:{ *:[i16] } 0:{ *:[i16] }, GR16:{ *:[i16] }:$src1) => (NEG16r_NF_ND:{ *:[i16] } GR16:{ *:[i16] }:$src1)
3786 /* 8063 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG16r_NF_ND),
3787 /* 8066 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3788 /* 8068 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3789 /* 8070 */ GIR_RootConstrainSelectedInstOperands,
3790 /* 8071 */ // GIR_Coverage, 258,
3791 /* 8071 */ GIR_EraseRootFromParent_Done,
3792 /* 8072 */ // Label 273: @8072
3793 /* 8072 */ GIM_Try, /*On fail goto*//*Label 274*/ GIMT_Encode4(8109), // Rule ID 22813 //
3794 /* 8077 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3795 /* 8080 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3796 /* 8084 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3797 /* 8088 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3798 /* 8092 */ // MIs[1] Operand 1
3799 /* 8092 */ // No operand predicates
3800 /* 8092 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3801 /* 8094 */ // (sub:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (SUB16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
3802 /* 8094 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16ri),
3803 /* 8097 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3804 /* 8099 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3805 /* 8101 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3806 /* 8104 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3807 /* 8107 */ GIR_RootConstrainSelectedInstOperands,
3808 /* 8108 */ // GIR_Coverage, 22813,
3809 /* 8108 */ GIR_EraseRootFromParent_Done,
3810 /* 8109 */ // Label 274: @8109
3811 /* 8109 */ GIM_Try, /*On fail goto*//*Label 275*/ GIMT_Encode4(8146), // Rule ID 22903 //
3812 /* 8114 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
3813 /* 8117 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3814 /* 8121 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3815 /* 8125 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3816 /* 8129 */ // MIs[1] Operand 1
3817 /* 8129 */ // No operand predicates
3818 /* 8129 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3819 /* 8131 */ // (sub:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (SUB16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
3820 /* 8131 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16ri_ND),
3821 /* 8134 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3822 /* 8136 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3823 /* 8138 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3824 /* 8141 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3825 /* 8144 */ GIR_RootConstrainSelectedInstOperands,
3826 /* 8145 */ // GIR_Coverage, 22903,
3827 /* 8145 */ GIR_EraseRootFromParent_Done,
3828 /* 8146 */ // Label 275: @8146
3829 /* 8146 */ GIM_Try, /*On fail goto*//*Label 276*/ GIMT_Encode4(8175), // Rule ID 22805 //
3830 /* 8151 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3831 /* 8154 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3832 /* 8158 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3833 /* 8162 */ // (sub:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (SUB16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
3834 /* 8162 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB16rr),
3835 /* 8167 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
3836 /* 8173 */ GIR_RootConstrainSelectedInstOperands,
3837 /* 8174 */ // GIR_Coverage, 22805,
3838 /* 8174 */ GIR_Done,
3839 /* 8175 */ // Label 276: @8175
3840 /* 8175 */ GIM_Try, /*On fail goto*//*Label 277*/ GIMT_Encode4(8204), // Rule ID 22895 //
3841 /* 8180 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
3842 /* 8183 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3843 /* 8187 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3844 /* 8191 */ // (sub:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (SUB16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
3845 /* 8191 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB16rr_ND),
3846 /* 8196 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
3847 /* 8202 */ GIR_RootConstrainSelectedInstOperands,
3848 /* 8203 */ // GIR_Coverage, 22895,
3849 /* 8203 */ GIR_Done,
3850 /* 8204 */ // Label 277: @8204
3851 /* 8204 */ GIM_Reject,
3852 /* 8205 */ // Label 268: @8205
3853 /* 8205 */ GIM_Reject,
3854 /* 8206 */ // Label 243: @8206
3855 /* 8206 */ GIM_Try, /*On fail goto*//*Label 278*/ GIMT_Encode4(8557),
3856 /* 8211 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
3857 /* 8214 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
3858 /* 8217 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3859 /* 8221 */ GIM_Try, /*On fail goto*//*Label 279*/ GIMT_Encode4(8282), // Rule ID 22810 //
3860 /* 8226 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3861 /* 8229 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3862 /* 8233 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3863 /* 8237 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3864 /* 8241 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3865 /* 8244 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3866 /* 8248 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
3867 /* 8252 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3868 /* 8254 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3869 /* 8261 */ // (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)
3870 /* 8261 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32rm),
3871 /* 8264 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3872 /* 8266 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3873 /* 8268 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3874 /* 8272 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3875 /* 8275 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3876 /* 8280 */ GIR_RootConstrainSelectedInstOperands,
3877 /* 8281 */ // GIR_Coverage, 22810,
3878 /* 8281 */ GIR_EraseRootFromParent_Done,
3879 /* 8282 */ // Label 279: @8282
3880 /* 8282 */ GIM_Try, /*On fail goto*//*Label 280*/ GIMT_Encode4(8343), // Rule ID 22900 //
3881 /* 8287 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
3882 /* 8290 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3883 /* 8294 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3884 /* 8298 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3885 /* 8302 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3886 /* 8305 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3887 /* 8309 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
3888 /* 8313 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3889 /* 8315 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3890 /* 8322 */ // (sub:{ *:[i32] } GR32:{ *:[i32] }:$src1, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (SUB32rm_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
3891 /* 8322 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32rm_ND),
3892 /* 8325 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3893 /* 8327 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3894 /* 8329 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3895 /* 8333 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3896 /* 8336 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3897 /* 8341 */ GIR_RootConstrainSelectedInstOperands,
3898 /* 8342 */ // GIR_Coverage, 22900,
3899 /* 8342 */ GIR_EraseRootFromParent_Done,
3900 /* 8343 */ // Label 280: @8343
3901 /* 8343 */ GIM_Try, /*On fail goto*//*Label 281*/ GIMT_Encode4(8371), // Rule ID 243 //
3902 /* 8348 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3903 /* 8351 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3904 /* 8355 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3905 /* 8359 */ // (sub:{ *:[i32] } 0:{ *:[i32] }, GR32:{ *:[i32] }:$src1) => (NEG32r:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
3906 /* 8359 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG32r),
3907 /* 8362 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3908 /* 8364 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3909 /* 8366 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3910 /* 8369 */ GIR_RootConstrainSelectedInstOperands,
3911 /* 8370 */ // GIR_Coverage, 243,
3912 /* 8370 */ GIR_EraseRootFromParent_Done,
3913 /* 8371 */ // Label 281: @8371
3914 /* 8371 */ GIM_Try, /*On fail goto*//*Label 282*/ GIMT_Encode4(8399), // Rule ID 251 //
3915 /* 8376 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
3916 /* 8379 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3917 /* 8383 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3918 /* 8387 */ // (sub:{ *:[i32] } 0:{ *:[i32] }, GR32:{ *:[i32] }:$src1) => (NEG32r_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
3919 /* 8387 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG32r_ND),
3920 /* 8390 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3921 /* 8392 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3922 /* 8394 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3923 /* 8397 */ GIR_RootConstrainSelectedInstOperands,
3924 /* 8398 */ // GIR_Coverage, 251,
3925 /* 8398 */ GIR_EraseRootFromParent_Done,
3926 /* 8399 */ // Label 282: @8399
3927 /* 8399 */ GIM_Try, /*On fail goto*//*Label 283*/ GIMT_Encode4(8424), // Rule ID 259 //
3928 /* 8404 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
3929 /* 8407 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3930 /* 8411 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3931 /* 8415 */ // (sub:{ *:[i32] } 0:{ *:[i32] }, GR32:{ *:[i32] }:$src1) => (NEG32r_NF_ND:{ *:[i32] } GR32:{ *:[i32] }:$src1)
3932 /* 8415 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG32r_NF_ND),
3933 /* 8418 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3934 /* 8420 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3935 /* 8422 */ GIR_RootConstrainSelectedInstOperands,
3936 /* 8423 */ // GIR_Coverage, 259,
3937 /* 8423 */ GIR_EraseRootFromParent_Done,
3938 /* 8424 */ // Label 283: @8424
3939 /* 8424 */ GIM_Try, /*On fail goto*//*Label 284*/ GIMT_Encode4(8461), // Rule ID 22814 //
3940 /* 8429 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3941 /* 8432 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3942 /* 8436 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3943 /* 8440 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3944 /* 8444 */ // MIs[1] Operand 1
3945 /* 8444 */ // No operand predicates
3946 /* 8444 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3947 /* 8446 */ // (sub:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (SUB32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
3948 /* 8446 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32ri),
3949 /* 8449 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3950 /* 8451 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3951 /* 8453 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3952 /* 8456 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3953 /* 8459 */ GIR_RootConstrainSelectedInstOperands,
3954 /* 8460 */ // GIR_Coverage, 22814,
3955 /* 8460 */ GIR_EraseRootFromParent_Done,
3956 /* 8461 */ // Label 284: @8461
3957 /* 8461 */ GIM_Try, /*On fail goto*//*Label 285*/ GIMT_Encode4(8498), // Rule ID 22904 //
3958 /* 8466 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
3959 /* 8469 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3960 /* 8473 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3961 /* 8477 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3962 /* 8481 */ // MIs[1] Operand 1
3963 /* 8481 */ // No operand predicates
3964 /* 8481 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3965 /* 8483 */ // (sub:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (SUB32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
3966 /* 8483 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32ri_ND),
3967 /* 8486 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3968 /* 8488 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3969 /* 8490 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3970 /* 8493 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3971 /* 8496 */ GIR_RootConstrainSelectedInstOperands,
3972 /* 8497 */ // GIR_Coverage, 22904,
3973 /* 8497 */ GIR_EraseRootFromParent_Done,
3974 /* 8498 */ // Label 285: @8498
3975 /* 8498 */ GIM_Try, /*On fail goto*//*Label 286*/ GIMT_Encode4(8527), // Rule ID 22806 //
3976 /* 8503 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3977 /* 8506 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3978 /* 8510 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3979 /* 8514 */ // (sub:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (SUB32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
3980 /* 8514 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB32rr),
3981 /* 8519 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
3982 /* 8525 */ GIR_RootConstrainSelectedInstOperands,
3983 /* 8526 */ // GIR_Coverage, 22806,
3984 /* 8526 */ GIR_Done,
3985 /* 8527 */ // Label 286: @8527
3986 /* 8527 */ GIM_Try, /*On fail goto*//*Label 287*/ GIMT_Encode4(8556), // Rule ID 22896 //
3987 /* 8532 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
3988 /* 8535 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3989 /* 8539 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3990 /* 8543 */ // (sub:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (SUB32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
3991 /* 8543 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB32rr_ND),
3992 /* 8548 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
3993 /* 8554 */ GIR_RootConstrainSelectedInstOperands,
3994 /* 8555 */ // GIR_Coverage, 22896,
3995 /* 8555 */ GIR_Done,
3996 /* 8556 */ // Label 287: @8556
3997 /* 8556 */ GIM_Reject,
3998 /* 8557 */ // Label 278: @8557
3999 /* 8557 */ GIM_Reject,
4000 /* 8558 */ // Label 244: @8558
4001 /* 8558 */ GIM_Try, /*On fail goto*//*Label 288*/ GIMT_Encode4(8917),
4002 /* 8563 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
4003 /* 8566 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
4004 /* 8569 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4005 /* 8573 */ GIM_Try, /*On fail goto*//*Label 289*/ GIMT_Encode4(8634), // Rule ID 22811 //
4006 /* 8578 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
4007 /* 8581 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4008 /* 8585 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4009 /* 8589 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4010 /* 8593 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4011 /* 8596 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4012 /* 8600 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4013 /* 8604 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4014 /* 8606 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4015 /* 8613 */ // (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)
4016 /* 8613 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64rm),
4017 /* 8616 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4018 /* 8618 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4019 /* 8620 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4020 /* 8624 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4021 /* 8627 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4022 /* 8632 */ GIR_RootConstrainSelectedInstOperands,
4023 /* 8633 */ // GIR_Coverage, 22811,
4024 /* 8633 */ GIR_EraseRootFromParent_Done,
4025 /* 8634 */ // Label 289: @8634
4026 /* 8634 */ GIM_Try, /*On fail goto*//*Label 290*/ GIMT_Encode4(8695), // Rule ID 22901 //
4027 /* 8639 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
4028 /* 8642 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4029 /* 8646 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4030 /* 8650 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4031 /* 8654 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4032 /* 8657 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4033 /* 8661 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4034 /* 8665 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4035 /* 8667 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4036 /* 8674 */ // (sub:{ *:[i64] } GR64:{ *:[i64] }:$src1, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SUB64rm_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
4037 /* 8674 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64rm_ND),
4038 /* 8677 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4039 /* 8679 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4040 /* 8681 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4041 /* 8685 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4042 /* 8688 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4043 /* 8693 */ GIR_RootConstrainSelectedInstOperands,
4044 /* 8694 */ // GIR_Coverage, 22901,
4045 /* 8694 */ GIR_EraseRootFromParent_Done,
4046 /* 8695 */ // Label 290: @8695
4047 /* 8695 */ GIM_Try, /*On fail goto*//*Label 291*/ GIMT_Encode4(8723), // Rule ID 244 //
4048 /* 8700 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
4049 /* 8703 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
4050 /* 8707 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4051 /* 8711 */ // (sub:{ *:[i64] } 0:{ *:[i64] }, GR64:{ *:[i64] }:$src1) => (NEG64r:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
4052 /* 8711 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG64r),
4053 /* 8714 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4054 /* 8716 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
4055 /* 8718 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4056 /* 8721 */ GIR_RootConstrainSelectedInstOperands,
4057 /* 8722 */ // GIR_Coverage, 244,
4058 /* 8722 */ GIR_EraseRootFromParent_Done,
4059 /* 8723 */ // Label 291: @8723
4060 /* 8723 */ GIM_Try, /*On fail goto*//*Label 292*/ GIMT_Encode4(8751), // Rule ID 252 //
4061 /* 8728 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
4062 /* 8731 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
4063 /* 8735 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4064 /* 8739 */ // (sub:{ *:[i64] } 0:{ *:[i64] }, GR64:{ *:[i64] }:$src1) => (NEG64r_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
4065 /* 8739 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG64r_ND),
4066 /* 8742 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4067 /* 8744 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
4068 /* 8746 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4069 /* 8749 */ GIR_RootConstrainSelectedInstOperands,
4070 /* 8750 */ // GIR_Coverage, 252,
4071 /* 8750 */ GIR_EraseRootFromParent_Done,
4072 /* 8751 */ // Label 292: @8751
4073 /* 8751 */ GIM_Try, /*On fail goto*//*Label 293*/ GIMT_Encode4(8776), // Rule ID 260 //
4074 /* 8756 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
4075 /* 8759 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
4076 /* 8763 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4077 /* 8767 */ // (sub:{ *:[i64] } 0:{ *:[i64] }, GR64:{ *:[i64] }:$src1) => (NEG64r_NF_ND:{ *:[i64] } GR64:{ *:[i64] }:$src1)
4078 /* 8767 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG64r_NF_ND),
4079 /* 8770 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4080 /* 8772 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
4081 /* 8774 */ GIR_RootConstrainSelectedInstOperands,
4082 /* 8775 */ // GIR_Coverage, 260,
4083 /* 8775 */ GIR_EraseRootFromParent_Done,
4084 /* 8776 */ // Label 293: @8776
4085 /* 8776 */ GIM_Try, /*On fail goto*//*Label 294*/ GIMT_Encode4(8817), // Rule ID 22815 //
4086 /* 8781 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
4087 /* 8784 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4088 /* 8788 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4089 /* 8792 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
4090 /* 8796 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
4091 /* 8800 */ // MIs[1] Operand 1
4092 /* 8800 */ // No operand predicates
4093 /* 8800 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4094 /* 8802 */ // (sub:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (SUB64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
4095 /* 8802 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64ri32),
4096 /* 8805 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4097 /* 8807 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4098 /* 8809 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
4099 /* 8812 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4100 /* 8815 */ GIR_RootConstrainSelectedInstOperands,
4101 /* 8816 */ // GIR_Coverage, 22815,
4102 /* 8816 */ GIR_EraseRootFromParent_Done,
4103 /* 8817 */ // Label 294: @8817
4104 /* 8817 */ GIM_Try, /*On fail goto*//*Label 295*/ GIMT_Encode4(8858), // Rule ID 22905 //
4105 /* 8822 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
4106 /* 8825 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4107 /* 8829 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4108 /* 8833 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
4109 /* 8837 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
4110 /* 8841 */ // MIs[1] Operand 1
4111 /* 8841 */ // No operand predicates
4112 /* 8841 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4113 /* 8843 */ // (sub:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (SUB64ri32_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
4114 /* 8843 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64ri32_ND),
4115 /* 8846 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4116 /* 8848 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4117 /* 8850 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
4118 /* 8853 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4119 /* 8856 */ GIR_RootConstrainSelectedInstOperands,
4120 /* 8857 */ // GIR_Coverage, 22905,
4121 /* 8857 */ GIR_EraseRootFromParent_Done,
4122 /* 8858 */ // Label 295: @8858
4123 /* 8858 */ GIM_Try, /*On fail goto*//*Label 296*/ GIMT_Encode4(8887), // Rule ID 22807 //
4124 /* 8863 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
4125 /* 8866 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4126 /* 8870 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4127 /* 8874 */ // (sub:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (SUB64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
4128 /* 8874 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB64rr),
4129 /* 8879 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
4130 /* 8885 */ GIR_RootConstrainSelectedInstOperands,
4131 /* 8886 */ // GIR_Coverage, 22807,
4132 /* 8886 */ GIR_Done,
4133 /* 8887 */ // Label 296: @8887
4134 /* 8887 */ GIM_Try, /*On fail goto*//*Label 297*/ GIMT_Encode4(8916), // Rule ID 22897 //
4135 /* 8892 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
4136 /* 8895 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4137 /* 8899 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4138 /* 8903 */ // (sub:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (SUB64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
4139 /* 8903 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB64rr_ND),
4140 /* 8908 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
4141 /* 8914 */ GIR_RootConstrainSelectedInstOperands,
4142 /* 8915 */ // GIR_Coverage, 22897,
4143 /* 8915 */ GIR_Done,
4144 /* 8916 */ // Label 297: @8916
4145 /* 8916 */ GIM_Reject,
4146 /* 8917 */ // Label 288: @8917
4147 /* 8917 */ GIM_Reject,
4148 /* 8918 */ // Label 245: @8918
4149 /* 8918 */ GIM_Try, /*On fail goto*//*Label 298*/ GIMT_Encode4(9135),
4150 /* 8923 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
4151 /* 8926 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
4152 /* 8929 */ GIM_Try, /*On fail goto*//*Label 299*/ GIMT_Encode4(8991), // Rule ID 2607 //
4153 /* 8934 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
4154 /* 8937 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4155 /* 8941 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4156 /* 8945 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4157 /* 8949 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4158 /* 8953 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4159 /* 8956 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4160 /* 8960 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4161 /* 8964 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4162 /* 8966 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4163 /* 8973 */ // (sub:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBQrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
4164 /* 8973 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBQrm),
4165 /* 8976 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4166 /* 8978 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4167 /* 8980 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4168 /* 8984 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4169 /* 8989 */ GIR_RootConstrainSelectedInstOperands,
4170 /* 8990 */ // GIR_Coverage, 2607,
4171 /* 8990 */ GIR_EraseRootFromParent_Done,
4172 /* 8991 */ // Label 299: @8991
4173 /* 8991 */ GIM_Try, /*On fail goto*//*Label 300*/ GIMT_Encode4(9053), // Rule ID 4744 //
4174 /* 8996 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
4175 /* 8999 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4176 /* 9003 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4177 /* 9007 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4178 /* 9011 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4179 /* 9015 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4180 /* 9018 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4181 /* 9022 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4182 /* 9026 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4183 /* 9028 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4184 /* 9035 */ // (sub:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
4185 /* 9035 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBQZ128rm),
4186 /* 9038 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4187 /* 9040 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4188 /* 9042 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4189 /* 9046 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4190 /* 9051 */ GIR_RootConstrainSelectedInstOperands,
4191 /* 9052 */ // GIR_Coverage, 4744,
4192 /* 9052 */ GIR_EraseRootFromParent_Done,
4193 /* 9053 */ // Label 300: @9053
4194 /* 9053 */ GIM_Try, /*On fail goto*//*Label 301*/ GIMT_Encode4(9080), // Rule ID 2606 //
4195 /* 9058 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
4196 /* 9061 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4197 /* 9065 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4198 /* 9069 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4199 /* 9073 */ // (sub:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPSUBQrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
4200 /* 9073 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBQrr),
4201 /* 9078 */ GIR_RootConstrainSelectedInstOperands,
4202 /* 9079 */ // GIR_Coverage, 2606,
4203 /* 9079 */ GIR_Done,
4204 /* 9080 */ // Label 301: @9080
4205 /* 9080 */ GIM_Try, /*On fail goto*//*Label 302*/ GIMT_Encode4(9107), // Rule ID 2608 //
4206 /* 9085 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
4207 /* 9088 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4208 /* 9092 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4209 /* 9096 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4210 /* 9100 */ // (sub:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (PSUBQrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
4211 /* 9100 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBQrr),
4212 /* 9105 */ GIR_RootConstrainSelectedInstOperands,
4213 /* 9106 */ // GIR_Coverage, 2608,
4214 /* 9106 */ GIR_Done,
4215 /* 9107 */ // Label 302: @9107
4216 /* 9107 */ GIM_Try, /*On fail goto*//*Label 303*/ GIMT_Encode4(9134), // Rule ID 4741 //
4217 /* 9112 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
4218 /* 9115 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4219 /* 9119 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4220 /* 9123 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4221 /* 9127 */ // (sub:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPSUBQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
4222 /* 9127 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBQZ128rr),
4223 /* 9132 */ GIR_RootConstrainSelectedInstOperands,
4224 /* 9133 */ // GIR_Coverage, 4741,
4225 /* 9133 */ GIR_Done,
4226 /* 9134 */ // Label 303: @9134
4227 /* 9134 */ GIM_Reject,
4228 /* 9135 */ // Label 298: @9135
4229 /* 9135 */ GIM_Reject,
4230 /* 9136 */ // Label 246: @9136
4231 /* 9136 */ GIM_Try, /*On fail goto*//*Label 304*/ GIMT_Encode4(9353),
4232 /* 9141 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
4233 /* 9144 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
4234 /* 9147 */ GIM_Try, /*On fail goto*//*Label 305*/ GIMT_Encode4(9209), // Rule ID 2601 //
4235 /* 9152 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
4236 /* 9155 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4237 /* 9159 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4238 /* 9163 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4239 /* 9167 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4240 /* 9171 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4241 /* 9174 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4242 /* 9178 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4243 /* 9182 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4244 /* 9184 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4245 /* 9191 */ // (sub:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
4246 /* 9191 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBDrm),
4247 /* 9194 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4248 /* 9196 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4249 /* 9198 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4250 /* 9202 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4251 /* 9207 */ GIR_RootConstrainSelectedInstOperands,
4252 /* 9208 */ // GIR_Coverage, 2601,
4253 /* 9208 */ GIR_EraseRootFromParent_Done,
4254 /* 9209 */ // Label 305: @9209
4255 /* 9209 */ GIM_Try, /*On fail goto*//*Label 306*/ GIMT_Encode4(9271), // Rule ID 4771 //
4256 /* 9214 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
4257 /* 9217 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4258 /* 9221 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4259 /* 9225 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4260 /* 9229 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4261 /* 9233 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4262 /* 9236 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4263 /* 9240 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4264 /* 9244 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4265 /* 9246 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4266 /* 9253 */ // (sub:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
4267 /* 9253 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBDZ128rm),
4268 /* 9256 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4269 /* 9258 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4270 /* 9260 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4271 /* 9264 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4272 /* 9269 */ GIR_RootConstrainSelectedInstOperands,
4273 /* 9270 */ // GIR_Coverage, 4771,
4274 /* 9270 */ GIR_EraseRootFromParent_Done,
4275 /* 9271 */ // Label 306: @9271
4276 /* 9271 */ GIM_Try, /*On fail goto*//*Label 307*/ GIMT_Encode4(9298), // Rule ID 2600 //
4277 /* 9276 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
4278 /* 9279 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4279 /* 9283 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4280 /* 9287 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4281 /* 9291 */ // (sub:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPSUBDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
4282 /* 9291 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBDrr),
4283 /* 9296 */ GIR_RootConstrainSelectedInstOperands,
4284 /* 9297 */ // GIR_Coverage, 2600,
4285 /* 9297 */ GIR_Done,
4286 /* 9298 */ // Label 307: @9298
4287 /* 9298 */ GIM_Try, /*On fail goto*//*Label 308*/ GIMT_Encode4(9325), // Rule ID 2602 //
4288 /* 9303 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
4289 /* 9306 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4290 /* 9310 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4291 /* 9314 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4292 /* 9318 */ // (sub:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PSUBDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
4293 /* 9318 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBDrr),
4294 /* 9323 */ GIR_RootConstrainSelectedInstOperands,
4295 /* 9324 */ // GIR_Coverage, 2602,
4296 /* 9324 */ GIR_Done,
4297 /* 9325 */ // Label 308: @9325
4298 /* 9325 */ GIM_Try, /*On fail goto*//*Label 309*/ GIMT_Encode4(9352), // Rule ID 4768 //
4299 /* 9330 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
4300 /* 9333 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4301 /* 9337 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4302 /* 9341 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4303 /* 9345 */ // (sub:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPSUBDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
4304 /* 9345 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBDZ128rr),
4305 /* 9350 */ GIR_RootConstrainSelectedInstOperands,
4306 /* 9351 */ // GIR_Coverage, 4768,
4307 /* 9351 */ GIR_Done,
4308 /* 9352 */ // Label 309: @9352
4309 /* 9352 */ GIM_Reject,
4310 /* 9353 */ // Label 304: @9353
4311 /* 9353 */ GIM_Reject,
4312 /* 9354 */ // Label 247: @9354
4313 /* 9354 */ GIM_Try, /*On fail goto*//*Label 310*/ GIMT_Encode4(9544),
4314 /* 9359 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
4315 /* 9362 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
4316 /* 9365 */ GIM_Try, /*On fail goto*//*Label 311*/ GIMT_Encode4(9427), // Rule ID 2611 //
4317 /* 9370 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
4318 /* 9373 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4319 /* 9377 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4320 /* 9381 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4321 /* 9385 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4322 /* 9389 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4323 /* 9392 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4324 /* 9396 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4325 /* 9400 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4326 /* 9402 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4327 /* 9409 */ // (sub:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBQYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
4328 /* 9409 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBQYrm),
4329 /* 9412 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4330 /* 9414 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4331 /* 9416 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4332 /* 9420 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4333 /* 9425 */ GIR_RootConstrainSelectedInstOperands,
4334 /* 9426 */ // GIR_Coverage, 2611,
4335 /* 9426 */ GIR_EraseRootFromParent_Done,
4336 /* 9427 */ // Label 311: @9427
4337 /* 9427 */ GIM_Try, /*On fail goto*//*Label 312*/ GIMT_Encode4(9489), // Rule ID 4735 //
4338 /* 9432 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
4339 /* 9435 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4340 /* 9439 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4341 /* 9443 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4342 /* 9447 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4343 /* 9451 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4344 /* 9454 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4345 /* 9458 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4346 /* 9462 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4347 /* 9464 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4348 /* 9471 */ // (sub:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
4349 /* 9471 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBQZ256rm),
4350 /* 9474 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4351 /* 9476 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4352 /* 9478 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4353 /* 9482 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4354 /* 9487 */ GIR_RootConstrainSelectedInstOperands,
4355 /* 9488 */ // GIR_Coverage, 4735,
4356 /* 9488 */ GIR_EraseRootFromParent_Done,
4357 /* 9489 */ // Label 312: @9489
4358 /* 9489 */ GIM_Try, /*On fail goto*//*Label 313*/ GIMT_Encode4(9516), // Rule ID 2610 //
4359 /* 9494 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
4360 /* 9497 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4361 /* 9501 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4362 /* 9505 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4363 /* 9509 */ // (sub:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VPSUBQYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
4364 /* 9509 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBQYrr),
4365 /* 9514 */ GIR_RootConstrainSelectedInstOperands,
4366 /* 9515 */ // GIR_Coverage, 2610,
4367 /* 9515 */ GIR_Done,
4368 /* 9516 */ // Label 313: @9516
4369 /* 9516 */ GIM_Try, /*On fail goto*//*Label 314*/ GIMT_Encode4(9543), // Rule ID 4732 //
4370 /* 9521 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
4371 /* 9524 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4372 /* 9528 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4373 /* 9532 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4374 /* 9536 */ // (sub:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPSUBQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
4375 /* 9536 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBQZ256rr),
4376 /* 9541 */ GIR_RootConstrainSelectedInstOperands,
4377 /* 9542 */ // GIR_Coverage, 4732,
4378 /* 9542 */ GIR_Done,
4379 /* 9543 */ // Label 314: @9543
4380 /* 9543 */ GIM_Reject,
4381 /* 9544 */ // Label 310: @9544
4382 /* 9544 */ GIM_Reject,
4383 /* 9545 */ // Label 248: @9545
4384 /* 9545 */ GIM_Try, /*On fail goto*//*Label 315*/ GIMT_Encode4(9762),
4385 /* 9550 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
4386 /* 9553 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
4387 /* 9556 */ GIM_Try, /*On fail goto*//*Label 316*/ GIMT_Encode4(9618), // Rule ID 2595 //
4388 /* 9561 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
4389 /* 9564 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4390 /* 9568 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4391 /* 9572 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4392 /* 9576 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4393 /* 9580 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4394 /* 9583 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4395 /* 9587 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4396 /* 9591 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4397 /* 9593 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4398 /* 9600 */ // (sub:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4399 /* 9600 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBWrm),
4400 /* 9603 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4401 /* 9605 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4402 /* 9607 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4403 /* 9611 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4404 /* 9616 */ GIR_RootConstrainSelectedInstOperands,
4405 /* 9617 */ // GIR_Coverage, 2595,
4406 /* 9617 */ GIR_EraseRootFromParent_Done,
4407 /* 9618 */ // Label 316: @9618
4408 /* 9618 */ GIM_Try, /*On fail goto*//*Label 317*/ GIMT_Encode4(9680), // Rule ID 4792 //
4409 /* 9623 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
4410 /* 9626 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4411 /* 9630 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4412 /* 9634 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4413 /* 9638 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4414 /* 9642 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4415 /* 9645 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4416 /* 9649 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4417 /* 9653 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4418 /* 9655 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4419 /* 9662 */ // (sub:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4420 /* 9662 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBWZ128rm),
4421 /* 9665 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4422 /* 9667 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4423 /* 9669 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4424 /* 9673 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4425 /* 9678 */ GIR_RootConstrainSelectedInstOperands,
4426 /* 9679 */ // GIR_Coverage, 4792,
4427 /* 9679 */ GIR_EraseRootFromParent_Done,
4428 /* 9680 */ // Label 317: @9680
4429 /* 9680 */ GIM_Try, /*On fail goto*//*Label 318*/ GIMT_Encode4(9707), // Rule ID 2594 //
4430 /* 9685 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
4431 /* 9688 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4432 /* 9692 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4433 /* 9696 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4434 /* 9700 */ // (sub:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPSUBWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
4435 /* 9700 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBWrr),
4436 /* 9705 */ GIR_RootConstrainSelectedInstOperands,
4437 /* 9706 */ // GIR_Coverage, 2594,
4438 /* 9706 */ GIR_Done,
4439 /* 9707 */ // Label 318: @9707
4440 /* 9707 */ GIM_Try, /*On fail goto*//*Label 319*/ GIMT_Encode4(9734), // Rule ID 2596 //
4441 /* 9712 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
4442 /* 9715 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4443 /* 9719 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4444 /* 9723 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4445 /* 9727 */ // (sub:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PSUBWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
4446 /* 9727 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBWrr),
4447 /* 9732 */ GIR_RootConstrainSelectedInstOperands,
4448 /* 9733 */ // GIR_Coverage, 2596,
4449 /* 9733 */ GIR_Done,
4450 /* 9734 */ // Label 319: @9734
4451 /* 9734 */ GIM_Try, /*On fail goto*//*Label 320*/ GIMT_Encode4(9761), // Rule ID 4789 //
4452 /* 9739 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
4453 /* 9742 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4454 /* 9746 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4455 /* 9750 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4456 /* 9754 */ // (sub:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPSUBWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
4457 /* 9754 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBWZ128rr),
4458 /* 9759 */ GIR_RootConstrainSelectedInstOperands,
4459 /* 9760 */ // GIR_Coverage, 4789,
4460 /* 9760 */ GIR_Done,
4461 /* 9761 */ // Label 320: @9761
4462 /* 9761 */ GIM_Reject,
4463 /* 9762 */ // Label 315: @9762
4464 /* 9762 */ GIM_Reject,
4465 /* 9763 */ // Label 249: @9763
4466 /* 9763 */ GIM_Try, /*On fail goto*//*Label 321*/ GIMT_Encode4(9953),
4467 /* 9768 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
4468 /* 9771 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
4469 /* 9774 */ GIM_Try, /*On fail goto*//*Label 322*/ GIMT_Encode4(9836), // Rule ID 2605 //
4470 /* 9779 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
4471 /* 9782 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4472 /* 9786 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4473 /* 9790 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4474 /* 9794 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4475 /* 9798 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4476 /* 9801 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4477 /* 9805 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4478 /* 9809 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4479 /* 9811 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4480 /* 9818 */ // (sub:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
4481 /* 9818 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBDYrm),
4482 /* 9821 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4483 /* 9823 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4484 /* 9825 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4485 /* 9829 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4486 /* 9834 */ GIR_RootConstrainSelectedInstOperands,
4487 /* 9835 */ // GIR_Coverage, 2605,
4488 /* 9835 */ GIR_EraseRootFromParent_Done,
4489 /* 9836 */ // Label 322: @9836
4490 /* 9836 */ GIM_Try, /*On fail goto*//*Label 323*/ GIMT_Encode4(9898), // Rule ID 4762 //
4491 /* 9841 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
4492 /* 9844 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4493 /* 9848 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4494 /* 9852 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4495 /* 9856 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4496 /* 9860 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4497 /* 9863 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4498 /* 9867 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4499 /* 9871 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4500 /* 9873 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4501 /* 9880 */ // (sub:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
4502 /* 9880 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBDZ256rm),
4503 /* 9883 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4504 /* 9885 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4505 /* 9887 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4506 /* 9891 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4507 /* 9896 */ GIR_RootConstrainSelectedInstOperands,
4508 /* 9897 */ // GIR_Coverage, 4762,
4509 /* 9897 */ GIR_EraseRootFromParent_Done,
4510 /* 9898 */ // Label 323: @9898
4511 /* 9898 */ GIM_Try, /*On fail goto*//*Label 324*/ GIMT_Encode4(9925), // Rule ID 2604 //
4512 /* 9903 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
4513 /* 9906 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4514 /* 9910 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4515 /* 9914 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4516 /* 9918 */ // (sub:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPSUBDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
4517 /* 9918 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBDYrr),
4518 /* 9923 */ GIR_RootConstrainSelectedInstOperands,
4519 /* 9924 */ // GIR_Coverage, 2604,
4520 /* 9924 */ GIR_Done,
4521 /* 9925 */ // Label 324: @9925
4522 /* 9925 */ GIM_Try, /*On fail goto*//*Label 325*/ GIMT_Encode4(9952), // Rule ID 4759 //
4523 /* 9930 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
4524 /* 9933 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4525 /* 9937 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4526 /* 9941 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4527 /* 9945 */ // (sub:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPSUBDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
4528 /* 9945 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBDZ256rr),
4529 /* 9950 */ GIR_RootConstrainSelectedInstOperands,
4530 /* 9951 */ // GIR_Coverage, 4759,
4531 /* 9951 */ GIR_Done,
4532 /* 9952 */ // Label 325: @9952
4533 /* 9952 */ GIM_Reject,
4534 /* 9953 */ // Label 321: @9953
4535 /* 9953 */ GIM_Reject,
4536 /* 9954 */ // Label 250: @9954
4537 /* 9954 */ GIM_Try, /*On fail goto*//*Label 326*/ GIMT_Encode4(10047),
4538 /* 9959 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
4539 /* 9962 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
4540 /* 9965 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4541 /* 9969 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4542 /* 9973 */ GIM_Try, /*On fail goto*//*Label 327*/ GIMT_Encode4(10027), // Rule ID 4726 //
4543 /* 9978 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
4544 /* 9981 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4545 /* 9985 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4546 /* 9989 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4547 /* 9992 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4548 /* 9996 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4549 /* 10000 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4550 /* 10002 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4551 /* 10009 */ // (sub:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
4552 /* 10009 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBQZrm),
4553 /* 10012 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4554 /* 10014 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4555 /* 10016 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4556 /* 10020 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4557 /* 10025 */ GIR_RootConstrainSelectedInstOperands,
4558 /* 10026 */ // GIR_Coverage, 4726,
4559 /* 10026 */ GIR_EraseRootFromParent_Done,
4560 /* 10027 */ // Label 327: @10027
4561 /* 10027 */ GIM_Try, /*On fail goto*//*Label 328*/ GIMT_Encode4(10046), // Rule ID 4723 //
4562 /* 10032 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
4563 /* 10035 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4564 /* 10039 */ // (sub:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPSUBQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
4565 /* 10039 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBQZrr),
4566 /* 10044 */ GIR_RootConstrainSelectedInstOperands,
4567 /* 10045 */ // GIR_Coverage, 4723,
4568 /* 10045 */ GIR_Done,
4569 /* 10046 */ // Label 328: @10046
4570 /* 10046 */ GIM_Reject,
4571 /* 10047 */ // Label 326: @10047
4572 /* 10047 */ GIM_Reject,
4573 /* 10048 */ // Label 251: @10048
4574 /* 10048 */ GIM_Try, /*On fail goto*//*Label 329*/ GIMT_Encode4(10265),
4575 /* 10053 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
4576 /* 10056 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
4577 /* 10059 */ GIM_Try, /*On fail goto*//*Label 330*/ GIMT_Encode4(10121), // Rule ID 2589 //
4578 /* 10064 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
4579 /* 10067 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4580 /* 10071 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4581 /* 10075 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4582 /* 10079 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4583 /* 10083 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4584 /* 10086 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4585 /* 10090 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4586 /* 10094 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4587 /* 10096 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4588 /* 10103 */ // (sub:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
4589 /* 10103 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBBrm),
4590 /* 10106 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4591 /* 10108 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4592 /* 10110 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4593 /* 10114 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4594 /* 10119 */ GIR_RootConstrainSelectedInstOperands,
4595 /* 10120 */ // GIR_Coverage, 2589,
4596 /* 10120 */ GIR_EraseRootFromParent_Done,
4597 /* 10121 */ // Label 330: @10121
4598 /* 10121 */ GIM_Try, /*On fail goto*//*Label 331*/ GIMT_Encode4(10183), // Rule ID 4810 //
4599 /* 10126 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
4600 /* 10129 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4601 /* 10133 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4602 /* 10137 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4603 /* 10141 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4604 /* 10145 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4605 /* 10148 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4606 /* 10152 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4607 /* 10156 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4608 /* 10158 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4609 /* 10165 */ // (sub:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
4610 /* 10165 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBBZ128rm),
4611 /* 10168 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4612 /* 10170 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4613 /* 10172 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4614 /* 10176 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4615 /* 10181 */ GIR_RootConstrainSelectedInstOperands,
4616 /* 10182 */ // GIR_Coverage, 4810,
4617 /* 10182 */ GIR_EraseRootFromParent_Done,
4618 /* 10183 */ // Label 331: @10183
4619 /* 10183 */ GIM_Try, /*On fail goto*//*Label 332*/ GIMT_Encode4(10210), // Rule ID 2588 //
4620 /* 10188 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
4621 /* 10191 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4622 /* 10195 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4623 /* 10199 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4624 /* 10203 */ // (sub:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPSUBBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
4625 /* 10203 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBBrr),
4626 /* 10208 */ GIR_RootConstrainSelectedInstOperands,
4627 /* 10209 */ // GIR_Coverage, 2588,
4628 /* 10209 */ GIR_Done,
4629 /* 10210 */ // Label 332: @10210
4630 /* 10210 */ GIM_Try, /*On fail goto*//*Label 333*/ GIMT_Encode4(10237), // Rule ID 2590 //
4631 /* 10215 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
4632 /* 10218 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4633 /* 10222 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4634 /* 10226 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4635 /* 10230 */ // (sub:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PSUBBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
4636 /* 10230 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBBrr),
4637 /* 10235 */ GIR_RootConstrainSelectedInstOperands,
4638 /* 10236 */ // GIR_Coverage, 2590,
4639 /* 10236 */ GIR_Done,
4640 /* 10237 */ // Label 333: @10237
4641 /* 10237 */ GIM_Try, /*On fail goto*//*Label 334*/ GIMT_Encode4(10264), // Rule ID 4807 //
4642 /* 10242 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
4643 /* 10245 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4644 /* 10249 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4645 /* 10253 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4646 /* 10257 */ // (sub:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPSUBBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
4647 /* 10257 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBBZ128rr),
4648 /* 10262 */ GIR_RootConstrainSelectedInstOperands,
4649 /* 10263 */ // GIR_Coverage, 4807,
4650 /* 10263 */ GIR_Done,
4651 /* 10264 */ // Label 334: @10264
4652 /* 10264 */ GIM_Reject,
4653 /* 10265 */ // Label 329: @10265
4654 /* 10265 */ GIM_Reject,
4655 /* 10266 */ // Label 252: @10266
4656 /* 10266 */ GIM_Try, /*On fail goto*//*Label 335*/ GIMT_Encode4(10456),
4657 /* 10271 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
4658 /* 10274 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
4659 /* 10277 */ GIM_Try, /*On fail goto*//*Label 336*/ GIMT_Encode4(10339), // Rule ID 2599 //
4660 /* 10282 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
4661 /* 10285 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4662 /* 10289 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4663 /* 10293 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4664 /* 10297 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4665 /* 10301 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4666 /* 10304 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4667 /* 10308 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4668 /* 10312 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4669 /* 10314 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4670 /* 10321 */ // (sub:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4671 /* 10321 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBWYrm),
4672 /* 10324 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4673 /* 10326 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4674 /* 10328 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4675 /* 10332 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4676 /* 10337 */ GIR_RootConstrainSelectedInstOperands,
4677 /* 10338 */ // GIR_Coverage, 2599,
4678 /* 10338 */ GIR_EraseRootFromParent_Done,
4679 /* 10339 */ // Label 336: @10339
4680 /* 10339 */ GIM_Try, /*On fail goto*//*Label 337*/ GIMT_Encode4(10401), // Rule ID 4786 //
4681 /* 10344 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
4682 /* 10347 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4683 /* 10351 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4684 /* 10355 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4685 /* 10359 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4686 /* 10363 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4687 /* 10366 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4688 /* 10370 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4689 /* 10374 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4690 /* 10376 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4691 /* 10383 */ // (sub:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4692 /* 10383 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBWZ256rm),
4693 /* 10386 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4694 /* 10388 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4695 /* 10390 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4696 /* 10394 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4697 /* 10399 */ GIR_RootConstrainSelectedInstOperands,
4698 /* 10400 */ // GIR_Coverage, 4786,
4699 /* 10400 */ GIR_EraseRootFromParent_Done,
4700 /* 10401 */ // Label 337: @10401
4701 /* 10401 */ GIM_Try, /*On fail goto*//*Label 338*/ GIMT_Encode4(10428), // Rule ID 2598 //
4702 /* 10406 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
4703 /* 10409 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4704 /* 10413 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4705 /* 10417 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4706 /* 10421 */ // (sub:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPSUBWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
4707 /* 10421 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBWYrr),
4708 /* 10426 */ GIR_RootConstrainSelectedInstOperands,
4709 /* 10427 */ // GIR_Coverage, 2598,
4710 /* 10427 */ GIR_Done,
4711 /* 10428 */ // Label 338: @10428
4712 /* 10428 */ GIM_Try, /*On fail goto*//*Label 339*/ GIMT_Encode4(10455), // Rule ID 4783 //
4713 /* 10433 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
4714 /* 10436 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4715 /* 10440 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4716 /* 10444 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4717 /* 10448 */ // (sub:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPSUBWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
4718 /* 10448 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBWZ256rr),
4719 /* 10453 */ GIR_RootConstrainSelectedInstOperands,
4720 /* 10454 */ // GIR_Coverage, 4783,
4721 /* 10454 */ GIR_Done,
4722 /* 10455 */ // Label 339: @10455
4723 /* 10455 */ GIM_Reject,
4724 /* 10456 */ // Label 335: @10456
4725 /* 10456 */ GIM_Reject,
4726 /* 10457 */ // Label 253: @10457
4727 /* 10457 */ GIM_Try, /*On fail goto*//*Label 340*/ GIMT_Encode4(10550),
4728 /* 10462 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
4729 /* 10465 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
4730 /* 10468 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4731 /* 10472 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4732 /* 10476 */ GIM_Try, /*On fail goto*//*Label 341*/ GIMT_Encode4(10530), // Rule ID 4753 //
4733 /* 10481 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
4734 /* 10484 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4735 /* 10488 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4736 /* 10492 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4737 /* 10495 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4738 /* 10499 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4739 /* 10503 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4740 /* 10505 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4741 /* 10512 */ // (sub:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
4742 /* 10512 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBDZrm),
4743 /* 10515 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4744 /* 10517 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4745 /* 10519 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4746 /* 10523 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4747 /* 10528 */ GIR_RootConstrainSelectedInstOperands,
4748 /* 10529 */ // GIR_Coverage, 4753,
4749 /* 10529 */ GIR_EraseRootFromParent_Done,
4750 /* 10530 */ // Label 341: @10530
4751 /* 10530 */ GIM_Try, /*On fail goto*//*Label 342*/ GIMT_Encode4(10549), // Rule ID 4750 //
4752 /* 10535 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
4753 /* 10538 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4754 /* 10542 */ // (sub:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPSUBDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
4755 /* 10542 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBDZrr),
4756 /* 10547 */ GIR_RootConstrainSelectedInstOperands,
4757 /* 10548 */ // GIR_Coverage, 4750,
4758 /* 10548 */ GIR_Done,
4759 /* 10549 */ // Label 342: @10549
4760 /* 10549 */ GIM_Reject,
4761 /* 10550 */ // Label 340: @10550
4762 /* 10550 */ GIM_Reject,
4763 /* 10551 */ // Label 254: @10551
4764 /* 10551 */ GIM_Try, /*On fail goto*//*Label 343*/ GIMT_Encode4(10741),
4765 /* 10556 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
4766 /* 10559 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
4767 /* 10562 */ GIM_Try, /*On fail goto*//*Label 344*/ GIMT_Encode4(10624), // Rule ID 2593 //
4768 /* 10567 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
4769 /* 10570 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4770 /* 10574 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4771 /* 10578 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4772 /* 10582 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4773 /* 10586 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4774 /* 10589 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4775 /* 10593 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4776 /* 10597 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4777 /* 10599 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4778 /* 10606 */ // (sub:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
4779 /* 10606 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBBYrm),
4780 /* 10609 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4781 /* 10611 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4782 /* 10613 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4783 /* 10617 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4784 /* 10622 */ GIR_RootConstrainSelectedInstOperands,
4785 /* 10623 */ // GIR_Coverage, 2593,
4786 /* 10623 */ GIR_EraseRootFromParent_Done,
4787 /* 10624 */ // Label 344: @10624
4788 /* 10624 */ GIM_Try, /*On fail goto*//*Label 345*/ GIMT_Encode4(10686), // Rule ID 4804 //
4789 /* 10629 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
4790 /* 10632 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4791 /* 10636 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4792 /* 10640 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4793 /* 10644 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4794 /* 10648 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4795 /* 10651 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4796 /* 10655 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4797 /* 10659 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4798 /* 10661 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4799 /* 10668 */ // (sub:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
4800 /* 10668 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBBZ256rm),
4801 /* 10671 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4802 /* 10673 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4803 /* 10675 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4804 /* 10679 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4805 /* 10684 */ GIR_RootConstrainSelectedInstOperands,
4806 /* 10685 */ // GIR_Coverage, 4804,
4807 /* 10685 */ GIR_EraseRootFromParent_Done,
4808 /* 10686 */ // Label 345: @10686
4809 /* 10686 */ GIM_Try, /*On fail goto*//*Label 346*/ GIMT_Encode4(10713), // Rule ID 2592 //
4810 /* 10691 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
4811 /* 10694 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4812 /* 10698 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4813 /* 10702 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4814 /* 10706 */ // (sub:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPSUBBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
4815 /* 10706 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBBYrr),
4816 /* 10711 */ GIR_RootConstrainSelectedInstOperands,
4817 /* 10712 */ // GIR_Coverage, 2592,
4818 /* 10712 */ GIR_Done,
4819 /* 10713 */ // Label 346: @10713
4820 /* 10713 */ GIM_Try, /*On fail goto*//*Label 347*/ GIMT_Encode4(10740), // Rule ID 4801 //
4821 /* 10718 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
4822 /* 10721 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4823 /* 10725 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4824 /* 10729 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4825 /* 10733 */ // (sub:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPSUBBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
4826 /* 10733 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBBZ256rr),
4827 /* 10738 */ GIR_RootConstrainSelectedInstOperands,
4828 /* 10739 */ // GIR_Coverage, 4801,
4829 /* 10739 */ GIR_Done,
4830 /* 10740 */ // Label 347: @10740
4831 /* 10740 */ GIM_Reject,
4832 /* 10741 */ // Label 343: @10741
4833 /* 10741 */ GIM_Reject,
4834 /* 10742 */ // Label 255: @10742
4835 /* 10742 */ GIM_Try, /*On fail goto*//*Label 348*/ GIMT_Encode4(10835),
4836 /* 10747 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
4837 /* 10750 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
4838 /* 10753 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4839 /* 10757 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4840 /* 10761 */ GIM_Try, /*On fail goto*//*Label 349*/ GIMT_Encode4(10815), // Rule ID 4780 //
4841 /* 10766 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
4842 /* 10769 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4843 /* 10773 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4844 /* 10777 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4845 /* 10780 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4846 /* 10784 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4847 /* 10788 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4848 /* 10790 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4849 /* 10797 */ // (sub:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4850 /* 10797 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBWZrm),
4851 /* 10800 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4852 /* 10802 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4853 /* 10804 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4854 /* 10808 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4855 /* 10813 */ GIR_RootConstrainSelectedInstOperands,
4856 /* 10814 */ // GIR_Coverage, 4780,
4857 /* 10814 */ GIR_EraseRootFromParent_Done,
4858 /* 10815 */ // Label 349: @10815
4859 /* 10815 */ GIM_Try, /*On fail goto*//*Label 350*/ GIMT_Encode4(10834), // Rule ID 4777 //
4860 /* 10820 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
4861 /* 10823 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4862 /* 10827 */ // (sub:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPSUBWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
4863 /* 10827 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBWZrr),
4864 /* 10832 */ GIR_RootConstrainSelectedInstOperands,
4865 /* 10833 */ // GIR_Coverage, 4777,
4866 /* 10833 */ GIR_Done,
4867 /* 10834 */ // Label 350: @10834
4868 /* 10834 */ GIM_Reject,
4869 /* 10835 */ // Label 348: @10835
4870 /* 10835 */ GIM_Reject,
4871 /* 10836 */ // Label 256: @10836
4872 /* 10836 */ GIM_Try, /*On fail goto*//*Label 351*/ GIMT_Encode4(10929),
4873 /* 10841 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
4874 /* 10844 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
4875 /* 10847 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4876 /* 10851 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4877 /* 10855 */ GIM_Try, /*On fail goto*//*Label 352*/ GIMT_Encode4(10909), // Rule ID 4798 //
4878 /* 10860 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
4879 /* 10863 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4880 /* 10867 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4881 /* 10871 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4882 /* 10874 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4883 /* 10878 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4884 /* 10882 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4885 /* 10884 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4886 /* 10891 */ // (sub:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
4887 /* 10891 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBBZrm),
4888 /* 10894 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4889 /* 10896 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4890 /* 10898 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4891 /* 10902 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4892 /* 10907 */ GIR_RootConstrainSelectedInstOperands,
4893 /* 10908 */ // GIR_Coverage, 4798,
4894 /* 10908 */ GIR_EraseRootFromParent_Done,
4895 /* 10909 */ // Label 352: @10909
4896 /* 10909 */ GIM_Try, /*On fail goto*//*Label 353*/ GIMT_Encode4(10928), // Rule ID 4795 //
4897 /* 10914 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
4898 /* 10917 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4899 /* 10921 */ // (sub:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPSUBBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
4900 /* 10921 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBBZrr),
4901 /* 10926 */ GIR_RootConstrainSelectedInstOperands,
4902 /* 10927 */ // GIR_Coverage, 4795,
4903 /* 10927 */ GIR_Done,
4904 /* 10928 */ // Label 353: @10928
4905 /* 10928 */ GIM_Reject,
4906 /* 10929 */ // Label 351: @10929
4907 /* 10929 */ GIM_Reject,
4908 /* 10930 */ // Label 257: @10930
4909 /* 10930 */ GIM_Reject,
4910 /* 10931 */ // Label 2: @10931
4911 /* 10931 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 366*/ GIMT_Encode4(14713),
4912 /* 10942 */ /*GILLT_s16*//*Label 354*/ GIMT_Encode4(11026),
4913 /* 10946 */ /*GILLT_s32*//*Label 355*/ GIMT_Encode4(11443),
4914 /* 10950 */ /*GILLT_s64*//*Label 356*/ GIMT_Encode4(11860), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
4915 /* 10966 */ /*GILLT_v2s64*//*Label 357*/ GIMT_Encode4(12285), GIMT_Encode4(0),
4916 /* 10974 */ /*GILLT_v4s32*//*Label 358*/ GIMT_Encode4(12614),
4917 /* 10978 */ /*GILLT_v4s64*//*Label 359*/ GIMT_Encode4(12956), GIMT_Encode4(0),
4918 /* 10986 */ /*GILLT_v8s16*//*Label 360*/ GIMT_Encode4(13273),
4919 /* 10990 */ /*GILLT_v8s32*//*Label 361*/ GIMT_Encode4(13615),
4920 /* 10994 */ /*GILLT_v8s64*//*Label 362*/ GIMT_Encode4(13930), GIMT_Encode4(0), GIMT_Encode4(0),
4921 /* 11006 */ /*GILLT_v16s16*//*Label 363*/ GIMT_Encode4(14086),
4922 /* 11010 */ /*GILLT_v16s32*//*Label 364*/ GIMT_Encode4(14401), GIMT_Encode4(0), GIMT_Encode4(0),
4923 /* 11022 */ /*GILLT_v32s16*//*Label 365*/ GIMT_Encode4(14557),
4924 /* 11026 */ // Label 354: @11026
4925 /* 11026 */ GIM_Try, /*On fail goto*//*Label 367*/ GIMT_Encode4(11442),
4926 /* 11031 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
4927 /* 11034 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
4928 /* 11037 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
4929 /* 11041 */ GIM_Try, /*On fail goto*//*Label 368*/ GIMT_Encode4(11105), // Rule ID 22979 //
4930 /* 11046 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4931 /* 11050 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4932 /* 11054 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4933 /* 11057 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4934 /* 11061 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
4935 /* 11065 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
4936 /* 11069 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
4937 /* 11073 */ // MIs[2] Operand 1
4938 /* 11073 */ // No operand predicates
4939 /* 11073 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
4940 /* 11075 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4941 /* 11082 */ // (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)
4942 /* 11082 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL16rmi),
4943 /* 11085 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4944 /* 11087 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
4945 /* 11091 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
4946 /* 11094 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4947 /* 11097 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
4948 /* 11103 */ GIR_RootConstrainSelectedInstOperands,
4949 /* 11104 */ // GIR_Coverage, 22979,
4950 /* 11104 */ GIR_EraseRootFromParent_Done,
4951 /* 11105 */ // Label 368: @11105
4952 /* 11105 */ GIM_Try, /*On fail goto*//*Label 369*/ GIMT_Encode4(11166), // Rule ID 26058 //
4953 /* 11110 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
4954 /* 11113 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4955 /* 11117 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4956 /* 11121 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4957 /* 11124 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4958 /* 11128 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
4959 /* 11132 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
4960 /* 11136 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4961 /* 11138 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4962 /* 11145 */ // (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)
4963 /* 11145 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL16rm),
4964 /* 11148 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4965 /* 11150 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
4966 /* 11152 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4967 /* 11156 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4968 /* 11159 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4969 /* 11164 */ GIR_RootConstrainSelectedInstOperands,
4970 /* 11165 */ // GIR_Coverage, 26058,
4971 /* 11165 */ GIR_EraseRootFromParent_Done,
4972 /* 11166 */ // Label 369: @11166
4973 /* 11166 */ GIM_Try, /*On fail goto*//*Label 370*/ GIMT_Encode4(11227), // Rule ID 26077 //
4974 /* 11171 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
4975 /* 11174 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4976 /* 11178 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4977 /* 11182 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4978 /* 11185 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4979 /* 11189 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
4980 /* 11193 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
4981 /* 11197 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4982 /* 11199 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4983 /* 11206 */ // (mul:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, GR16:{ *:[i16] }:$src1) => (IMUL16rm_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4984 /* 11206 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL16rm_ND),
4985 /* 11209 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4986 /* 11211 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
4987 /* 11213 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4988 /* 11217 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4989 /* 11220 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4990 /* 11225 */ GIR_RootConstrainSelectedInstOperands,
4991 /* 11226 */ // GIR_Coverage, 26077,
4992 /* 11226 */ GIR_EraseRootFromParent_Done,
4993 /* 11227 */ // Label 370: @11227
4994 /* 11227 */ GIM_Try, /*On fail goto*//*Label 371*/ GIMT_Encode4(11288), // Rule ID 22823 //
4995 /* 11232 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
4996 /* 11235 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
4997 /* 11239 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4998 /* 11243 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4999 /* 11247 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5000 /* 11250 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5001 /* 11254 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
5002 /* 11258 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5003 /* 11260 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5004 /* 11267 */ // (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)
5005 /* 11267 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL16rm),
5006 /* 11270 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5007 /* 11272 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5008 /* 11274 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5009 /* 11278 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5010 /* 11281 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5011 /* 11286 */ GIR_RootConstrainSelectedInstOperands,
5012 /* 11287 */ // GIR_Coverage, 22823,
5013 /* 11287 */ GIR_EraseRootFromParent_Done,
5014 /* 11288 */ // Label 371: @11288
5015 /* 11288 */ GIM_Try, /*On fail goto*//*Label 372*/ GIMT_Encode4(11349), // Rule ID 22913 //
5016 /* 11293 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
5017 /* 11296 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
5018 /* 11300 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5019 /* 11304 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5020 /* 11308 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5021 /* 11311 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5022 /* 11315 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
5023 /* 11319 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5024 /* 11321 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5025 /* 11328 */ // (mul:{ *:[i16] } GR16:{ *:[i16] }:$src1, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (IMUL16rm_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, addr:{ *:[iPTR] }:$src2)
5026 /* 11328 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL16rm_ND),
5027 /* 11331 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5028 /* 11333 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5029 /* 11335 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5030 /* 11339 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5031 /* 11342 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5032 /* 11347 */ GIR_RootConstrainSelectedInstOperands,
5033 /* 11348 */ // GIR_Coverage, 22913,
5034 /* 11348 */ GIR_EraseRootFromParent_Done,
5035 /* 11349 */ // Label 372: @11349
5036 /* 11349 */ GIM_Try, /*On fail goto*//*Label 373*/ GIMT_Encode4(11383), // Rule ID 22976 //
5037 /* 11354 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
5038 /* 11358 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5039 /* 11362 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
5040 /* 11366 */ // MIs[1] Operand 1
5041 /* 11366 */ // No operand predicates
5042 /* 11366 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5043 /* 11368 */ // (mul:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (IMUL16rri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
5044 /* 11368 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL16rri),
5045 /* 11371 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5046 /* 11373 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5047 /* 11375 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
5048 /* 11378 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5049 /* 11381 */ GIR_RootConstrainSelectedInstOperands,
5050 /* 11382 */ // GIR_Coverage, 22976,
5051 /* 11382 */ GIR_EraseRootFromParent_Done,
5052 /* 11383 */ // Label 373: @11383
5053 /* 11383 */ GIM_Try, /*On fail goto*//*Label 374*/ GIMT_Encode4(11412), // Rule ID 22820 //
5054 /* 11388 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
5055 /* 11391 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
5056 /* 11395 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
5057 /* 11399 */ // (mul:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (IMUL16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
5058 /* 11399 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::IMUL16rr),
5059 /* 11404 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
5060 /* 11410 */ GIR_RootConstrainSelectedInstOperands,
5061 /* 11411 */ // GIR_Coverage, 22820,
5062 /* 11411 */ GIR_Done,
5063 /* 11412 */ // Label 374: @11412
5064 /* 11412 */ GIM_Try, /*On fail goto*//*Label 375*/ GIMT_Encode4(11441), // Rule ID 22910 //
5065 /* 11417 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
5066 /* 11420 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
5067 /* 11424 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
5068 /* 11428 */ // (mul:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (IMUL16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
5069 /* 11428 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::IMUL16rr_ND),
5070 /* 11433 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
5071 /* 11439 */ GIR_RootConstrainSelectedInstOperands,
5072 /* 11440 */ // GIR_Coverage, 22910,
5073 /* 11440 */ GIR_Done,
5074 /* 11441 */ // Label 375: @11441
5075 /* 11441 */ GIM_Reject,
5076 /* 11442 */ // Label 367: @11442
5077 /* 11442 */ GIM_Reject,
5078 /* 11443 */ // Label 355: @11443
5079 /* 11443 */ GIM_Try, /*On fail goto*//*Label 376*/ GIMT_Encode4(11859),
5080 /* 11448 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
5081 /* 11451 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
5082 /* 11454 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
5083 /* 11458 */ GIM_Try, /*On fail goto*//*Label 377*/ GIMT_Encode4(11522), // Rule ID 22980 //
5084 /* 11463 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5085 /* 11467 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5086 /* 11471 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5087 /* 11474 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5088 /* 11478 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
5089 /* 11482 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
5090 /* 11486 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
5091 /* 11490 */ // MIs[2] Operand 1
5092 /* 11490 */ // No operand predicates
5093 /* 11490 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
5094 /* 11492 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5095 /* 11499 */ // (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)
5096 /* 11499 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL32rmi),
5097 /* 11502 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5098 /* 11504 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
5099 /* 11508 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
5100 /* 11511 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5101 /* 11514 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
5102 /* 11520 */ GIR_RootConstrainSelectedInstOperands,
5103 /* 11521 */ // GIR_Coverage, 22980,
5104 /* 11521 */ GIR_EraseRootFromParent_Done,
5105 /* 11522 */ // Label 377: @11522
5106 /* 11522 */ GIM_Try, /*On fail goto*//*Label 378*/ GIMT_Encode4(11583), // Rule ID 26059 //
5107 /* 11527 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
5108 /* 11530 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5109 /* 11534 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5110 /* 11538 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5111 /* 11541 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5112 /* 11545 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
5113 /* 11549 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
5114 /* 11553 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5115 /* 11555 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5116 /* 11562 */ // (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)
5117 /* 11562 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL32rm),
5118 /* 11565 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5119 /* 11567 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5120 /* 11569 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5121 /* 11573 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5122 /* 11576 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5123 /* 11581 */ GIR_RootConstrainSelectedInstOperands,
5124 /* 11582 */ // GIR_Coverage, 26059,
5125 /* 11582 */ GIR_EraseRootFromParent_Done,
5126 /* 11583 */ // Label 378: @11583
5127 /* 11583 */ GIM_Try, /*On fail goto*//*Label 379*/ GIMT_Encode4(11644), // Rule ID 26078 //
5128 /* 11588 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
5129 /* 11591 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5130 /* 11595 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5131 /* 11599 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5132 /* 11602 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5133 /* 11606 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
5134 /* 11610 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
5135 /* 11614 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5136 /* 11616 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5137 /* 11623 */ // (mul:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, GR32:{ *:[i32] }:$src1) => (IMUL32rm_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5138 /* 11623 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL32rm_ND),
5139 /* 11626 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5140 /* 11628 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5141 /* 11630 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5142 /* 11634 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5143 /* 11637 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5144 /* 11642 */ GIR_RootConstrainSelectedInstOperands,
5145 /* 11643 */ // GIR_Coverage, 26078,
5146 /* 11643 */ GIR_EraseRootFromParent_Done,
5147 /* 11644 */ // Label 379: @11644
5148 /* 11644 */ GIM_Try, /*On fail goto*//*Label 380*/ GIMT_Encode4(11705), // Rule ID 22824 //
5149 /* 11649 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
5150 /* 11652 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
5151 /* 11656 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5152 /* 11660 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5153 /* 11664 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5154 /* 11667 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5155 /* 11671 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
5156 /* 11675 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5157 /* 11677 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5158 /* 11684 */ // (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)
5159 /* 11684 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL32rm),
5160 /* 11687 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5161 /* 11689 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5162 /* 11691 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5163 /* 11695 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5164 /* 11698 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5165 /* 11703 */ GIR_RootConstrainSelectedInstOperands,
5166 /* 11704 */ // GIR_Coverage, 22824,
5167 /* 11704 */ GIR_EraseRootFromParent_Done,
5168 /* 11705 */ // Label 380: @11705
5169 /* 11705 */ GIM_Try, /*On fail goto*//*Label 381*/ GIMT_Encode4(11766), // Rule ID 22914 //
5170 /* 11710 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
5171 /* 11713 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
5172 /* 11717 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5173 /* 11721 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5174 /* 11725 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5175 /* 11728 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5176 /* 11732 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
5177 /* 11736 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5178 /* 11738 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5179 /* 11745 */ // (mul:{ *:[i32] } GR32:{ *:[i32] }:$src1, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (IMUL32rm_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5180 /* 11745 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL32rm_ND),
5181 /* 11748 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5182 /* 11750 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5183 /* 11752 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5184 /* 11756 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5185 /* 11759 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5186 /* 11764 */ GIR_RootConstrainSelectedInstOperands,
5187 /* 11765 */ // GIR_Coverage, 22914,
5188 /* 11765 */ GIR_EraseRootFromParent_Done,
5189 /* 11766 */ // Label 381: @11766
5190 /* 11766 */ GIM_Try, /*On fail goto*//*Label 382*/ GIMT_Encode4(11800), // Rule ID 22977 //
5191 /* 11771 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
5192 /* 11775 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5193 /* 11779 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
5194 /* 11783 */ // MIs[1] Operand 1
5195 /* 11783 */ // No operand predicates
5196 /* 11783 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5197 /* 11785 */ // (mul:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (IMUL32rri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
5198 /* 11785 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL32rri),
5199 /* 11788 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5200 /* 11790 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5201 /* 11792 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
5202 /* 11795 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5203 /* 11798 */ GIR_RootConstrainSelectedInstOperands,
5204 /* 11799 */ // GIR_Coverage, 22977,
5205 /* 11799 */ GIR_EraseRootFromParent_Done,
5206 /* 11800 */ // Label 382: @11800
5207 /* 11800 */ GIM_Try, /*On fail goto*//*Label 383*/ GIMT_Encode4(11829), // Rule ID 22821 //
5208 /* 11805 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
5209 /* 11808 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
5210 /* 11812 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
5211 /* 11816 */ // (mul:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (IMUL32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
5212 /* 11816 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::IMUL32rr),
5213 /* 11821 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
5214 /* 11827 */ GIR_RootConstrainSelectedInstOperands,
5215 /* 11828 */ // GIR_Coverage, 22821,
5216 /* 11828 */ GIR_Done,
5217 /* 11829 */ // Label 383: @11829
5218 /* 11829 */ GIM_Try, /*On fail goto*//*Label 384*/ GIMT_Encode4(11858), // Rule ID 22911 //
5219 /* 11834 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
5220 /* 11837 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
5221 /* 11841 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
5222 /* 11845 */ // (mul:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (IMUL32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
5223 /* 11845 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::IMUL32rr_ND),
5224 /* 11850 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
5225 /* 11856 */ GIR_RootConstrainSelectedInstOperands,
5226 /* 11857 */ // GIR_Coverage, 22911,
5227 /* 11857 */ GIR_Done,
5228 /* 11858 */ // Label 384: @11858
5229 /* 11858 */ GIM_Reject,
5230 /* 11859 */ // Label 376: @11859
5231 /* 11859 */ GIM_Reject,
5232 /* 11860 */ // Label 356: @11860
5233 /* 11860 */ GIM_Try, /*On fail goto*//*Label 385*/ GIMT_Encode4(12284),
5234 /* 11865 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
5235 /* 11868 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
5236 /* 11871 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
5237 /* 11875 */ GIM_Try, /*On fail goto*//*Label 386*/ GIMT_Encode4(11943), // Rule ID 22981 //
5238 /* 11880 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5239 /* 11884 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5240 /* 11888 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5241 /* 11891 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5242 /* 11895 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5243 /* 11899 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
5244 /* 11903 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
5245 /* 11907 */ GIM_CheckI64ImmPredicate, /*MI*/2, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
5246 /* 11911 */ // MIs[2] Operand 1
5247 /* 11911 */ // No operand predicates
5248 /* 11911 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
5249 /* 11913 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5250 /* 11920 */ // (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)
5251 /* 11920 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL64rmi32),
5252 /* 11923 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5253 /* 11925 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
5254 /* 11929 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
5255 /* 11932 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5256 /* 11935 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
5257 /* 11941 */ GIR_RootConstrainSelectedInstOperands,
5258 /* 11942 */ // GIR_Coverage, 22981,
5259 /* 11942 */ GIR_EraseRootFromParent_Done,
5260 /* 11943 */ // Label 386: @11943
5261 /* 11943 */ GIM_Try, /*On fail goto*//*Label 387*/ GIMT_Encode4(12004), // Rule ID 26060 //
5262 /* 11948 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
5263 /* 11951 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5264 /* 11955 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5265 /* 11959 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5266 /* 11962 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5267 /* 11966 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5268 /* 11970 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
5269 /* 11974 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5270 /* 11976 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5271 /* 11983 */ // (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)
5272 /* 11983 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL64rm),
5273 /* 11986 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5274 /* 11988 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5275 /* 11990 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5276 /* 11994 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5277 /* 11997 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5278 /* 12002 */ GIR_RootConstrainSelectedInstOperands,
5279 /* 12003 */ // GIR_Coverage, 26060,
5280 /* 12003 */ GIR_EraseRootFromParent_Done,
5281 /* 12004 */ // Label 387: @12004
5282 /* 12004 */ GIM_Try, /*On fail goto*//*Label 388*/ GIMT_Encode4(12065), // Rule ID 26079 //
5283 /* 12009 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
5284 /* 12012 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5285 /* 12016 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5286 /* 12020 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5287 /* 12023 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5288 /* 12027 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5289 /* 12031 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
5290 /* 12035 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5291 /* 12037 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5292 /* 12044 */ // (mul:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR64:{ *:[i64] }:$src1) => (IMUL64rm_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
5293 /* 12044 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL64rm_ND),
5294 /* 12047 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5295 /* 12049 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5296 /* 12051 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5297 /* 12055 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5298 /* 12058 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5299 /* 12063 */ GIR_RootConstrainSelectedInstOperands,
5300 /* 12064 */ // GIR_Coverage, 26079,
5301 /* 12064 */ GIR_EraseRootFromParent_Done,
5302 /* 12065 */ // Label 388: @12065
5303 /* 12065 */ GIM_Try, /*On fail goto*//*Label 389*/ GIMT_Encode4(12126), // Rule ID 22825 //
5304 /* 12070 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
5305 /* 12073 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
5306 /* 12077 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5307 /* 12081 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5308 /* 12085 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5309 /* 12088 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5310 /* 12092 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5311 /* 12096 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5312 /* 12098 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5313 /* 12105 */ // (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)
5314 /* 12105 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL64rm),
5315 /* 12108 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5316 /* 12110 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5317 /* 12112 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5318 /* 12116 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5319 /* 12119 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5320 /* 12124 */ GIR_RootConstrainSelectedInstOperands,
5321 /* 12125 */ // GIR_Coverage, 22825,
5322 /* 12125 */ GIR_EraseRootFromParent_Done,
5323 /* 12126 */ // Label 389: @12126
5324 /* 12126 */ GIM_Try, /*On fail goto*//*Label 390*/ GIMT_Encode4(12187), // Rule ID 22915 //
5325 /* 12131 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
5326 /* 12134 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
5327 /* 12138 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5328 /* 12142 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5329 /* 12146 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5330 /* 12149 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5331 /* 12153 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5332 /* 12157 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5333 /* 12159 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5334 /* 12166 */ // (mul:{ *:[i64] } GR64:{ *:[i64] }:$src1, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (IMUL64rm_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
5335 /* 12166 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL64rm_ND),
5336 /* 12169 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5337 /* 12171 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5338 /* 12173 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5339 /* 12177 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5340 /* 12180 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5341 /* 12185 */ GIR_RootConstrainSelectedInstOperands,
5342 /* 12186 */ // GIR_Coverage, 22915,
5343 /* 12186 */ GIR_EraseRootFromParent_Done,
5344 /* 12187 */ // Label 390: @12187
5345 /* 12187 */ GIM_Try, /*On fail goto*//*Label 391*/ GIMT_Encode4(12225), // Rule ID 22978 //
5346 /* 12192 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
5347 /* 12196 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5348 /* 12200 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
5349 /* 12204 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
5350 /* 12208 */ // MIs[1] Operand 1
5351 /* 12208 */ // No operand predicates
5352 /* 12208 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5353 /* 12210 */ // (mul:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (IMUL64rri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
5354 /* 12210 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL64rri32),
5355 /* 12213 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5356 /* 12215 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5357 /* 12217 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
5358 /* 12220 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5359 /* 12223 */ GIR_RootConstrainSelectedInstOperands,
5360 /* 12224 */ // GIR_Coverage, 22978,
5361 /* 12224 */ GIR_EraseRootFromParent_Done,
5362 /* 12225 */ // Label 391: @12225
5363 /* 12225 */ GIM_Try, /*On fail goto*//*Label 392*/ GIMT_Encode4(12254), // Rule ID 22822 //
5364 /* 12230 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
5365 /* 12233 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
5366 /* 12237 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
5367 /* 12241 */ // (mul:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (IMUL64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
5368 /* 12241 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::IMUL64rr),
5369 /* 12246 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
5370 /* 12252 */ GIR_RootConstrainSelectedInstOperands,
5371 /* 12253 */ // GIR_Coverage, 22822,
5372 /* 12253 */ GIR_Done,
5373 /* 12254 */ // Label 392: @12254
5374 /* 12254 */ GIM_Try, /*On fail goto*//*Label 393*/ GIMT_Encode4(12283), // Rule ID 22912 //
5375 /* 12259 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
5376 /* 12262 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
5377 /* 12266 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
5378 /* 12270 */ // (mul:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (IMUL64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
5379 /* 12270 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::IMUL64rr_ND),
5380 /* 12275 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
5381 /* 12281 */ GIR_RootConstrainSelectedInstOperands,
5382 /* 12282 */ // GIR_Coverage, 22912,
5383 /* 12282 */ GIR_Done,
5384 /* 12283 */ // Label 393: @12283
5385 /* 12283 */ GIM_Reject,
5386 /* 12284 */ // Label 385: @12284
5387 /* 12284 */ GIM_Reject,
5388 /* 12285 */ // Label 357: @12285
5389 /* 12285 */ GIM_Try, /*On fail goto*//*Label 394*/ GIMT_Encode4(12613),
5390 /* 12290 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
5391 /* 12293 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
5392 /* 12296 */ GIM_Try, /*On fail goto*//*Label 395*/ GIMT_Encode4(12358), // Rule ID 23825 //
5393 /* 12301 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
5394 /* 12304 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5395 /* 12308 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5396 /* 12312 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5397 /* 12316 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5398 /* 12319 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5399 /* 12323 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5400 /* 12327 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5401 /* 12331 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5402 /* 12333 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5403 /* 12340 */ // (mul:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPMULLQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
5404 /* 12340 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLQZ128rm),
5405 /* 12343 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5406 /* 12345 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5407 /* 12347 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5408 /* 12351 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5409 /* 12356 */ GIR_RootConstrainSelectedInstOperands,
5410 /* 12357 */ // GIR_Coverage, 23825,
5411 /* 12357 */ GIR_EraseRootFromParent_Done,
5412 /* 12358 */ // Label 395: @12358
5413 /* 12358 */ GIM_Try, /*On fail goto*//*Label 396*/ GIMT_Encode4(12420), // Rule ID 5023 //
5414 /* 12363 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
5415 /* 12366 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5416 /* 12370 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5417 /* 12374 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5418 /* 12378 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5419 /* 12382 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5420 /* 12385 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5421 /* 12389 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5422 /* 12393 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5423 /* 12395 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5424 /* 12402 */ // (mul:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
5425 /* 12402 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLQZ128rm),
5426 /* 12405 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5427 /* 12407 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5428 /* 12409 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5429 /* 12413 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5430 /* 12418 */ GIR_RootConstrainSelectedInstOperands,
5431 /* 12419 */ // GIR_Coverage, 5023,
5432 /* 12419 */ GIR_EraseRootFromParent_Done,
5433 /* 12420 */ // Label 396: @12420
5434 /* 12420 */ GIM_Try, /*On fail goto*//*Label 397*/ GIMT_Encode4(12447), // Rule ID 5020 //
5435 /* 12425 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
5436 /* 12428 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5437 /* 12432 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5438 /* 12436 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5439 /* 12440 */ // (mul:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPMULLQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
5440 /* 12440 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLQZ128rr),
5441 /* 12445 */ GIR_RootConstrainSelectedInstOperands,
5442 /* 12446 */ // GIR_Coverage, 5020,
5443 /* 12446 */ GIR_Done,
5444 /* 12447 */ // Label 397: @12447
5445 /* 12447 */ GIM_Try, /*On fail goto*//*Label 398*/ GIMT_Encode4(12612), // Rule ID 19998 //
5446 /* 12452 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasEVEX512_NoVLX),
5447 /* 12455 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
5448 /* 12459 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5449 /* 12463 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5450 /* 12467 */ // (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] })
5451 /* 12467 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
5452 /* 12470 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
5453 /* 12474 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
5454 /* 12479 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
5455 /* 12481 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
5456 /* 12484 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
5457 /* 12488 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
5458 /* 12493 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
5459 /* 12496 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
5460 /* 12500 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/11,
5461 /* 12503 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
5462 /* 12508 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
5463 /* 12513 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
5464 /* 12518 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
5465 /* 12521 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
5466 /* 12525 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
5467 /* 12530 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
5468 /* 12532 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
5469 /* 12535 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
5470 /* 12539 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
5471 /* 12544 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
5472 /* 12547 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
5473 /* 12551 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/11,
5474 /* 12554 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
5475 /* 12559 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
5476 /* 12564 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
5477 /* 12569 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
5478 /* 12572 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMULLQZrr),
5479 /* 12576 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
5480 /* 12581 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
5481 /* 12584 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
5482 /* 12587 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
5483 /* 12589 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5484 /* 12592 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5485 /* 12594 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
5486 /* 12601 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
5487 /* 12606 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
5488 /* 12611 */ // GIR_Coverage, 19998,
5489 /* 12611 */ GIR_EraseRootFromParent_Done,
5490 /* 12612 */ // Label 398: @12612
5491 /* 12612 */ GIM_Reject,
5492 /* 12613 */ // Label 394: @12613
5493 /* 12613 */ GIM_Reject,
5494 /* 12614 */ // Label 358: @12614
5495 /* 12614 */ GIM_Try, /*On fail goto*//*Label 399*/ GIMT_Encode4(12955),
5496 /* 12619 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
5497 /* 12622 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
5498 /* 12625 */ GIM_Try, /*On fail goto*//*Label 400*/ GIMT_Encode4(12687), // Rule ID 23528 //
5499 /* 12630 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
5500 /* 12633 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5501 /* 12637 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5502 /* 12641 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5503 /* 12645 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5504 /* 12648 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5505 /* 12652 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5506 /* 12656 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5507 /* 12660 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5508 /* 12662 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5509 /* 12669 */ // (mul:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPMULLDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5510 /* 12669 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDrm),
5511 /* 12672 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5512 /* 12674 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5513 /* 12676 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5514 /* 12680 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5515 /* 12685 */ GIR_RootConstrainSelectedInstOperands,
5516 /* 12686 */ // GIR_Coverage, 23528,
5517 /* 12686 */ GIR_EraseRootFromParent_Done,
5518 /* 12687 */ // Label 400: @12687
5519 /* 12687 */ GIM_Try, /*On fail goto*//*Label 401*/ GIMT_Encode4(12749), // Rule ID 23798 //
5520 /* 12692 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
5521 /* 12695 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5522 /* 12699 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5523 /* 12703 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5524 /* 12707 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5525 /* 12710 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5526 /* 12714 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5527 /* 12718 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5528 /* 12722 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5529 /* 12724 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5530 /* 12731 */ // (mul:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPMULLDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5531 /* 12731 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDZ128rm),
5532 /* 12734 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5533 /* 12736 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5534 /* 12738 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5535 /* 12742 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5536 /* 12747 */ GIR_RootConstrainSelectedInstOperands,
5537 /* 12748 */ // GIR_Coverage, 23798,
5538 /* 12748 */ GIR_EraseRootFromParent_Done,
5539 /* 12749 */ // Label 401: @12749
5540 /* 12749 */ GIM_Try, /*On fail goto*//*Label 402*/ GIMT_Encode4(12811), // Rule ID 3240 //
5541 /* 12754 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
5542 /* 12757 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5543 /* 12761 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5544 /* 12765 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5545 /* 12769 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5546 /* 12773 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5547 /* 12776 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5548 /* 12780 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5549 /* 12784 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5550 /* 12786 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5551 /* 12793 */ // (mul:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5552 /* 12793 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDrm),
5553 /* 12796 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5554 /* 12798 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5555 /* 12800 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5556 /* 12804 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5557 /* 12809 */ GIR_RootConstrainSelectedInstOperands,
5558 /* 12810 */ // GIR_Coverage, 3240,
5559 /* 12810 */ GIR_EraseRootFromParent_Done,
5560 /* 12811 */ // Label 402: @12811
5561 /* 12811 */ GIM_Try, /*On fail goto*//*Label 403*/ GIMT_Encode4(12873), // Rule ID 4978 //
5562 /* 12816 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
5563 /* 12819 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5564 /* 12823 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5565 /* 12827 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5566 /* 12831 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5567 /* 12835 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5568 /* 12838 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5569 /* 12842 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5570 /* 12846 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5571 /* 12848 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5572 /* 12855 */ // (mul:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5573 /* 12855 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDZ128rm),
5574 /* 12858 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5575 /* 12860 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5576 /* 12862 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5577 /* 12866 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5578 /* 12871 */ GIR_RootConstrainSelectedInstOperands,
5579 /* 12872 */ // GIR_Coverage, 4978,
5580 /* 12872 */ GIR_EraseRootFromParent_Done,
5581 /* 12873 */ // Label 403: @12873
5582 /* 12873 */ GIM_Try, /*On fail goto*//*Label 404*/ GIMT_Encode4(12900), // Rule ID 3239 //
5583 /* 12878 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
5584 /* 12881 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5585 /* 12885 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5586 /* 12889 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5587 /* 12893 */ // (mul:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPMULLDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
5588 /* 12893 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLDrr),
5589 /* 12898 */ GIR_RootConstrainSelectedInstOperands,
5590 /* 12899 */ // GIR_Coverage, 3239,
5591 /* 12899 */ GIR_Done,
5592 /* 12900 */ // Label 404: @12900
5593 /* 12900 */ GIM_Try, /*On fail goto*//*Label 405*/ GIMT_Encode4(12927), // Rule ID 3247 //
5594 /* 12905 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
5595 /* 12908 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5596 /* 12912 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5597 /* 12916 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5598 /* 12920 */ // (mul:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PMULLDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
5599 /* 12920 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMULLDrr),
5600 /* 12925 */ GIR_RootConstrainSelectedInstOperands,
5601 /* 12926 */ // GIR_Coverage, 3247,
5602 /* 12926 */ GIR_Done,
5603 /* 12927 */ // Label 405: @12927
5604 /* 12927 */ GIM_Try, /*On fail goto*//*Label 406*/ GIMT_Encode4(12954), // Rule ID 4975 //
5605 /* 12932 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
5606 /* 12935 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5607 /* 12939 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5608 /* 12943 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5609 /* 12947 */ // (mul:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPMULLDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
5610 /* 12947 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLDZ128rr),
5611 /* 12952 */ GIR_RootConstrainSelectedInstOperands,
5612 /* 12953 */ // GIR_Coverage, 4975,
5613 /* 12953 */ GIR_Done,
5614 /* 12954 */ // Label 406: @12954
5615 /* 12954 */ GIM_Reject,
5616 /* 12955 */ // Label 399: @12955
5617 /* 12955 */ GIM_Reject,
5618 /* 12956 */ // Label 359: @12956
5619 /* 12956 */ GIM_Try, /*On fail goto*//*Label 407*/ GIMT_Encode4(13272),
5620 /* 12961 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
5621 /* 12964 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
5622 /* 12967 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5623 /* 12971 */ GIM_Try, /*On fail goto*//*Label 408*/ GIMT_Encode4(13029), // Rule ID 23819 //
5624 /* 12976 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
5625 /* 12979 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5626 /* 12983 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5627 /* 12987 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5628 /* 12990 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5629 /* 12994 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5630 /* 12998 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5631 /* 13002 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5632 /* 13004 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5633 /* 13011 */ // (mul:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPMULLQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
5634 /* 13011 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLQZ256rm),
5635 /* 13014 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5636 /* 13016 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5637 /* 13018 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5638 /* 13022 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5639 /* 13027 */ GIR_RootConstrainSelectedInstOperands,
5640 /* 13028 */ // GIR_Coverage, 23819,
5641 /* 13028 */ GIR_EraseRootFromParent_Done,
5642 /* 13029 */ // Label 408: @13029
5643 /* 13029 */ GIM_Try, /*On fail goto*//*Label 409*/ GIMT_Encode4(13087), // Rule ID 5014 //
5644 /* 13034 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
5645 /* 13037 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5646 /* 13041 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5647 /* 13045 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5648 /* 13049 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5649 /* 13052 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5650 /* 13056 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5651 /* 13060 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5652 /* 13062 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5653 /* 13069 */ // (mul:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
5654 /* 13069 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLQZ256rm),
5655 /* 13072 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5656 /* 13074 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5657 /* 13076 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5658 /* 13080 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5659 /* 13085 */ GIR_RootConstrainSelectedInstOperands,
5660 /* 13086 */ // GIR_Coverage, 5014,
5661 /* 13086 */ GIR_EraseRootFromParent_Done,
5662 /* 13087 */ // Label 409: @13087
5663 /* 13087 */ GIM_Try, /*On fail goto*//*Label 410*/ GIMT_Encode4(13110), // Rule ID 5011 //
5664 /* 13092 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
5665 /* 13095 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5666 /* 13099 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5667 /* 13103 */ // (mul:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPMULLQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
5668 /* 13103 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLQZ256rr),
5669 /* 13108 */ GIR_RootConstrainSelectedInstOperands,
5670 /* 13109 */ // GIR_Coverage, 5011,
5671 /* 13109 */ GIR_Done,
5672 /* 13110 */ // Label 410: @13110
5673 /* 13110 */ GIM_Try, /*On fail goto*//*Label 411*/ GIMT_Encode4(13271), // Rule ID 19996 //
5674 /* 13115 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasEVEX512_NoVLX),
5675 /* 13118 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5676 /* 13122 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5677 /* 13126 */ // (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] })
5678 /* 13126 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
5679 /* 13129 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
5680 /* 13133 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
5681 /* 13138 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
5682 /* 13140 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
5683 /* 13143 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
5684 /* 13147 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
5685 /* 13152 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
5686 /* 13155 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
5687 /* 13159 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/12,
5688 /* 13162 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
5689 /* 13167 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
5690 /* 13172 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
5691 /* 13177 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
5692 /* 13180 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
5693 /* 13184 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
5694 /* 13189 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
5695 /* 13191 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
5696 /* 13194 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
5697 /* 13198 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
5698 /* 13203 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
5699 /* 13206 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
5700 /* 13210 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/12,
5701 /* 13213 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
5702 /* 13218 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
5703 /* 13223 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
5704 /* 13228 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
5705 /* 13231 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMULLQZrr),
5706 /* 13235 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
5707 /* 13240 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
5708 /* 13243 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
5709 /* 13246 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
5710 /* 13248 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5711 /* 13251 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5712 /* 13253 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
5713 /* 13260 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
5714 /* 13265 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
5715 /* 13270 */ // GIR_Coverage, 19996,
5716 /* 13270 */ GIR_EraseRootFromParent_Done,
5717 /* 13271 */ // Label 411: @13271
5718 /* 13271 */ GIM_Reject,
5719 /* 13272 */ // Label 407: @13272
5720 /* 13272 */ GIM_Reject,
5721 /* 13273 */ // Label 360: @13273
5722 /* 13273 */ GIM_Try, /*On fail goto*//*Label 412*/ GIMT_Encode4(13614),
5723 /* 13278 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
5724 /* 13281 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
5725 /* 13284 */ GIM_Try, /*On fail goto*//*Label 413*/ GIMT_Encode4(13346), // Rule ID 23453 //
5726 /* 13289 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
5727 /* 13292 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5728 /* 13296 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5729 /* 13300 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5730 /* 13304 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5731 /* 13307 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5732 /* 13311 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5733 /* 13315 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5734 /* 13319 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5735 /* 13321 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5736 /* 13328 */ // (mul:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMULLWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
5737 /* 13328 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWrm),
5738 /* 13331 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5739 /* 13333 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5740 /* 13335 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5741 /* 13339 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5742 /* 13344 */ GIR_RootConstrainSelectedInstOperands,
5743 /* 13345 */ // GIR_Coverage, 23453,
5744 /* 13345 */ GIR_EraseRootFromParent_Done,
5745 /* 13346 */ // Label 413: @13346
5746 /* 13346 */ GIM_Try, /*On fail goto*//*Label 414*/ GIMT_Encode4(13408), // Rule ID 23810 //
5747 /* 13351 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
5748 /* 13354 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5749 /* 13358 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5750 /* 13362 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5751 /* 13366 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5752 /* 13369 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5753 /* 13373 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5754 /* 13377 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5755 /* 13381 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5756 /* 13383 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5757 /* 13390 */ // (mul:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMULLWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
5758 /* 13390 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWZ128rm),
5759 /* 13393 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5760 /* 13395 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5761 /* 13397 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5762 /* 13401 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5763 /* 13406 */ GIR_RootConstrainSelectedInstOperands,
5764 /* 13407 */ // GIR_Coverage, 23810,
5765 /* 13407 */ GIR_EraseRootFromParent_Done,
5766 /* 13408 */ // Label 414: @13408
5767 /* 13408 */ GIM_Try, /*On fail goto*//*Label 415*/ GIMT_Encode4(13470), // Rule ID 2571 //
5768 /* 13413 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
5769 /* 13416 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5770 /* 13420 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5771 /* 13424 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5772 /* 13428 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5773 /* 13432 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5774 /* 13435 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5775 /* 13439 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5776 /* 13443 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5777 /* 13445 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5778 /* 13452 */ // (mul:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
5779 /* 13452 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWrm),
5780 /* 13455 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5781 /* 13457 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5782 /* 13459 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5783 /* 13463 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5784 /* 13468 */ GIR_RootConstrainSelectedInstOperands,
5785 /* 13469 */ // GIR_Coverage, 2571,
5786 /* 13469 */ GIR_EraseRootFromParent_Done,
5787 /* 13470 */ // Label 415: @13470
5788 /* 13470 */ GIM_Try, /*On fail goto*//*Label 416*/ GIMT_Encode4(13532), // Rule ID 4999 //
5789 /* 13475 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
5790 /* 13478 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5791 /* 13482 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5792 /* 13486 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5793 /* 13490 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5794 /* 13494 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5795 /* 13497 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5796 /* 13501 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5797 /* 13505 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5798 /* 13507 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5799 /* 13514 */ // (mul:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
5800 /* 13514 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWZ128rm),
5801 /* 13517 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5802 /* 13519 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5803 /* 13521 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5804 /* 13525 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5805 /* 13530 */ GIR_RootConstrainSelectedInstOperands,
5806 /* 13531 */ // GIR_Coverage, 4999,
5807 /* 13531 */ GIR_EraseRootFromParent_Done,
5808 /* 13532 */ // Label 416: @13532
5809 /* 13532 */ GIM_Try, /*On fail goto*//*Label 417*/ GIMT_Encode4(13559), // Rule ID 2570 //
5810 /* 13537 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
5811 /* 13540 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5812 /* 13544 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5813 /* 13548 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5814 /* 13552 */ // (mul:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMULLWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
5815 /* 13552 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLWrr),
5816 /* 13557 */ GIR_RootConstrainSelectedInstOperands,
5817 /* 13558 */ // GIR_Coverage, 2570,
5818 /* 13558 */ GIR_Done,
5819 /* 13559 */ // Label 417: @13559
5820 /* 13559 */ GIM_Try, /*On fail goto*//*Label 418*/ GIMT_Encode4(13586), // Rule ID 2572 //
5821 /* 13564 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
5822 /* 13567 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5823 /* 13571 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5824 /* 13575 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5825 /* 13579 */ // (mul:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMULLWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
5826 /* 13579 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMULLWrr),
5827 /* 13584 */ GIR_RootConstrainSelectedInstOperands,
5828 /* 13585 */ // GIR_Coverage, 2572,
5829 /* 13585 */ GIR_Done,
5830 /* 13586 */ // Label 418: @13586
5831 /* 13586 */ GIM_Try, /*On fail goto*//*Label 419*/ GIMT_Encode4(13613), // Rule ID 4996 //
5832 /* 13591 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
5833 /* 13594 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5834 /* 13598 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5835 /* 13602 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5836 /* 13606 */ // (mul:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMULLWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
5837 /* 13606 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLWZ128rr),
5838 /* 13611 */ GIR_RootConstrainSelectedInstOperands,
5839 /* 13612 */ // GIR_Coverage, 4996,
5840 /* 13612 */ GIR_Done,
5841 /* 13613 */ // Label 419: @13613
5842 /* 13613 */ GIM_Reject,
5843 /* 13614 */ // Label 412: @13614
5844 /* 13614 */ GIM_Reject,
5845 /* 13615 */ // Label 361: @13615
5846 /* 13615 */ GIM_Try, /*On fail goto*//*Label 420*/ GIMT_Encode4(13929),
5847 /* 13620 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
5848 /* 13623 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
5849 /* 13626 */ GIM_Try, /*On fail goto*//*Label 421*/ GIMT_Encode4(13688), // Rule ID 23530 //
5850 /* 13631 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
5851 /* 13634 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5852 /* 13638 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5853 /* 13642 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5854 /* 13646 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5855 /* 13649 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5856 /* 13653 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5857 /* 13657 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5858 /* 13661 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5859 /* 13663 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5860 /* 13670 */ // (mul:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPMULLDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5861 /* 13670 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDYrm),
5862 /* 13673 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5863 /* 13675 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5864 /* 13677 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5865 /* 13681 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5866 /* 13686 */ GIR_RootConstrainSelectedInstOperands,
5867 /* 13687 */ // GIR_Coverage, 23530,
5868 /* 13687 */ GIR_EraseRootFromParent_Done,
5869 /* 13688 */ // Label 421: @13688
5870 /* 13688 */ GIM_Try, /*On fail goto*//*Label 422*/ GIMT_Encode4(13750), // Rule ID 23792 //
5871 /* 13693 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
5872 /* 13696 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5873 /* 13700 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5874 /* 13704 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5875 /* 13708 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5876 /* 13711 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5877 /* 13715 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5878 /* 13719 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5879 /* 13723 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5880 /* 13725 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5881 /* 13732 */ // (mul:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPMULLDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5882 /* 13732 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDZ256rm),
5883 /* 13735 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5884 /* 13737 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5885 /* 13739 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5886 /* 13743 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5887 /* 13748 */ GIR_RootConstrainSelectedInstOperands,
5888 /* 13749 */ // GIR_Coverage, 23792,
5889 /* 13749 */ GIR_EraseRootFromParent_Done,
5890 /* 13750 */ // Label 422: @13750
5891 /* 13750 */ GIM_Try, /*On fail goto*//*Label 423*/ GIMT_Encode4(13812), // Rule ID 3244 //
5892 /* 13755 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
5893 /* 13758 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5894 /* 13762 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5895 /* 13766 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5896 /* 13770 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5897 /* 13774 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5898 /* 13777 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5899 /* 13781 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5900 /* 13785 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5901 /* 13787 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5902 /* 13794 */ // (mul:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5903 /* 13794 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDYrm),
5904 /* 13797 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5905 /* 13799 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5906 /* 13801 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5907 /* 13805 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5908 /* 13810 */ GIR_RootConstrainSelectedInstOperands,
5909 /* 13811 */ // GIR_Coverage, 3244,
5910 /* 13811 */ GIR_EraseRootFromParent_Done,
5911 /* 13812 */ // Label 423: @13812
5912 /* 13812 */ GIM_Try, /*On fail goto*//*Label 424*/ GIMT_Encode4(13874), // Rule ID 4969 //
5913 /* 13817 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
5914 /* 13820 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5915 /* 13824 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5916 /* 13828 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5917 /* 13832 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5918 /* 13836 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5919 /* 13839 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5920 /* 13843 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5921 /* 13847 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5922 /* 13849 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5923 /* 13856 */ // (mul:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5924 /* 13856 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDZ256rm),
5925 /* 13859 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5926 /* 13861 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5927 /* 13863 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5928 /* 13867 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5929 /* 13872 */ GIR_RootConstrainSelectedInstOperands,
5930 /* 13873 */ // GIR_Coverage, 4969,
5931 /* 13873 */ GIR_EraseRootFromParent_Done,
5932 /* 13874 */ // Label 424: @13874
5933 /* 13874 */ GIM_Try, /*On fail goto*//*Label 425*/ GIMT_Encode4(13901), // Rule ID 3243 //
5934 /* 13879 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
5935 /* 13882 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5936 /* 13886 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5937 /* 13890 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5938 /* 13894 */ // (mul:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPMULLDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
5939 /* 13894 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLDYrr),
5940 /* 13899 */ GIR_RootConstrainSelectedInstOperands,
5941 /* 13900 */ // GIR_Coverage, 3243,
5942 /* 13900 */ GIR_Done,
5943 /* 13901 */ // Label 425: @13901
5944 /* 13901 */ GIM_Try, /*On fail goto*//*Label 426*/ GIMT_Encode4(13928), // Rule ID 4966 //
5945 /* 13906 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
5946 /* 13909 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5947 /* 13913 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5948 /* 13917 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5949 /* 13921 */ // (mul:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPMULLDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
5950 /* 13921 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLDZ256rr),
5951 /* 13926 */ GIR_RootConstrainSelectedInstOperands,
5952 /* 13927 */ // GIR_Coverage, 4966,
5953 /* 13927 */ GIR_Done,
5954 /* 13928 */ // Label 426: @13928
5955 /* 13928 */ GIM_Reject,
5956 /* 13929 */ // Label 420: @13929
5957 /* 13929 */ GIM_Reject,
5958 /* 13930 */ // Label 362: @13930
5959 /* 13930 */ GIM_Try, /*On fail goto*//*Label 427*/ GIMT_Encode4(14085),
5960 /* 13935 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
5961 /* 13938 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
5962 /* 13941 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5963 /* 13945 */ GIM_Try, /*On fail goto*//*Label 428*/ GIMT_Encode4(14003), // Rule ID 23813 //
5964 /* 13950 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
5965 /* 13953 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5966 /* 13957 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5967 /* 13961 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5968 /* 13964 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5969 /* 13968 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5970 /* 13972 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5971 /* 13976 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5972 /* 13978 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5973 /* 13985 */ // (mul:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPMULLQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
5974 /* 13985 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLQZrm),
5975 /* 13988 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5976 /* 13990 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5977 /* 13992 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5978 /* 13996 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5979 /* 14001 */ GIR_RootConstrainSelectedInstOperands,
5980 /* 14002 */ // GIR_Coverage, 23813,
5981 /* 14002 */ GIR_EraseRootFromParent_Done,
5982 /* 14003 */ // Label 428: @14003
5983 /* 14003 */ GIM_Try, /*On fail goto*//*Label 429*/ GIMT_Encode4(14061), // Rule ID 5005 //
5984 /* 14008 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
5985 /* 14011 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5986 /* 14015 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5987 /* 14019 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5988 /* 14023 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5989 /* 14026 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5990 /* 14030 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5991 /* 14034 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5992 /* 14036 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5993 /* 14043 */ // (mul:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
5994 /* 14043 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLQZrm),
5995 /* 14046 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5996 /* 14048 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5997 /* 14050 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5998 /* 14054 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5999 /* 14059 */ GIR_RootConstrainSelectedInstOperands,
6000 /* 14060 */ // GIR_Coverage, 5005,
6001 /* 14060 */ GIR_EraseRootFromParent_Done,
6002 /* 14061 */ // Label 429: @14061
6003 /* 14061 */ GIM_Try, /*On fail goto*//*Label 430*/ GIMT_Encode4(14084), // Rule ID 5002 //
6004 /* 14066 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
6005 /* 14069 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
6006 /* 14073 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
6007 /* 14077 */ // (mul:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPMULLQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
6008 /* 14077 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLQZrr),
6009 /* 14082 */ GIR_RootConstrainSelectedInstOperands,
6010 /* 14083 */ // GIR_Coverage, 5002,
6011 /* 14083 */ GIR_Done,
6012 /* 14084 */ // Label 430: @14084
6013 /* 14084 */ GIM_Reject,
6014 /* 14085 */ // Label 427: @14085
6015 /* 14085 */ GIM_Reject,
6016 /* 14086 */ // Label 363: @14086
6017 /* 14086 */ GIM_Try, /*On fail goto*//*Label 431*/ GIMT_Encode4(14400),
6018 /* 14091 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
6019 /* 14094 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
6020 /* 14097 */ GIM_Try, /*On fail goto*//*Label 432*/ GIMT_Encode4(14159), // Rule ID 23455 //
6021 /* 14102 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
6022 /* 14105 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
6023 /* 14109 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6024 /* 14113 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6025 /* 14117 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6026 /* 14120 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
6027 /* 14124 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6028 /* 14128 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
6029 /* 14132 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6030 /* 14134 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6031 /* 14141 */ // (mul:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMULLWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
6032 /* 14141 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWYrm),
6033 /* 14144 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6034 /* 14146 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
6035 /* 14148 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6036 /* 14152 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6037 /* 14157 */ GIR_RootConstrainSelectedInstOperands,
6038 /* 14158 */ // GIR_Coverage, 23455,
6039 /* 14158 */ GIR_EraseRootFromParent_Done,
6040 /* 14159 */ // Label 432: @14159
6041 /* 14159 */ GIM_Try, /*On fail goto*//*Label 433*/ GIMT_Encode4(14221), // Rule ID 23807 //
6042 /* 14164 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
6043 /* 14167 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
6044 /* 14171 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6045 /* 14175 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6046 /* 14179 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6047 /* 14182 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
6048 /* 14186 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6049 /* 14190 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
6050 /* 14194 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6051 /* 14196 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6052 /* 14203 */ // (mul:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMULLWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
6053 /* 14203 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWZ256rm),
6054 /* 14206 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6055 /* 14208 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
6056 /* 14210 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6057 /* 14214 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6058 /* 14219 */ GIR_RootConstrainSelectedInstOperands,
6059 /* 14220 */ // GIR_Coverage, 23807,
6060 /* 14220 */ GIR_EraseRootFromParent_Done,
6061 /* 14221 */ // Label 433: @14221
6062 /* 14221 */ GIM_Try, /*On fail goto*//*Label 434*/ GIMT_Encode4(14283), // Rule ID 2575 //
6063 /* 14226 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
6064 /* 14229 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
6065 /* 14233 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
6066 /* 14237 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6067 /* 14241 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6068 /* 14245 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6069 /* 14248 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
6070 /* 14252 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6071 /* 14256 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6072 /* 14258 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6073 /* 14265 */ // (mul:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
6074 /* 14265 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWYrm),
6075 /* 14268 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6076 /* 14270 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6077 /* 14272 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6078 /* 14276 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6079 /* 14281 */ GIR_RootConstrainSelectedInstOperands,
6080 /* 14282 */ // GIR_Coverage, 2575,
6081 /* 14282 */ GIR_EraseRootFromParent_Done,
6082 /* 14283 */ // Label 434: @14283
6083 /* 14283 */ GIM_Try, /*On fail goto*//*Label 435*/ GIMT_Encode4(14345), // Rule ID 4993 //
6084 /* 14288 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
6085 /* 14291 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
6086 /* 14295 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
6087 /* 14299 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6088 /* 14303 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6089 /* 14307 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6090 /* 14310 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
6091 /* 14314 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6092 /* 14318 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6093 /* 14320 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6094 /* 14327 */ // (mul:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
6095 /* 14327 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWZ256rm),
6096 /* 14330 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6097 /* 14332 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6098 /* 14334 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6099 /* 14338 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6100 /* 14343 */ GIR_RootConstrainSelectedInstOperands,
6101 /* 14344 */ // GIR_Coverage, 4993,
6102 /* 14344 */ GIR_EraseRootFromParent_Done,
6103 /* 14345 */ // Label 435: @14345
6104 /* 14345 */ GIM_Try, /*On fail goto*//*Label 436*/ GIMT_Encode4(14372), // Rule ID 2574 //
6105 /* 14350 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
6106 /* 14353 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
6107 /* 14357 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
6108 /* 14361 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
6109 /* 14365 */ // (mul:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMULLWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
6110 /* 14365 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLWYrr),
6111 /* 14370 */ GIR_RootConstrainSelectedInstOperands,
6112 /* 14371 */ // GIR_Coverage, 2574,
6113 /* 14371 */ GIR_Done,
6114 /* 14372 */ // Label 436: @14372
6115 /* 14372 */ GIM_Try, /*On fail goto*//*Label 437*/ GIMT_Encode4(14399), // Rule ID 4990 //
6116 /* 14377 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
6117 /* 14380 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
6118 /* 14384 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
6119 /* 14388 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
6120 /* 14392 */ // (mul:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMULLWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
6121 /* 14392 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLWZ256rr),
6122 /* 14397 */ GIR_RootConstrainSelectedInstOperands,
6123 /* 14398 */ // GIR_Coverage, 4990,
6124 /* 14398 */ GIR_Done,
6125 /* 14399 */ // Label 437: @14399
6126 /* 14399 */ GIM_Reject,
6127 /* 14400 */ // Label 431: @14400
6128 /* 14400 */ GIM_Reject,
6129 /* 14401 */ // Label 364: @14401
6130 /* 14401 */ GIM_Try, /*On fail goto*//*Label 438*/ GIMT_Encode4(14556),
6131 /* 14406 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
6132 /* 14409 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
6133 /* 14412 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
6134 /* 14416 */ GIM_Try, /*On fail goto*//*Label 439*/ GIMT_Encode4(14474), // Rule ID 23786 //
6135 /* 14421 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
6136 /* 14424 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6137 /* 14428 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6138 /* 14432 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6139 /* 14435 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
6140 /* 14439 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6141 /* 14443 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
6142 /* 14447 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6143 /* 14449 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6144 /* 14456 */ // (mul:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPMULLDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
6145 /* 14456 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDZrm),
6146 /* 14459 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6147 /* 14461 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
6148 /* 14463 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6149 /* 14467 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6150 /* 14472 */ GIR_RootConstrainSelectedInstOperands,
6151 /* 14473 */ // GIR_Coverage, 23786,
6152 /* 14473 */ GIR_EraseRootFromParent_Done,
6153 /* 14474 */ // Label 439: @14474
6154 /* 14474 */ GIM_Try, /*On fail goto*//*Label 440*/ GIMT_Encode4(14532), // Rule ID 4960 //
6155 /* 14479 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
6156 /* 14482 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
6157 /* 14486 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6158 /* 14490 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6159 /* 14494 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6160 /* 14497 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
6161 /* 14501 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6162 /* 14505 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6163 /* 14507 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6164 /* 14514 */ // (mul:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
6165 /* 14514 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDZrm),
6166 /* 14517 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6167 /* 14519 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6168 /* 14521 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6169 /* 14525 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6170 /* 14530 */ GIR_RootConstrainSelectedInstOperands,
6171 /* 14531 */ // GIR_Coverage, 4960,
6172 /* 14531 */ GIR_EraseRootFromParent_Done,
6173 /* 14532 */ // Label 440: @14532
6174 /* 14532 */ GIM_Try, /*On fail goto*//*Label 441*/ GIMT_Encode4(14555), // Rule ID 4957 //
6175 /* 14537 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
6176 /* 14540 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
6177 /* 14544 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
6178 /* 14548 */ // (mul:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPMULLDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
6179 /* 14548 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLDZrr),
6180 /* 14553 */ GIR_RootConstrainSelectedInstOperands,
6181 /* 14554 */ // GIR_Coverage, 4957,
6182 /* 14554 */ GIR_Done,
6183 /* 14555 */ // Label 441: @14555
6184 /* 14555 */ GIM_Reject,
6185 /* 14556 */ // Label 438: @14556
6186 /* 14556 */ GIM_Reject,
6187 /* 14557 */ // Label 365: @14557
6188 /* 14557 */ GIM_Try, /*On fail goto*//*Label 442*/ GIMT_Encode4(14712),
6189 /* 14562 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
6190 /* 14565 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
6191 /* 14568 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
6192 /* 14572 */ GIM_Try, /*On fail goto*//*Label 443*/ GIMT_Encode4(14630), // Rule ID 23804 //
6193 /* 14577 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
6194 /* 14580 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6195 /* 14584 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6196 /* 14588 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6197 /* 14591 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
6198 /* 14595 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6199 /* 14599 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
6200 /* 14603 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6201 /* 14605 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6202 /* 14612 */ // (mul:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMULLWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
6203 /* 14612 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWZrm),
6204 /* 14615 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6205 /* 14617 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
6206 /* 14619 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6207 /* 14623 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6208 /* 14628 */ GIR_RootConstrainSelectedInstOperands,
6209 /* 14629 */ // GIR_Coverage, 23804,
6210 /* 14629 */ GIR_EraseRootFromParent_Done,
6211 /* 14630 */ // Label 443: @14630
6212 /* 14630 */ GIM_Try, /*On fail goto*//*Label 444*/ GIMT_Encode4(14688), // Rule ID 4987 //
6213 /* 14635 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
6214 /* 14638 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
6215 /* 14642 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6216 /* 14646 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6217 /* 14650 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6218 /* 14653 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
6219 /* 14657 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6220 /* 14661 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6221 /* 14663 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6222 /* 14670 */ // (mul:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
6223 /* 14670 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWZrm),
6224 /* 14673 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6225 /* 14675 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6226 /* 14677 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6227 /* 14681 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6228 /* 14686 */ GIR_RootConstrainSelectedInstOperands,
6229 /* 14687 */ // GIR_Coverage, 4987,
6230 /* 14687 */ GIR_EraseRootFromParent_Done,
6231 /* 14688 */ // Label 444: @14688
6232 /* 14688 */ GIM_Try, /*On fail goto*//*Label 445*/ GIMT_Encode4(14711), // Rule ID 4984 //
6233 /* 14693 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
6234 /* 14696 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
6235 /* 14700 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
6236 /* 14704 */ // (mul:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMULLWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
6237 /* 14704 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLWZrr),
6238 /* 14709 */ GIR_RootConstrainSelectedInstOperands,
6239 /* 14710 */ // GIR_Coverage, 4984,
6240 /* 14710 */ GIR_Done,
6241 /* 14711 */ // Label 445: @14711
6242 /* 14711 */ GIM_Reject,
6243 /* 14712 */ // Label 442: @14712
6244 /* 14712 */ GIM_Reject,
6245 /* 14713 */ // Label 366: @14713
6246 /* 14713 */ GIM_Reject,
6247 /* 14714 */ // Label 3: @14714
6248 /* 14714 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(25), /*)*//*default:*//*Label 469*/ GIMT_Encode4(25305),
6249 /* 14725 */ /*GILLT_s1*//*Label 446*/ GIMT_Encode4(14825),
6250 /* 14729 */ /*GILLT_s8*//*Label 447*/ GIMT_Encode4(15171),
6251 /* 14733 */ /*GILLT_s16*//*Label 448*/ GIMT_Encode4(15564),
6252 /* 14737 */ /*GILLT_s32*//*Label 449*/ GIMT_Encode4(16249),
6253 /* 14741 */ /*GILLT_s64*//*Label 450*/ GIMT_Encode4(18075), GIMT_Encode4(0), GIMT_Encode4(0),
6254 /* 14753 */ /*GILLT_v2s1*//*Label 451*/ GIMT_Encode4(19779),
6255 /* 14757 */ /*GILLT_v2s64*//*Label 452*/ GIMT_Encode4(20125),
6256 /* 14761 */ /*GILLT_v4s1*//*Label 453*/ GIMT_Encode4(20467),
6257 /* 14765 */ /*GILLT_v4s32*//*Label 454*/ GIMT_Encode4(20813),
6258 /* 14769 */ /*GILLT_v4s64*//*Label 455*/ GIMT_Encode4(21155),
6259 /* 14773 */ /*GILLT_v8s1*//*Label 456*/ GIMT_Encode4(21621),
6260 /* 14777 */ /*GILLT_v8s16*//*Label 457*/ GIMT_Encode4(22119),
6261 /* 14781 */ /*GILLT_v8s32*//*Label 458*/ GIMT_Encode4(22461),
6262 /* 14785 */ /*GILLT_v8s64*//*Label 459*/ GIMT_Encode4(22927),
6263 /* 14789 */ /*GILLT_v16s1*//*Label 460*/ GIMT_Encode4(23083),
6264 /* 14793 */ /*GILLT_v16s8*//*Label 461*/ GIMT_Encode4(23243),
6265 /* 14797 */ /*GILLT_v16s16*//*Label 462*/ GIMT_Encode4(23585),
6266 /* 14801 */ /*GILLT_v16s32*//*Label 463*/ GIMT_Encode4(24051),
6267 /* 14805 */ /*GILLT_v32s1*//*Label 464*/ GIMT_Encode4(24207),
6268 /* 14809 */ /*GILLT_v32s8*//*Label 465*/ GIMT_Encode4(24367),
6269 /* 14813 */ /*GILLT_v32s16*//*Label 466*/ GIMT_Encode4(24833),
6270 /* 14817 */ /*GILLT_v64s1*//*Label 467*/ GIMT_Encode4(24989),
6271 /* 14821 */ /*GILLT_v64s8*//*Label 468*/ GIMT_Encode4(25149),
6272 /* 14825 */ // Label 446: @14825
6273 /* 14825 */ GIM_Try, /*On fail goto*//*Label 470*/ GIMT_Encode4(15170),
6274 /* 14830 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s1,
6275 /* 14833 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s1,
6276 /* 14836 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
6277 /* 14840 */ GIM_Try, /*On fail goto*//*Label 471*/ GIMT_Encode4(14960), // Rule ID 19488 //
6278 /* 14845 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6279 /* 14849 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6280 /* 14853 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s1,
6281 /* 14857 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s1,
6282 /* 14861 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
6283 /* 14866 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
6284 /* 14870 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
6285 /* 14876 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
6286 /* 14878 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
6287 /* 14882 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6288 /* 14884 */ // (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] })
6289 /* 14884 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
6290 /* 14887 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
6291 /* 14891 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
6292 /* 14896 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
6293 /* 14900 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
6294 /* 14905 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
6295 /* 14908 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
6296 /* 14912 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
6297 /* 14917 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
6298 /* 14921 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
6299 /* 14926 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
6300 /* 14929 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
6301 /* 14933 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
6302 /* 14938 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
6303 /* 14941 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
6304 /* 14944 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
6305 /* 14946 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
6306 /* 14949 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6307 /* 14951 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6308 /* 14954 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
6309 /* 14959 */ // GIR_Coverage, 19488,
6310 /* 14959 */ GIR_EraseRootFromParent_Done,
6311 /* 14960 */ // Label 471: @14960
6312 /* 14960 */ GIM_Try, /*On fail goto*//*Label 472*/ GIMT_Encode4(15080), // Rule ID 25367 //
6313 /* 14965 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
6314 /* 14969 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6315 /* 14973 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6316 /* 14977 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s1,
6317 /* 14981 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s1,
6318 /* 14985 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
6319 /* 14990 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
6320 /* 14994 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
6321 /* 15000 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
6322 /* 15002 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6323 /* 15004 */ // (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] })
6324 /* 15004 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
6325 /* 15007 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
6326 /* 15011 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
6327 /* 15016 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
6328 /* 15020 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
6329 /* 15025 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
6330 /* 15028 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
6331 /* 15032 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
6332 /* 15037 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
6333 /* 15041 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
6334 /* 15046 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
6335 /* 15049 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
6336 /* 15053 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
6337 /* 15058 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
6338 /* 15061 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
6339 /* 15064 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
6340 /* 15066 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
6341 /* 15069 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6342 /* 15071 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6343 /* 15074 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
6344 /* 15079 */ // GIR_Coverage, 25367,
6345 /* 15079 */ GIR_EraseRootFromParent_Done,
6346 /* 15080 */ // Label 472: @15080
6347 /* 15080 */ GIM_Try, /*On fail goto*//*Label 473*/ GIMT_Encode4(15169), // Rule ID 19484 //
6348 /* 15085 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
6349 /* 15089 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
6350 /* 15093 */ // (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] })
6351 /* 15093 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
6352 /* 15096 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
6353 /* 15100 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
6354 /* 15105 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
6355 /* 15109 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
6356 /* 15114 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
6357 /* 15117 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
6358 /* 15121 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
6359 /* 15126 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
6360 /* 15130 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
6361 /* 15135 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
6362 /* 15138 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDWkk),
6363 /* 15142 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
6364 /* 15147 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
6365 /* 15150 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
6366 /* 15153 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
6367 /* 15155 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
6368 /* 15158 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6369 /* 15160 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6370 /* 15163 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
6371 /* 15168 */ // GIR_Coverage, 19484,
6372 /* 15168 */ GIR_EraseRootFromParent_Done,
6373 /* 15169 */ // Label 473: @15169
6374 /* 15169 */ GIM_Reject,
6375 /* 15170 */ // Label 470: @15170
6376 /* 15170 */ GIM_Reject,
6377 /* 15171 */ // Label 447: @15171
6378 /* 15171 */ GIM_Try, /*On fail goto*//*Label 474*/ GIMT_Encode4(15563),
6379 /* 15176 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
6380 /* 15179 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
6381 /* 15182 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6382 /* 15186 */ GIM_Try, /*On fail goto*//*Label 475*/ GIMT_Encode4(15247), // Rule ID 26069 //
6383 /* 15191 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6384 /* 15194 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6385 /* 15198 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6386 /* 15202 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6387 /* 15205 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6388 /* 15209 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
6389 /* 15213 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6390 /* 15217 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6391 /* 15219 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6392 /* 15226 */ // (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)
6393 /* 15226 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8rm),
6394 /* 15229 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6395 /* 15231 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
6396 /* 15233 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6397 /* 15237 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6398 /* 15240 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6399 /* 15245 */ GIR_RootConstrainSelectedInstOperands,
6400 /* 15246 */ // GIR_Coverage, 26069,
6401 /* 15246 */ GIR_EraseRootFromParent_Done,
6402 /* 15247 */ // Label 475: @15247
6403 /* 15247 */ GIM_Try, /*On fail goto*//*Label 476*/ GIMT_Encode4(15308), // Rule ID 26088 //
6404 /* 15252 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
6405 /* 15255 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6406 /* 15259 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6407 /* 15263 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6408 /* 15266 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6409 /* 15270 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
6410 /* 15274 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6411 /* 15278 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6412 /* 15280 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6413 /* 15287 */ // (and:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, GR8:{ *:[i8] }:$src1) => (AND8rm_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, addr:{ *:[iPTR] }:$src2)
6414 /* 15287 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8rm_ND),
6415 /* 15290 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6416 /* 15292 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
6417 /* 15294 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6418 /* 15298 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6419 /* 15301 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6420 /* 15306 */ GIR_RootConstrainSelectedInstOperands,
6421 /* 15307 */ // GIR_Coverage, 26088,
6422 /* 15307 */ GIR_EraseRootFromParent_Done,
6423 /* 15308 */ // Label 476: @15308
6424 /* 15308 */ GIM_Try, /*On fail goto*//*Label 477*/ GIMT_Encode4(15369), // Rule ID 22854 //
6425 /* 15313 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6426 /* 15316 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6427 /* 15320 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6428 /* 15324 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6429 /* 15328 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6430 /* 15331 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6431 /* 15335 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
6432 /* 15339 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6433 /* 15341 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6434 /* 15348 */ // (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)
6435 /* 15348 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8rm),
6436 /* 15351 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6437 /* 15353 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6438 /* 15355 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6439 /* 15359 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6440 /* 15362 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6441 /* 15367 */ GIR_RootConstrainSelectedInstOperands,
6442 /* 15368 */ // GIR_Coverage, 22854,
6443 /* 15368 */ GIR_EraseRootFromParent_Done,
6444 /* 15369 */ // Label 477: @15369
6445 /* 15369 */ GIM_Try, /*On fail goto*//*Label 478*/ GIMT_Encode4(15430), // Rule ID 22944 //
6446 /* 15374 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
6447 /* 15377 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6448 /* 15381 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6449 /* 15385 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6450 /* 15389 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6451 /* 15392 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6452 /* 15396 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
6453 /* 15400 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6454 /* 15402 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6455 /* 15409 */ // (and:{ *:[i8] } GR8:{ *:[i8] }:$src1, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>) => (AND8rm_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, addr:{ *:[iPTR] }:$src2)
6456 /* 15409 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8rm_ND),
6457 /* 15412 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6458 /* 15414 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6459 /* 15416 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6460 /* 15420 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6461 /* 15423 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6462 /* 15428 */ GIR_RootConstrainSelectedInstOperands,
6463 /* 15429 */ // GIR_Coverage, 22944,
6464 /* 15429 */ GIR_EraseRootFromParent_Done,
6465 /* 15430 */ // Label 478: @15430
6466 /* 15430 */ GIM_Try, /*On fail goto*//*Label 479*/ GIMT_Encode4(15467), // Rule ID 22858 //
6467 /* 15435 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6468 /* 15438 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6469 /* 15442 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6470 /* 15446 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
6471 /* 15450 */ // MIs[1] Operand 1
6472 /* 15450 */ // No operand predicates
6473 /* 15450 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6474 /* 15452 */ // (and:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (AND8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
6475 /* 15452 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8ri),
6476 /* 15455 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6477 /* 15457 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6478 /* 15459 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
6479 /* 15462 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6480 /* 15465 */ GIR_RootConstrainSelectedInstOperands,
6481 /* 15466 */ // GIR_Coverage, 22858,
6482 /* 15466 */ GIR_EraseRootFromParent_Done,
6483 /* 15467 */ // Label 479: @15467
6484 /* 15467 */ GIM_Try, /*On fail goto*//*Label 480*/ GIMT_Encode4(15504), // Rule ID 22948 //
6485 /* 15472 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
6486 /* 15475 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6487 /* 15479 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6488 /* 15483 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
6489 /* 15487 */ // MIs[1] Operand 1
6490 /* 15487 */ // No operand predicates
6491 /* 15487 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6492 /* 15489 */ // (and:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (AND8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
6493 /* 15489 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8ri_ND),
6494 /* 15492 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6495 /* 15494 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6496 /* 15496 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
6497 /* 15499 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6498 /* 15502 */ GIR_RootConstrainSelectedInstOperands,
6499 /* 15503 */ // GIR_Coverage, 22948,
6500 /* 15503 */ GIR_EraseRootFromParent_Done,
6501 /* 15504 */ // Label 480: @15504
6502 /* 15504 */ GIM_Try, /*On fail goto*//*Label 481*/ GIMT_Encode4(15533), // Rule ID 22850 //
6503 /* 15509 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6504 /* 15512 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6505 /* 15516 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6506 /* 15520 */ // (and:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (AND8rr:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
6507 /* 15520 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND8rr),
6508 /* 15525 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
6509 /* 15531 */ GIR_RootConstrainSelectedInstOperands,
6510 /* 15532 */ // GIR_Coverage, 22850,
6511 /* 15532 */ GIR_Done,
6512 /* 15533 */ // Label 481: @15533
6513 /* 15533 */ GIM_Try, /*On fail goto*//*Label 482*/ GIMT_Encode4(15562), // Rule ID 22940 //
6514 /* 15538 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
6515 /* 15541 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6516 /* 15545 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6517 /* 15549 */ // (and:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (AND8rr_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
6518 /* 15549 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND8rr_ND),
6519 /* 15554 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
6520 /* 15560 */ GIR_RootConstrainSelectedInstOperands,
6521 /* 15561 */ // GIR_Coverage, 22940,
6522 /* 15561 */ GIR_Done,
6523 /* 15562 */ // Label 482: @15562
6524 /* 15562 */ GIM_Reject,
6525 /* 15563 */ // Label 474: @15563
6526 /* 15563 */ GIM_Reject,
6527 /* 15564 */ // Label 448: @15564
6528 /* 15564 */ GIM_Try, /*On fail goto*//*Label 483*/ GIMT_Encode4(16248),
6529 /* 15569 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
6530 /* 15572 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
6531 /* 15575 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6532 /* 15579 */ GIM_Try, /*On fail goto*//*Label 484*/ GIMT_Encode4(15640), // Rule ID 26070 //
6533 /* 15584 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6534 /* 15587 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6535 /* 15591 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6536 /* 15595 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6537 /* 15598 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6538 /* 15602 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
6539 /* 15606 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6540 /* 15610 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6541 /* 15612 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6542 /* 15619 */ // (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)
6543 /* 15619 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16rm),
6544 /* 15622 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6545 /* 15624 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
6546 /* 15626 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6547 /* 15630 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6548 /* 15633 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6549 /* 15638 */ GIR_RootConstrainSelectedInstOperands,
6550 /* 15639 */ // GIR_Coverage, 26070,
6551 /* 15639 */ GIR_EraseRootFromParent_Done,
6552 /* 15640 */ // Label 484: @15640
6553 /* 15640 */ GIM_Try, /*On fail goto*//*Label 485*/ GIMT_Encode4(15701), // Rule ID 26089 //
6554 /* 15645 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
6555 /* 15648 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6556 /* 15652 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6557 /* 15656 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6558 /* 15659 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6559 /* 15663 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
6560 /* 15667 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6561 /* 15671 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6562 /* 15673 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6563 /* 15680 */ // (and:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, GR16:{ *:[i16] }:$src1) => (AND16rm_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, addr:{ *:[iPTR] }:$src2)
6564 /* 15680 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16rm_ND),
6565 /* 15683 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6566 /* 15685 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
6567 /* 15687 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6568 /* 15691 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6569 /* 15694 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6570 /* 15699 */ GIR_RootConstrainSelectedInstOperands,
6571 /* 15700 */ // GIR_Coverage, 26089,
6572 /* 15700 */ GIR_EraseRootFromParent_Done,
6573 /* 15701 */ // Label 485: @15701
6574 /* 15701 */ GIM_Try, /*On fail goto*//*Label 486*/ GIMT_Encode4(15762), // Rule ID 22855 //
6575 /* 15706 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6576 /* 15709 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6577 /* 15713 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6578 /* 15717 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6579 /* 15721 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6580 /* 15724 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6581 /* 15728 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
6582 /* 15732 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6583 /* 15734 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6584 /* 15741 */ // (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)
6585 /* 15741 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16rm),
6586 /* 15744 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6587 /* 15746 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6588 /* 15748 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6589 /* 15752 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6590 /* 15755 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6591 /* 15760 */ GIR_RootConstrainSelectedInstOperands,
6592 /* 15761 */ // GIR_Coverage, 22855,
6593 /* 15761 */ GIR_EraseRootFromParent_Done,
6594 /* 15762 */ // Label 486: @15762
6595 /* 15762 */ GIM_Try, /*On fail goto*//*Label 487*/ GIMT_Encode4(15823), // Rule ID 22945 //
6596 /* 15767 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
6597 /* 15770 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6598 /* 15774 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6599 /* 15778 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6600 /* 15782 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6601 /* 15785 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6602 /* 15789 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
6603 /* 15793 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6604 /* 15795 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6605 /* 15802 */ // (and:{ *:[i16] } GR16:{ *:[i16] }:$src1, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (AND16rm_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, addr:{ *:[iPTR] }:$src2)
6606 /* 15802 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16rm_ND),
6607 /* 15805 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6608 /* 15807 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6609 /* 15809 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6610 /* 15813 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6611 /* 15816 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6612 /* 15821 */ GIR_RootConstrainSelectedInstOperands,
6613 /* 15822 */ // GIR_Coverage, 22945,
6614 /* 15822 */ GIR_EraseRootFromParent_Done,
6615 /* 15823 */ // Label 487: @15823
6616 /* 15823 */ GIM_Try, /*On fail goto*//*Label 488*/ GIMT_Encode4(15925), // Rule ID 26036 //
6617 /* 15828 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6618 /* 15832 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
6619 /* 15836 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
6620 /* 15840 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
6621 /* 15844 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, uint8_t(-2),
6622 /* 15848 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6623 /* 15853 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6624 /* 15857 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6625 /* 15859 */ // (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] }))
6626 /* 15859 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s16,
6627 /* 15862 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
6628 /* 15866 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
6629 /* 15871 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
6630 /* 15873 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
6631 /* 15876 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
6632 /* 15880 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
6633 /* 15885 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
6634 /* 15888 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
6635 /* 15892 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
6636 /* 15895 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
6637 /* 15900 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
6638 /* 15905 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
6639 /* 15910 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTR16rr),
6640 /* 15913 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6641 /* 15915 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
6642 /* 15917 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6643 /* 15920 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6644 /* 15923 */ GIR_RootConstrainSelectedInstOperands,
6645 /* 15924 */ // GIR_Coverage, 26036,
6646 /* 15924 */ GIR_EraseRootFromParent_Done,
6647 /* 15925 */ // Label 488: @15925
6648 /* 15925 */ GIM_Try, /*On fail goto*//*Label 489*/ GIMT_Encode4(16027), // Rule ID 22774 //
6649 /* 15930 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6650 /* 15934 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6651 /* 15938 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
6652 /* 15942 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
6653 /* 15946 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
6654 /* 15950 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, uint8_t(-2),
6655 /* 15954 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6656 /* 15959 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6657 /* 15961 */ // (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] }))
6658 /* 15961 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s16,
6659 /* 15964 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
6660 /* 15968 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
6661 /* 15973 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
6662 /* 15975 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
6663 /* 15978 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
6664 /* 15982 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
6665 /* 15987 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
6666 /* 15990 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
6667 /* 15994 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
6668 /* 15997 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
6669 /* 16002 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
6670 /* 16007 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
6671 /* 16012 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTR16rr),
6672 /* 16015 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6673 /* 16017 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6674 /* 16019 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6675 /* 16022 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6676 /* 16025 */ GIR_RootConstrainSelectedInstOperands,
6677 /* 16026 */ // GIR_Coverage, 22774,
6678 /* 16026 */ GIR_EraseRootFromParent_Done,
6679 /* 16027 */ // Label 489: @16027
6680 /* 16027 */ GIM_Try, /*On fail goto*//*Label 490*/ GIMT_Encode4(16115), // Rule ID 22634 //
6681 /* 16032 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6682 /* 16036 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(255),
6683 /* 16047 */ // (and:{ *:[i16] } GR16:{ *:[i16] }:$src1, 255:{ *:[i16] }) => (EXTRACT_SUBREG:{ *:[i16] } (MOVZX32rr8:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i8] } GR16:{ *:[i16] }:$src1, sub_8bit:{ *:[i32] })), sub_16bit:{ *:[i32] })
6684 /* 16047 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s8,
6685 /* 16050 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
6686 /* 16054 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
6687 /* 16059 */ GIR_CopySubReg, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // src1
6688 /* 16065 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
6689 /* 16070 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
6690 /* 16075 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
6691 /* 16078 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
6692 /* 16082 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
6693 /* 16087 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
6694 /* 16090 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
6695 /* 16092 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
6696 /* 16095 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6697 /* 16097 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
6698 /* 16104 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
6699 /* 16109 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
6700 /* 16114 */ // GIR_Coverage, 22634,
6701 /* 16114 */ GIR_EraseRootFromParent_Done,
6702 /* 16115 */ // Label 490: @16115
6703 /* 16115 */ GIM_Try, /*On fail goto*//*Label 491*/ GIMT_Encode4(16152), // Rule ID 22859 //
6704 /* 16120 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6705 /* 16123 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6706 /* 16127 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6707 /* 16131 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
6708 /* 16135 */ // MIs[1] Operand 1
6709 /* 16135 */ // No operand predicates
6710 /* 16135 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6711 /* 16137 */ // (and:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (AND16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
6712 /* 16137 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16ri),
6713 /* 16140 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6714 /* 16142 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6715 /* 16144 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
6716 /* 16147 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6717 /* 16150 */ GIR_RootConstrainSelectedInstOperands,
6718 /* 16151 */ // GIR_Coverage, 22859,
6719 /* 16151 */ GIR_EraseRootFromParent_Done,
6720 /* 16152 */ // Label 491: @16152
6721 /* 16152 */ GIM_Try, /*On fail goto*//*Label 492*/ GIMT_Encode4(16189), // Rule ID 22949 //
6722 /* 16157 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
6723 /* 16160 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6724 /* 16164 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6725 /* 16168 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
6726 /* 16172 */ // MIs[1] Operand 1
6727 /* 16172 */ // No operand predicates
6728 /* 16172 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6729 /* 16174 */ // (and:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (AND16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
6730 /* 16174 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16ri_ND),
6731 /* 16177 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6732 /* 16179 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6733 /* 16181 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
6734 /* 16184 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6735 /* 16187 */ GIR_RootConstrainSelectedInstOperands,
6736 /* 16188 */ // GIR_Coverage, 22949,
6737 /* 16188 */ GIR_EraseRootFromParent_Done,
6738 /* 16189 */ // Label 492: @16189
6739 /* 16189 */ GIM_Try, /*On fail goto*//*Label 493*/ GIMT_Encode4(16218), // Rule ID 22851 //
6740 /* 16194 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6741 /* 16197 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6742 /* 16201 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6743 /* 16205 */ // (and:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (AND16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
6744 /* 16205 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND16rr),
6745 /* 16210 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
6746 /* 16216 */ GIR_RootConstrainSelectedInstOperands,
6747 /* 16217 */ // GIR_Coverage, 22851,
6748 /* 16217 */ GIR_Done,
6749 /* 16218 */ // Label 493: @16218
6750 /* 16218 */ GIM_Try, /*On fail goto*//*Label 494*/ GIMT_Encode4(16247), // Rule ID 22941 //
6751 /* 16223 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
6752 /* 16226 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6753 /* 16230 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6754 /* 16234 */ // (and:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (AND16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
6755 /* 16234 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND16rr_ND),
6756 /* 16239 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
6757 /* 16245 */ GIR_RootConstrainSelectedInstOperands,
6758 /* 16246 */ // GIR_Coverage, 22941,
6759 /* 16246 */ GIR_Done,
6760 /* 16247 */ // Label 494: @16247
6761 /* 16247 */ GIM_Reject,
6762 /* 16248 */ // Label 483: @16248
6763 /* 16248 */ GIM_Reject,
6764 /* 16249 */ // Label 449: @16249
6765 /* 16249 */ GIM_Try, /*On fail goto*//*Label 495*/ GIMT_Encode4(18074),
6766 /* 16254 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
6767 /* 16257 */ GIM_Try, /*On fail goto*//*Label 496*/ GIMT_Encode4(16349), // Rule ID 17546 //
6768 /* 16262 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_NoEGPR),
6769 /* 16265 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6770 /* 16268 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6771 /* 16272 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6772 /* 16276 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6773 /* 16280 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6774 /* 16284 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6775 /* 16288 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6776 /* 16293 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
6777 /* 16297 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6778 /* 16301 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
6779 /* 16305 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6780 /* 16308 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
6781 /* 16312 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
6782 /* 16316 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6783 /* 16318 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6784 /* 16325 */ // (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)
6785 /* 16325 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rm),
6786 /* 16328 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6787 /* 16330 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6788 /* 16334 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6789 /* 16338 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6790 /* 16341 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
6791 /* 16347 */ GIR_RootConstrainSelectedInstOperands,
6792 /* 16348 */ // GIR_Coverage, 17546,
6793 /* 16348 */ GIR_EraseRootFromParent_Done,
6794 /* 16349 */ // Label 496: @16349
6795 /* 16349 */ GIM_Try, /*On fail goto*//*Label 497*/ GIMT_Encode4(16441), // Rule ID 17550 //
6796 /* 16354 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_HasEGPR),
6797 /* 16357 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6798 /* 16360 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6799 /* 16364 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6800 /* 16368 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6801 /* 16372 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6802 /* 16376 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6803 /* 16380 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6804 /* 16385 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
6805 /* 16389 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6806 /* 16393 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
6807 /* 16397 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6808 /* 16400 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
6809 /* 16404 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
6810 /* 16408 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6811 /* 16410 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6812 /* 16417 */ // (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)
6813 /* 16417 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rm_EVEX),
6814 /* 16420 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6815 /* 16422 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6816 /* 16426 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6817 /* 16430 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6818 /* 16433 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
6819 /* 16439 */ GIR_RootConstrainSelectedInstOperands,
6820 /* 16440 */ // GIR_Coverage, 17550,
6821 /* 16440 */ GIR_EraseRootFromParent_Done,
6822 /* 16441 */ // Label 497: @16441
6823 /* 16441 */ GIM_Try, /*On fail goto*//*Label 498*/ GIMT_Encode4(16533), // Rule ID 25103 //
6824 /* 16446 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_NoEGPR),
6825 /* 16449 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6826 /* 16452 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6827 /* 16456 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6828 /* 16460 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6829 /* 16464 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6830 /* 16467 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6831 /* 16471 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
6832 /* 16475 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6833 /* 16479 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
6834 /* 16483 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
6835 /* 16487 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
6836 /* 16491 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6837 /* 16496 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, uint8_t(-1),
6838 /* 16500 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6839 /* 16502 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6840 /* 16509 */ // (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)
6841 /* 16509 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rm),
6842 /* 16512 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6843 /* 16514 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // src1
6844 /* 16518 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6845 /* 16522 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6846 /* 16525 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
6847 /* 16531 */ GIR_RootConstrainSelectedInstOperands,
6848 /* 16532 */ // GIR_Coverage, 25103,
6849 /* 16532 */ GIR_EraseRootFromParent_Done,
6850 /* 16533 */ // Label 498: @16533
6851 /* 16533 */ GIM_Try, /*On fail goto*//*Label 499*/ GIMT_Encode4(16625), // Rule ID 25107 //
6852 /* 16538 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_HasEGPR),
6853 /* 16541 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6854 /* 16544 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6855 /* 16548 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6856 /* 16552 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6857 /* 16556 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6858 /* 16559 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6859 /* 16563 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
6860 /* 16567 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6861 /* 16571 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
6862 /* 16575 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
6863 /* 16579 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
6864 /* 16583 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6865 /* 16588 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, uint8_t(-1),
6866 /* 16592 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6867 /* 16594 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6868 /* 16601 */ // (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)
6869 /* 16601 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rm_EVEX),
6870 /* 16604 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6871 /* 16606 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // src1
6872 /* 16610 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6873 /* 16614 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6874 /* 16617 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
6875 /* 16623 */ GIR_RootConstrainSelectedInstOperands,
6876 /* 16624 */ // GIR_Coverage, 25107,
6877 /* 16624 */ GIR_EraseRootFromParent_Done,
6878 /* 16625 */ // Label 499: @16625
6879 /* 16625 */ GIM_Try, /*On fail goto*//*Label 500*/ GIMT_Encode4(16693), // Rule ID 26071 //
6880 /* 16630 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6881 /* 16633 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6882 /* 16636 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6883 /* 16640 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6884 /* 16644 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6885 /* 16648 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6886 /* 16651 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6887 /* 16655 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
6888 /* 16659 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6889 /* 16663 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6890 /* 16665 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6891 /* 16672 */ // (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)
6892 /* 16672 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32rm),
6893 /* 16675 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6894 /* 16677 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
6895 /* 16679 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6896 /* 16683 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6897 /* 16686 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6898 /* 16691 */ GIR_RootConstrainSelectedInstOperands,
6899 /* 16692 */ // GIR_Coverage, 26071,
6900 /* 16692 */ GIR_EraseRootFromParent_Done,
6901 /* 16693 */ // Label 500: @16693
6902 /* 16693 */ GIM_Try, /*On fail goto*//*Label 501*/ GIMT_Encode4(16761), // Rule ID 26090 //
6903 /* 16698 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
6904 /* 16701 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6905 /* 16704 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6906 /* 16708 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6907 /* 16712 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6908 /* 16716 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6909 /* 16719 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6910 /* 16723 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
6911 /* 16727 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6912 /* 16731 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6913 /* 16733 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6914 /* 16740 */ // (and:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, GR32:{ *:[i32] }:$src1) => (AND32rm_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
6915 /* 16740 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32rm_ND),
6916 /* 16743 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6917 /* 16745 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
6918 /* 16747 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6919 /* 16751 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6920 /* 16754 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6921 /* 16759 */ GIR_RootConstrainSelectedInstOperands,
6922 /* 16760 */ // GIR_Coverage, 26090,
6923 /* 16760 */ GIR_EraseRootFromParent_Done,
6924 /* 16761 */ // Label 501: @16761
6925 /* 16761 */ GIM_Try, /*On fail goto*//*Label 502*/ GIMT_Encode4(16829), // Rule ID 22856 //
6926 /* 16766 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6927 /* 16769 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6928 /* 16772 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6929 /* 16776 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6930 /* 16780 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6931 /* 16784 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6932 /* 16788 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6933 /* 16791 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6934 /* 16795 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
6935 /* 16799 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6936 /* 16801 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6937 /* 16808 */ // (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)
6938 /* 16808 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32rm),
6939 /* 16811 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6940 /* 16813 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6941 /* 16815 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6942 /* 16819 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6943 /* 16822 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6944 /* 16827 */ GIR_RootConstrainSelectedInstOperands,
6945 /* 16828 */ // GIR_Coverage, 22856,
6946 /* 16828 */ GIR_EraseRootFromParent_Done,
6947 /* 16829 */ // Label 502: @16829
6948 /* 16829 */ GIM_Try, /*On fail goto*//*Label 503*/ GIMT_Encode4(16897), // Rule ID 22946 //
6949 /* 16834 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
6950 /* 16837 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6951 /* 16840 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6952 /* 16844 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6953 /* 16848 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6954 /* 16852 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6955 /* 16856 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6956 /* 16859 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6957 /* 16863 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
6958 /* 16867 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6959 /* 16869 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6960 /* 16876 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src1, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (AND32rm_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
6961 /* 16876 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32rm_ND),
6962 /* 16879 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6963 /* 16881 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6964 /* 16883 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6965 /* 16887 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6966 /* 16890 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6967 /* 16895 */ GIR_RootConstrainSelectedInstOperands,
6968 /* 16896 */ // GIR_Coverage, 22946,
6969 /* 16896 */ GIR_EraseRootFromParent_Done,
6970 /* 16897 */ // Label 503: @16897
6971 /* 16897 */ GIM_Try, /*On fail goto*//*Label 504*/ GIMT_Encode4(16974), // Rule ID 24995 //
6972 /* 16902 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
6973 /* 16905 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6974 /* 16908 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6975 /* 16912 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6976 /* 16916 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
6977 /* 16920 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6978 /* 16924 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6979 /* 16928 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6980 /* 16933 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
6981 /* 16937 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6982 /* 16941 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
6983 /* 16945 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
6984 /* 16949 */ // MIs[2] src
6985 /* 16949 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
6986 /* 16954 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, uint8_t(-1),
6987 /* 16958 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6988 /* 16960 */ // (and:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (BLCIC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
6989 /* 16960 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCIC32rr),
6990 /* 16963 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6991 /* 16965 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
6992 /* 16969 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6993 /* 16972 */ GIR_RootConstrainSelectedInstOperands,
6994 /* 16973 */ // GIR_Coverage, 24995,
6995 /* 16973 */ GIR_EraseRootFromParent_Done,
6996 /* 16974 */ // Label 504: @16974
6997 /* 16974 */ GIM_Try, /*On fail goto*//*Label 505*/ GIMT_Encode4(17051), // Rule ID 25007 //
6998 /* 16979 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
6999 /* 16982 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7000 /* 16985 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7001 /* 16989 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7002 /* 16993 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
7003 /* 16997 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
7004 /* 17001 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7005 /* 17005 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7006 /* 17010 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
7007 /* 17014 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
7008 /* 17018 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
7009 /* 17022 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
7010 /* 17026 */ // MIs[2] src
7011 /* 17026 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
7012 /* 17031 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, uint8_t(-1),
7013 /* 17035 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7014 /* 17037 */ // (and:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (TZMSK32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
7015 /* 17037 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZMSK32rr),
7016 /* 17040 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7017 /* 17042 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
7018 /* 17046 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7019 /* 17049 */ GIR_RootConstrainSelectedInstOperands,
7020 /* 17050 */ // GIR_Coverage, 25007,
7021 /* 17050 */ GIR_EraseRootFromParent_Done,
7022 /* 17051 */ // Label 505: @17051
7023 /* 17051 */ GIM_Try, /*On fail goto*//*Label 506*/ GIMT_Encode4(17128), // Rule ID 17356 //
7024 /* 17056 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
7025 /* 17059 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7026 /* 17062 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7027 /* 17066 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7028 /* 17070 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7029 /* 17074 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
7030 /* 17078 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7031 /* 17082 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7032 /* 17087 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
7033 /* 17091 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
7034 /* 17095 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
7035 /* 17099 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
7036 /* 17103 */ // MIs[2] src
7037 /* 17103 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
7038 /* 17108 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
7039 /* 17112 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7040 /* 17114 */ // (and:{ *:[i32] } (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] })) => (BLCIC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
7041 /* 17114 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCIC32rr),
7042 /* 17117 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7043 /* 17119 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
7044 /* 17123 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7045 /* 17126 */ GIR_RootConstrainSelectedInstOperands,
7046 /* 17127 */ // GIR_Coverage, 17356,
7047 /* 17127 */ GIR_EraseRootFromParent_Done,
7048 /* 17128 */ // Label 506: @17128
7049 /* 17128 */ GIM_Try, /*On fail goto*//*Label 507*/ GIMT_Encode4(17205), // Rule ID 17368 //
7050 /* 17133 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
7051 /* 17136 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7052 /* 17139 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7053 /* 17143 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7054 /* 17147 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7055 /* 17151 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
7056 /* 17155 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7057 /* 17159 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7058 /* 17164 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
7059 /* 17168 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
7060 /* 17172 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
7061 /* 17176 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
7062 /* 17180 */ // MIs[2] src
7063 /* 17180 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
7064 /* 17185 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, uint8_t(-1),
7065 /* 17189 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7066 /* 17191 */ // (and:{ *:[i32] } (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (TZMSK32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
7067 /* 17191 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZMSK32rr),
7068 /* 17194 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7069 /* 17196 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
7070 /* 17200 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7071 /* 17203 */ GIR_RootConstrainSelectedInstOperands,
7072 /* 17204 */ // GIR_Coverage, 17368,
7073 /* 17204 */ GIR_EraseRootFromParent_Done,
7074 /* 17205 */ // Label 507: @17205
7075 /* 17205 */ GIM_Try, /*On fail goto*//*Label 508*/ GIMT_Encode4(17263), // Rule ID 24989 //
7076 /* 17210 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
7077 /* 17213 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7078 /* 17217 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7079 /* 17221 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
7080 /* 17225 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
7081 /* 17229 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7082 /* 17233 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7083 /* 17238 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
7084 /* 17242 */ // MIs[0] src
7085 /* 17242 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
7086 /* 17247 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7087 /* 17249 */ // (and:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), GR32:{ *:[i32] }:$src) => (BLCFILL32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
7088 /* 17249 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCFILL32rr),
7089 /* 17252 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7090 /* 17254 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
7091 /* 17258 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7092 /* 17261 */ GIR_RootConstrainSelectedInstOperands,
7093 /* 17262 */ // GIR_Coverage, 24989,
7094 /* 17262 */ GIR_EraseRootFromParent_Done,
7095 /* 17263 */ // Label 508: @17263
7096 /* 17263 */ GIM_Try, /*On fail goto*//*Label 509*/ GIMT_Encode4(17372), // Rule ID 26042 //
7097 /* 17268 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7098 /* 17271 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7099 /* 17275 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7100 /* 17279 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
7101 /* 17283 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
7102 /* 17287 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
7103 /* 17291 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, uint8_t(-2),
7104 /* 17295 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
7105 /* 17300 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7106 /* 17304 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7107 /* 17306 */ // (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] }))
7108 /* 17306 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
7109 /* 17309 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
7110 /* 17313 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
7111 /* 17318 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
7112 /* 17320 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
7113 /* 17323 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
7114 /* 17327 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
7115 /* 17332 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7116 /* 17335 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
7117 /* 17339 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
7118 /* 17342 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
7119 /* 17347 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
7120 /* 17352 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
7121 /* 17357 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTR32rr),
7122 /* 17360 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7123 /* 17362 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
7124 /* 17364 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7125 /* 17367 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7126 /* 17370 */ GIR_RootConstrainSelectedInstOperands,
7127 /* 17371 */ // GIR_Coverage, 26042,
7128 /* 17371 */ GIR_EraseRootFromParent_Done,
7129 /* 17372 */ // Label 509: @17372
7130 /* 17372 */ GIM_Try, /*On fail goto*//*Label 510*/ GIMT_Encode4(17426), // Rule ID 17350 //
7131 /* 17377 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
7132 /* 17380 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7133 /* 17383 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7134 /* 17387 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7135 /* 17391 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7136 /* 17395 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
7137 /* 17399 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7138 /* 17403 */ // MIs[1] src
7139 /* 17403 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
7140 /* 17408 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
7141 /* 17412 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7142 /* 17414 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src, (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] })) => (BLCFILL32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
7143 /* 17414 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCFILL32rr),
7144 /* 17417 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7145 /* 17419 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
7146 /* 17421 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7147 /* 17424 */ GIR_RootConstrainSelectedInstOperands,
7148 /* 17425 */ // GIR_Coverage, 17350,
7149 /* 17425 */ GIR_EraseRootFromParent_Done,
7150 /* 17426 */ // Label 510: @17426
7151 /* 17426 */ GIM_Try, /*On fail goto*//*Label 511*/ GIMT_Encode4(17535), // Rule ID 22780 //
7152 /* 17431 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7153 /* 17434 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7154 /* 17438 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7155 /* 17442 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7156 /* 17446 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
7157 /* 17450 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
7158 /* 17454 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
7159 /* 17458 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, uint8_t(-2),
7160 /* 17462 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
7161 /* 17467 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7162 /* 17469 */ // (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] }))
7163 /* 17469 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
7164 /* 17472 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
7165 /* 17476 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
7166 /* 17481 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
7167 /* 17483 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
7168 /* 17486 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
7169 /* 17490 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
7170 /* 17495 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7171 /* 17498 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
7172 /* 17502 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
7173 /* 17505 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
7174 /* 17510 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
7175 /* 17515 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
7176 /* 17520 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTR32rr),
7177 /* 17523 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7178 /* 17525 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7179 /* 17527 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7180 /* 17530 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7181 /* 17533 */ GIR_RootConstrainSelectedInstOperands,
7182 /* 17534 */ // GIR_Coverage, 22780,
7183 /* 17534 */ GIR_EraseRootFromParent_Done,
7184 /* 17535 */ // Label 511: @17535
7185 /* 17535 */ GIM_Try, /*On fail goto*//*Label 512*/ GIMT_Encode4(17600), // Rule ID 22632 //
7186 /* 17540 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7187 /* 17543 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7188 /* 17547 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7189 /* 17551 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(65535),
7190 /* 17562 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src1, 65535:{ *:[i32] }) => (MOVZX32rr16:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i16] } GR32:{ *:[i32] }:$src1, sub_16bit:{ *:[i32] }))
7191 /* 17562 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
7192 /* 17565 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7193 /* 17569 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
7194 /* 17574 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(4), // src1
7195 /* 17580 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
7196 /* 17585 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
7197 /* 17590 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr16),
7198 /* 17593 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7199 /* 17595 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7200 /* 17598 */ GIR_RootConstrainSelectedInstOperands,
7201 /* 17599 */ // GIR_Coverage, 22632,
7202 /* 17599 */ GIR_EraseRootFromParent_Done,
7203 /* 17600 */ // Label 512: @17600
7204 /* 17600 */ GIM_Try, /*On fail goto*//*Label 513*/ GIMT_Encode4(17665), // Rule ID 22633 //
7205 /* 17605 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7206 /* 17608 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7207 /* 17612 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7208 /* 17616 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(255),
7209 /* 17627 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src1, 255:{ *:[i32] }) => (MOVZX32rr8:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i8] } GR32:{ *:[i32] }:$src1, sub_8bit:{ *:[i32] }))
7210 /* 17627 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s8,
7211 /* 17630 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7212 /* 17634 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
7213 /* 17639 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // src1
7214 /* 17645 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
7215 /* 17650 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
7216 /* 17655 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
7217 /* 17658 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7218 /* 17660 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7219 /* 17663 */ GIR_RootConstrainSelectedInstOperands,
7220 /* 17664 */ // GIR_Coverage, 22633,
7221 /* 17664 */ GIR_EraseRootFromParent_Done,
7222 /* 17665 */ // Label 513: @17665
7223 /* 17665 */ GIM_Try, /*On fail goto*//*Label 514*/ GIMT_Encode4(17709), // Rule ID 22860 //
7224 /* 17670 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
7225 /* 17673 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7226 /* 17676 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7227 /* 17680 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7228 /* 17684 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7229 /* 17688 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
7230 /* 17692 */ // MIs[1] Operand 1
7231 /* 17692 */ // No operand predicates
7232 /* 17692 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7233 /* 17694 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (AND32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
7234 /* 17694 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32ri),
7235 /* 17697 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7236 /* 17699 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7237 /* 17701 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
7238 /* 17704 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7239 /* 17707 */ GIR_RootConstrainSelectedInstOperands,
7240 /* 17708 */ // GIR_Coverage, 22860,
7241 /* 17708 */ GIR_EraseRootFromParent_Done,
7242 /* 17709 */ // Label 514: @17709
7243 /* 17709 */ GIM_Try, /*On fail goto*//*Label 515*/ GIMT_Encode4(17753), // Rule ID 22950 //
7244 /* 17714 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
7245 /* 17717 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7246 /* 17720 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7247 /* 17724 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7248 /* 17728 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7249 /* 17732 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
7250 /* 17736 */ // MIs[1] Operand 1
7251 /* 17736 */ // No operand predicates
7252 /* 17736 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7253 /* 17738 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (AND32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
7254 /* 17738 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32ri_ND),
7255 /* 17741 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7256 /* 17743 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7257 /* 17745 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
7258 /* 17748 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7259 /* 17751 */ GIR_RootConstrainSelectedInstOperands,
7260 /* 17752 */ // GIR_Coverage, 22950,
7261 /* 17752 */ GIR_EraseRootFromParent_Done,
7262 /* 17753 */ // Label 515: @17753
7263 /* 17753 */ GIM_Try, /*On fail goto*//*Label 516*/ GIMT_Encode4(17815), // Rule ID 17544 //
7264 /* 17758 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_NoEGPR),
7265 /* 17761 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7266 /* 17764 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7267 /* 17768 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7268 /* 17772 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7269 /* 17776 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
7270 /* 17780 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7271 /* 17784 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7272 /* 17789 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
7273 /* 17793 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7274 /* 17797 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7275 /* 17799 */ // (and:{ *:[i32] } (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -1:{ *:[i32] }), GR32:{ *:[i32] }:$src2) => (ANDN32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
7276 /* 17799 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rr),
7277 /* 17802 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7278 /* 17804 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7279 /* 17808 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
7280 /* 17810 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7281 /* 17813 */ GIR_RootConstrainSelectedInstOperands,
7282 /* 17814 */ // GIR_Coverage, 17544,
7283 /* 17814 */ GIR_EraseRootFromParent_Done,
7284 /* 17815 */ // Label 516: @17815
7285 /* 17815 */ GIM_Try, /*On fail goto*//*Label 517*/ GIMT_Encode4(17877), // Rule ID 17548 //
7286 /* 17820 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_HasEGPR),
7287 /* 17823 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7288 /* 17826 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7289 /* 17830 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7290 /* 17834 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7291 /* 17838 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
7292 /* 17842 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7293 /* 17846 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7294 /* 17851 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
7295 /* 17855 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7296 /* 17859 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7297 /* 17861 */ // (and:{ *:[i32] } (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -1:{ *:[i32] }), GR32:{ *:[i32] }:$src2) => (ANDN32rr_EVEX:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
7298 /* 17861 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rr_EVEX),
7299 /* 17864 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7300 /* 17866 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7301 /* 17870 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
7302 /* 17872 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7303 /* 17875 */ GIR_RootConstrainSelectedInstOperands,
7304 /* 17876 */ // GIR_Coverage, 17548,
7305 /* 17876 */ GIR_EraseRootFromParent_Done,
7306 /* 17877 */ // Label 517: @17877
7307 /* 17877 */ GIM_Try, /*On fail goto*//*Label 518*/ GIMT_Encode4(17939), // Rule ID 25101 //
7308 /* 17882 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_NoEGPR),
7309 /* 17885 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7310 /* 17888 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7311 /* 17892 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7312 /* 17896 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7313 /* 17900 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7314 /* 17904 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
7315 /* 17908 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7316 /* 17912 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7317 /* 17917 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
7318 /* 17921 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7319 /* 17923 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src2, (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -1:{ *:[i32] })) => (ANDN32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
7320 /* 17923 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rr),
7321 /* 17926 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7322 /* 17928 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7323 /* 17932 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
7324 /* 17934 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7325 /* 17937 */ GIR_RootConstrainSelectedInstOperands,
7326 /* 17938 */ // GIR_Coverage, 25101,
7327 /* 17938 */ GIR_EraseRootFromParent_Done,
7328 /* 17939 */ // Label 518: @17939
7329 /* 17939 */ GIM_Try, /*On fail goto*//*Label 519*/ GIMT_Encode4(18001), // Rule ID 25105 //
7330 /* 17944 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_HasEGPR),
7331 /* 17947 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7332 /* 17950 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7333 /* 17954 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7334 /* 17958 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7335 /* 17962 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7336 /* 17966 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
7337 /* 17970 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7338 /* 17974 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7339 /* 17979 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
7340 /* 17983 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7341 /* 17985 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src2, (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -1:{ *:[i32] })) => (ANDN32rr_EVEX:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
7342 /* 17985 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rr_EVEX),
7343 /* 17988 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7344 /* 17990 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7345 /* 17994 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
7346 /* 17996 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7347 /* 17999 */ GIR_RootConstrainSelectedInstOperands,
7348 /* 18000 */ // GIR_Coverage, 25105,
7349 /* 18000 */ GIR_EraseRootFromParent_Done,
7350 /* 18001 */ // Label 519: @18001
7351 /* 18001 */ GIM_Try, /*On fail goto*//*Label 520*/ GIMT_Encode4(18037), // Rule ID 22852 //
7352 /* 18006 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
7353 /* 18009 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7354 /* 18012 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7355 /* 18016 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7356 /* 18020 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7357 /* 18024 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (AND32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
7358 /* 18024 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND32rr),
7359 /* 18029 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
7360 /* 18035 */ GIR_RootConstrainSelectedInstOperands,
7361 /* 18036 */ // GIR_Coverage, 22852,
7362 /* 18036 */ GIR_Done,
7363 /* 18037 */ // Label 520: @18037
7364 /* 18037 */ GIM_Try, /*On fail goto*//*Label 521*/ GIMT_Encode4(18073), // Rule ID 22942 //
7365 /* 18042 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
7366 /* 18045 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7367 /* 18048 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7368 /* 18052 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7369 /* 18056 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7370 /* 18060 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (AND32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
7371 /* 18060 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND32rr_ND),
7372 /* 18065 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
7373 /* 18071 */ GIR_RootConstrainSelectedInstOperands,
7374 /* 18072 */ // GIR_Coverage, 22942,
7375 /* 18072 */ GIR_Done,
7376 /* 18073 */ // Label 521: @18073
7377 /* 18073 */ GIM_Reject,
7378 /* 18074 */ // Label 495: @18074
7379 /* 18074 */ GIM_Reject,
7380 /* 18075 */ // Label 450: @18075
7381 /* 18075 */ GIM_Try, /*On fail goto*//*Label 522*/ GIMT_Encode4(19778),
7382 /* 18080 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
7383 /* 18083 */ GIM_Try, /*On fail goto*//*Label 523*/ GIMT_Encode4(18175), // Rule ID 17547 //
7384 /* 18088 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_NoEGPR),
7385 /* 18091 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7386 /* 18094 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7387 /* 18098 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7388 /* 18102 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7389 /* 18106 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7390 /* 18110 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7391 /* 18114 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7392 /* 18119 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
7393 /* 18123 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
7394 /* 18127 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
7395 /* 18131 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7396 /* 18134 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
7397 /* 18138 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
7398 /* 18142 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7399 /* 18144 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7400 /* 18151 */ // (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)
7401 /* 18151 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rm),
7402 /* 18154 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7403 /* 18156 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7404 /* 18160 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7405 /* 18164 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7406 /* 18167 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
7407 /* 18173 */ GIR_RootConstrainSelectedInstOperands,
7408 /* 18174 */ // GIR_Coverage, 17547,
7409 /* 18174 */ GIR_EraseRootFromParent_Done,
7410 /* 18175 */ // Label 523: @18175
7411 /* 18175 */ GIM_Try, /*On fail goto*//*Label 524*/ GIMT_Encode4(18267), // Rule ID 17551 //
7412 /* 18180 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_HasEGPR),
7413 /* 18183 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7414 /* 18186 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7415 /* 18190 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7416 /* 18194 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7417 /* 18198 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7418 /* 18202 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7419 /* 18206 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7420 /* 18211 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
7421 /* 18215 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
7422 /* 18219 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
7423 /* 18223 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7424 /* 18226 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
7425 /* 18230 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
7426 /* 18234 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7427 /* 18236 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7428 /* 18243 */ // (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)
7429 /* 18243 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rm_EVEX),
7430 /* 18246 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7431 /* 18248 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7432 /* 18252 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7433 /* 18256 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7434 /* 18259 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
7435 /* 18265 */ GIR_RootConstrainSelectedInstOperands,
7436 /* 18266 */ // GIR_Coverage, 17551,
7437 /* 18266 */ GIR_EraseRootFromParent_Done,
7438 /* 18267 */ // Label 524: @18267
7439 /* 18267 */ GIM_Try, /*On fail goto*//*Label 525*/ GIMT_Encode4(18359), // Rule ID 25104 //
7440 /* 18272 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_NoEGPR),
7441 /* 18275 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7442 /* 18278 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7443 /* 18282 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7444 /* 18286 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7445 /* 18290 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7446 /* 18293 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7447 /* 18297 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7448 /* 18301 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
7449 /* 18305 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
7450 /* 18309 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
7451 /* 18313 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
7452 /* 18317 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7453 /* 18322 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, uint8_t(-1),
7454 /* 18326 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7455 /* 18328 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7456 /* 18335 */ // (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)
7457 /* 18335 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rm),
7458 /* 18338 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7459 /* 18340 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // src1
7460 /* 18344 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7461 /* 18348 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7462 /* 18351 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
7463 /* 18357 */ GIR_RootConstrainSelectedInstOperands,
7464 /* 18358 */ // GIR_Coverage, 25104,
7465 /* 18358 */ GIR_EraseRootFromParent_Done,
7466 /* 18359 */ // Label 525: @18359
7467 /* 18359 */ GIM_Try, /*On fail goto*//*Label 526*/ GIMT_Encode4(18451), // Rule ID 25108 //
7468 /* 18364 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_HasEGPR),
7469 /* 18367 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7470 /* 18370 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7471 /* 18374 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7472 /* 18378 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7473 /* 18382 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7474 /* 18385 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7475 /* 18389 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7476 /* 18393 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
7477 /* 18397 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
7478 /* 18401 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
7479 /* 18405 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
7480 /* 18409 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7481 /* 18414 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, uint8_t(-1),
7482 /* 18418 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7483 /* 18420 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7484 /* 18427 */ // (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)
7485 /* 18427 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rm_EVEX),
7486 /* 18430 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7487 /* 18432 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // src1
7488 /* 18436 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7489 /* 18440 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7490 /* 18443 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
7491 /* 18449 */ GIR_RootConstrainSelectedInstOperands,
7492 /* 18450 */ // GIR_Coverage, 25108,
7493 /* 18450 */ GIR_EraseRootFromParent_Done,
7494 /* 18451 */ // Label 526: @18451
7495 /* 18451 */ GIM_Try, /*On fail goto*//*Label 527*/ GIMT_Encode4(18519), // Rule ID 26072 //
7496 /* 18456 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
7497 /* 18459 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7498 /* 18462 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7499 /* 18466 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7500 /* 18470 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7501 /* 18474 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7502 /* 18477 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7503 /* 18481 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7504 /* 18485 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7505 /* 18489 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7506 /* 18491 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7507 /* 18498 */ // (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)
7508 /* 18498 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64rm),
7509 /* 18501 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7510 /* 18503 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
7511 /* 18505 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7512 /* 18509 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7513 /* 18512 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7514 /* 18517 */ GIR_RootConstrainSelectedInstOperands,
7515 /* 18518 */ // GIR_Coverage, 26072,
7516 /* 18518 */ GIR_EraseRootFromParent_Done,
7517 /* 18519 */ // Label 527: @18519
7518 /* 18519 */ GIM_Try, /*On fail goto*//*Label 528*/ GIMT_Encode4(18587), // Rule ID 26091 //
7519 /* 18524 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
7520 /* 18527 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7521 /* 18530 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7522 /* 18534 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7523 /* 18538 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7524 /* 18542 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7525 /* 18545 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7526 /* 18549 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7527 /* 18553 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7528 /* 18557 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7529 /* 18559 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7530 /* 18566 */ // (and:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR64:{ *:[i64] }:$src1) => (AND64rm_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
7531 /* 18566 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64rm_ND),
7532 /* 18569 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7533 /* 18571 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
7534 /* 18573 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7535 /* 18577 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7536 /* 18580 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7537 /* 18585 */ GIR_RootConstrainSelectedInstOperands,
7538 /* 18586 */ // GIR_Coverage, 26091,
7539 /* 18586 */ GIR_EraseRootFromParent_Done,
7540 /* 18587 */ // Label 528: @18587
7541 /* 18587 */ GIM_Try, /*On fail goto*//*Label 529*/ GIMT_Encode4(18655), // Rule ID 22857 //
7542 /* 18592 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
7543 /* 18595 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7544 /* 18598 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7545 /* 18602 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7546 /* 18606 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7547 /* 18610 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7548 /* 18614 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7549 /* 18617 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7550 /* 18621 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7551 /* 18625 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7552 /* 18627 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7553 /* 18634 */ // (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)
7554 /* 18634 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64rm),
7555 /* 18637 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7556 /* 18639 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7557 /* 18641 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7558 /* 18645 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7559 /* 18648 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7560 /* 18653 */ GIR_RootConstrainSelectedInstOperands,
7561 /* 18654 */ // GIR_Coverage, 22857,
7562 /* 18654 */ GIR_EraseRootFromParent_Done,
7563 /* 18655 */ // Label 529: @18655
7564 /* 18655 */ GIM_Try, /*On fail goto*//*Label 530*/ GIMT_Encode4(18723), // Rule ID 22947 //
7565 /* 18660 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
7566 /* 18663 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7567 /* 18666 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7568 /* 18670 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7569 /* 18674 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7570 /* 18678 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7571 /* 18682 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7572 /* 18685 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7573 /* 18689 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7574 /* 18693 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7575 /* 18695 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7576 /* 18702 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src1, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (AND64rm_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
7577 /* 18702 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64rm_ND),
7578 /* 18705 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7579 /* 18707 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7580 /* 18709 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7581 /* 18713 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7582 /* 18716 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7583 /* 18721 */ GIR_RootConstrainSelectedInstOperands,
7584 /* 18722 */ // GIR_Coverage, 22947,
7585 /* 18722 */ GIR_EraseRootFromParent_Done,
7586 /* 18723 */ // Label 530: @18723
7587 /* 18723 */ GIM_Try, /*On fail goto*//*Label 531*/ GIMT_Encode4(18800), // Rule ID 24996 //
7588 /* 18728 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
7589 /* 18731 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7590 /* 18734 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7591 /* 18738 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7592 /* 18742 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
7593 /* 18746 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7594 /* 18750 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7595 /* 18754 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7596 /* 18759 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
7597 /* 18763 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
7598 /* 18767 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
7599 /* 18771 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
7600 /* 18775 */ // MIs[2] src
7601 /* 18775 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
7602 /* 18780 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, uint8_t(-1),
7603 /* 18784 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7604 /* 18786 */ // (and:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (BLCIC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
7605 /* 18786 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCIC64rr),
7606 /* 18789 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7607 /* 18791 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
7608 /* 18795 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7609 /* 18798 */ GIR_RootConstrainSelectedInstOperands,
7610 /* 18799 */ // GIR_Coverage, 24996,
7611 /* 18799 */ GIR_EraseRootFromParent_Done,
7612 /* 18800 */ // Label 531: @18800
7613 /* 18800 */ GIM_Try, /*On fail goto*//*Label 532*/ GIMT_Encode4(18877), // Rule ID 25008 //
7614 /* 18805 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
7615 /* 18808 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7616 /* 18811 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7617 /* 18815 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7618 /* 18819 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
7619 /* 18823 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7620 /* 18827 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7621 /* 18831 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7622 /* 18836 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
7623 /* 18840 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
7624 /* 18844 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
7625 /* 18848 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
7626 /* 18852 */ // MIs[2] src
7627 /* 18852 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
7628 /* 18857 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, uint8_t(-1),
7629 /* 18861 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7630 /* 18863 */ // (and:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (TZMSK64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
7631 /* 18863 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZMSK64rr),
7632 /* 18866 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7633 /* 18868 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
7634 /* 18872 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7635 /* 18875 */ GIR_RootConstrainSelectedInstOperands,
7636 /* 18876 */ // GIR_Coverage, 25008,
7637 /* 18876 */ GIR_EraseRootFromParent_Done,
7638 /* 18877 */ // Label 532: @18877
7639 /* 18877 */ GIM_Try, /*On fail goto*//*Label 533*/ GIMT_Encode4(18954), // Rule ID 17357 //
7640 /* 18882 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
7641 /* 18885 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7642 /* 18888 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7643 /* 18892 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7644 /* 18896 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7645 /* 18900 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7646 /* 18904 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7647 /* 18908 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7648 /* 18913 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
7649 /* 18917 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
7650 /* 18921 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
7651 /* 18925 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
7652 /* 18929 */ // MIs[2] src
7653 /* 18929 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
7654 /* 18934 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
7655 /* 18938 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7656 /* 18940 */ // (and:{ *:[i64] } (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] })) => (BLCIC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
7657 /* 18940 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCIC64rr),
7658 /* 18943 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7659 /* 18945 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
7660 /* 18949 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7661 /* 18952 */ GIR_RootConstrainSelectedInstOperands,
7662 /* 18953 */ // GIR_Coverage, 17357,
7663 /* 18953 */ GIR_EraseRootFromParent_Done,
7664 /* 18954 */ // Label 533: @18954
7665 /* 18954 */ GIM_Try, /*On fail goto*//*Label 534*/ GIMT_Encode4(19031), // Rule ID 17369 //
7666 /* 18959 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
7667 /* 18962 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7668 /* 18965 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7669 /* 18969 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7670 /* 18973 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7671 /* 18977 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7672 /* 18981 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7673 /* 18985 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7674 /* 18990 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
7675 /* 18994 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
7676 /* 18998 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
7677 /* 19002 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
7678 /* 19006 */ // MIs[2] src
7679 /* 19006 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
7680 /* 19011 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, uint8_t(-1),
7681 /* 19015 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7682 /* 19017 */ // (and:{ *:[i64] } (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (TZMSK64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
7683 /* 19017 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZMSK64rr),
7684 /* 19020 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7685 /* 19022 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
7686 /* 19026 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7687 /* 19029 */ GIR_RootConstrainSelectedInstOperands,
7688 /* 19030 */ // GIR_Coverage, 17369,
7689 /* 19030 */ GIR_EraseRootFromParent_Done,
7690 /* 19031 */ // Label 534: @19031
7691 /* 19031 */ GIM_Try, /*On fail goto*//*Label 535*/ GIMT_Encode4(19089), // Rule ID 24990 //
7692 /* 19036 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
7693 /* 19039 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7694 /* 19043 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7695 /* 19047 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
7696 /* 19051 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7697 /* 19055 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7698 /* 19059 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7699 /* 19064 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
7700 /* 19068 */ // MIs[0] src
7701 /* 19068 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
7702 /* 19073 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7703 /* 19075 */ // (and:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), GR64:{ *:[i64] }:$src) => (BLCFILL64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
7704 /* 19075 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCFILL64rr),
7705 /* 19078 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7706 /* 19080 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
7707 /* 19084 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7708 /* 19087 */ GIR_RootConstrainSelectedInstOperands,
7709 /* 19088 */ // GIR_Coverage, 24990,
7710 /* 19088 */ GIR_EraseRootFromParent_Done,
7711 /* 19089 */ // Label 535: @19089
7712 /* 19089 */ GIM_Try, /*On fail goto*//*Label 536*/ GIMT_Encode4(19198), // Rule ID 26048 //
7713 /* 19094 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7714 /* 19097 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7715 /* 19101 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7716 /* 19105 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
7717 /* 19109 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7718 /* 19113 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
7719 /* 19117 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, uint8_t(-2),
7720 /* 19121 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
7721 /* 19126 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7722 /* 19130 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7723 /* 19132 */ // (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] }))
7724 /* 19132 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
7725 /* 19135 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
7726 /* 19139 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
7727 /* 19144 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
7728 /* 19146 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
7729 /* 19149 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
7730 /* 19153 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
7731 /* 19158 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7732 /* 19161 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
7733 /* 19165 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
7734 /* 19168 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
7735 /* 19173 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
7736 /* 19178 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
7737 /* 19183 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTR64rr),
7738 /* 19186 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7739 /* 19188 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
7740 /* 19190 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7741 /* 19193 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7742 /* 19196 */ GIR_RootConstrainSelectedInstOperands,
7743 /* 19197 */ // GIR_Coverage, 26048,
7744 /* 19197 */ GIR_EraseRootFromParent_Done,
7745 /* 19198 */ // Label 536: @19198
7746 /* 19198 */ GIM_Try, /*On fail goto*//*Label 537*/ GIMT_Encode4(19252), // Rule ID 17351 //
7747 /* 19203 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
7748 /* 19206 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7749 /* 19209 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7750 /* 19213 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7751 /* 19217 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7752 /* 19221 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
7753 /* 19225 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7754 /* 19229 */ // MIs[1] src
7755 /* 19229 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
7756 /* 19234 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
7757 /* 19238 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7758 /* 19240 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src, (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] })) => (BLCFILL64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
7759 /* 19240 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCFILL64rr),
7760 /* 19243 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7761 /* 19245 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
7762 /* 19247 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7763 /* 19250 */ GIR_RootConstrainSelectedInstOperands,
7764 /* 19251 */ // GIR_Coverage, 17351,
7765 /* 19251 */ GIR_EraseRootFromParent_Done,
7766 /* 19252 */ // Label 537: @19252
7767 /* 19252 */ GIM_Try, /*On fail goto*//*Label 538*/ GIMT_Encode4(19361), // Rule ID 22786 //
7768 /* 19257 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7769 /* 19260 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7770 /* 19264 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7771 /* 19268 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7772 /* 19272 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
7773 /* 19276 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7774 /* 19280 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
7775 /* 19284 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, uint8_t(-2),
7776 /* 19288 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
7777 /* 19293 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7778 /* 19295 */ // (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] }))
7779 /* 19295 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
7780 /* 19298 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
7781 /* 19302 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
7782 /* 19307 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
7783 /* 19309 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
7784 /* 19312 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
7785 /* 19316 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
7786 /* 19321 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7787 /* 19324 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
7788 /* 19328 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
7789 /* 19331 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
7790 /* 19336 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
7791 /* 19341 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
7792 /* 19346 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTR64rr),
7793 /* 19349 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7794 /* 19351 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7795 /* 19353 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7796 /* 19356 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7797 /* 19359 */ GIR_RootConstrainSelectedInstOperands,
7798 /* 19360 */ // GIR_Coverage, 22786,
7799 /* 19360 */ GIR_EraseRootFromParent_Done,
7800 /* 19361 */ // Label 538: @19361
7801 /* 19361 */ GIM_Try, /*On fail goto*//*Label 539*/ GIMT_Encode4(19409), // Rule ID 22861 //
7802 /* 19366 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
7803 /* 19369 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7804 /* 19372 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7805 /* 19376 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7806 /* 19380 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7807 /* 19384 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
7808 /* 19388 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
7809 /* 19392 */ // MIs[1] Operand 1
7810 /* 19392 */ // No operand predicates
7811 /* 19392 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7812 /* 19394 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (AND64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
7813 /* 19394 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64ri32),
7814 /* 19397 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7815 /* 19399 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7816 /* 19401 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
7817 /* 19404 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7818 /* 19407 */ GIR_RootConstrainSelectedInstOperands,
7819 /* 19408 */ // GIR_Coverage, 22861,
7820 /* 19408 */ GIR_EraseRootFromParent_Done,
7821 /* 19409 */ // Label 539: @19409
7822 /* 19409 */ GIM_Try, /*On fail goto*//*Label 540*/ GIMT_Encode4(19457), // Rule ID 22951 //
7823 /* 19414 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
7824 /* 19417 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7825 /* 19420 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7826 /* 19424 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7827 /* 19428 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7828 /* 19432 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
7829 /* 19436 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
7830 /* 19440 */ // MIs[1] Operand 1
7831 /* 19440 */ // No operand predicates
7832 /* 19440 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7833 /* 19442 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (AND64ri32_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
7834 /* 19442 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64ri32_ND),
7835 /* 19445 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7836 /* 19447 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7837 /* 19449 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
7838 /* 19452 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7839 /* 19455 */ GIR_RootConstrainSelectedInstOperands,
7840 /* 19456 */ // GIR_Coverage, 22951,
7841 /* 19456 */ GIR_EraseRootFromParent_Done,
7842 /* 19457 */ // Label 540: @19457
7843 /* 19457 */ GIM_Try, /*On fail goto*//*Label 541*/ GIMT_Encode4(19519), // Rule ID 17545 //
7844 /* 19462 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_NoEGPR),
7845 /* 19465 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7846 /* 19468 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7847 /* 19472 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7848 /* 19476 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7849 /* 19480 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7850 /* 19484 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7851 /* 19488 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7852 /* 19493 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
7853 /* 19497 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7854 /* 19501 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7855 /* 19503 */ // (and:{ *:[i64] } (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, -1:{ *:[i64] }), GR64:{ *:[i64] }:$src2) => (ANDN64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
7856 /* 19503 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rr),
7857 /* 19506 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7858 /* 19508 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7859 /* 19512 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
7860 /* 19514 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7861 /* 19517 */ GIR_RootConstrainSelectedInstOperands,
7862 /* 19518 */ // GIR_Coverage, 17545,
7863 /* 19518 */ GIR_EraseRootFromParent_Done,
7864 /* 19519 */ // Label 541: @19519
7865 /* 19519 */ GIM_Try, /*On fail goto*//*Label 542*/ GIMT_Encode4(19581), // Rule ID 17549 //
7866 /* 19524 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_HasEGPR),
7867 /* 19527 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7868 /* 19530 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7869 /* 19534 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7870 /* 19538 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7871 /* 19542 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7872 /* 19546 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7873 /* 19550 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7874 /* 19555 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
7875 /* 19559 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7876 /* 19563 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7877 /* 19565 */ // (and:{ *:[i64] } (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, -1:{ *:[i64] }), GR64:{ *:[i64] }:$src2) => (ANDN64rr_EVEX:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
7878 /* 19565 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rr_EVEX),
7879 /* 19568 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7880 /* 19570 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7881 /* 19574 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
7882 /* 19576 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7883 /* 19579 */ GIR_RootConstrainSelectedInstOperands,
7884 /* 19580 */ // GIR_Coverage, 17549,
7885 /* 19580 */ GIR_EraseRootFromParent_Done,
7886 /* 19581 */ // Label 542: @19581
7887 /* 19581 */ GIM_Try, /*On fail goto*//*Label 543*/ GIMT_Encode4(19643), // Rule ID 25102 //
7888 /* 19586 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_NoEGPR),
7889 /* 19589 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7890 /* 19592 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7891 /* 19596 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7892 /* 19600 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7893 /* 19604 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7894 /* 19608 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7895 /* 19612 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7896 /* 19616 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7897 /* 19621 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
7898 /* 19625 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7899 /* 19627 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src2, (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, -1:{ *:[i64] })) => (ANDN64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
7900 /* 19627 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rr),
7901 /* 19630 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7902 /* 19632 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7903 /* 19636 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
7904 /* 19638 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7905 /* 19641 */ GIR_RootConstrainSelectedInstOperands,
7906 /* 19642 */ // GIR_Coverage, 25102,
7907 /* 19642 */ GIR_EraseRootFromParent_Done,
7908 /* 19643 */ // Label 543: @19643
7909 /* 19643 */ GIM_Try, /*On fail goto*//*Label 544*/ GIMT_Encode4(19705), // Rule ID 25106 //
7910 /* 19648 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_HasEGPR),
7911 /* 19651 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7912 /* 19654 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7913 /* 19658 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7914 /* 19662 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7915 /* 19666 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7916 /* 19670 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7917 /* 19674 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7918 /* 19678 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7919 /* 19683 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
7920 /* 19687 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7921 /* 19689 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src2, (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, -1:{ *:[i64] })) => (ANDN64rr_EVEX:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
7922 /* 19689 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rr_EVEX),
7923 /* 19692 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7924 /* 19694 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7925 /* 19698 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
7926 /* 19700 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7927 /* 19703 */ GIR_RootConstrainSelectedInstOperands,
7928 /* 19704 */ // GIR_Coverage, 25106,
7929 /* 19704 */ GIR_EraseRootFromParent_Done,
7930 /* 19705 */ // Label 544: @19705
7931 /* 19705 */ GIM_Try, /*On fail goto*//*Label 545*/ GIMT_Encode4(19741), // Rule ID 22853 //
7932 /* 19710 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
7933 /* 19713 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7934 /* 19716 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7935 /* 19720 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7936 /* 19724 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7937 /* 19728 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (AND64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
7938 /* 19728 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND64rr),
7939 /* 19733 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
7940 /* 19739 */ GIR_RootConstrainSelectedInstOperands,
7941 /* 19740 */ // GIR_Coverage, 22853,
7942 /* 19740 */ GIR_Done,
7943 /* 19741 */ // Label 545: @19741
7944 /* 19741 */ GIM_Try, /*On fail goto*//*Label 546*/ GIMT_Encode4(19777), // Rule ID 22943 //
7945 /* 19746 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
7946 /* 19749 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7947 /* 19752 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7948 /* 19756 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7949 /* 19760 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7950 /* 19764 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (AND64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
7951 /* 19764 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND64rr_ND),
7952 /* 19769 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
7953 /* 19775 */ GIR_RootConstrainSelectedInstOperands,
7954 /* 19776 */ // GIR_Coverage, 22943,
7955 /* 19776 */ GIR_Done,
7956 /* 19777 */ // Label 546: @19777
7957 /* 19777 */ GIM_Reject,
7958 /* 19778 */ // Label 522: @19778
7959 /* 19778 */ GIM_Reject,
7960 /* 19779 */ // Label 451: @19779
7961 /* 19779 */ GIM_Try, /*On fail goto*//*Label 547*/ GIMT_Encode4(20124),
7962 /* 19784 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s1,
7963 /* 19787 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s1,
7964 /* 19790 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
7965 /* 19794 */ GIM_Try, /*On fail goto*//*Label 548*/ GIMT_Encode4(19914), // Rule ID 19489 //
7966 /* 19799 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7967 /* 19803 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7968 /* 19807 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s1,
7969 /* 19811 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s1,
7970 /* 19815 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
7971 /* 19820 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7972 /* 19824 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7973 /* 19830 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7974 /* 19832 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
7975 /* 19836 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7976 /* 19838 */ // (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] })
7977 /* 19838 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
7978 /* 19841 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7979 /* 19845 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
7980 /* 19850 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
7981 /* 19854 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7982 /* 19859 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
7983 /* 19862 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7984 /* 19866 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
7985 /* 19871 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
7986 /* 19875 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7987 /* 19880 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
7988 /* 19883 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
7989 /* 19887 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
7990 /* 19892 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7991 /* 19895 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
7992 /* 19898 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7993 /* 19900 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7994 /* 19903 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7995 /* 19905 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7996 /* 19908 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
7997 /* 19913 */ // GIR_Coverage, 19489,
7998 /* 19913 */ GIR_EraseRootFromParent_Done,
7999 /* 19914 */ // Label 548: @19914
8000 /* 19914 */ GIM_Try, /*On fail goto*//*Label 549*/ GIMT_Encode4(20034), // Rule ID 25368 //
8001 /* 19919 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
8002 /* 19923 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8003 /* 19927 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
8004 /* 19931 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s1,
8005 /* 19935 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s1,
8006 /* 19939 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
8007 /* 19944 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
8008 /* 19948 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
8009 /* 19954 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
8010 /* 19956 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
8011 /* 19958 */ // (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] })
8012 /* 19958 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
8013 /* 19961 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8014 /* 19965 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
8015 /* 19970 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
8016 /* 19974 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8017 /* 19979 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
8018 /* 19982 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8019 /* 19986 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
8020 /* 19991 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
8021 /* 19995 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8022 /* 20000 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
8023 /* 20003 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
8024 /* 20007 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
8025 /* 20012 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
8026 /* 20015 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
8027 /* 20018 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
8028 /* 20020 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8029 /* 20023 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8030 /* 20025 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
8031 /* 20028 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
8032 /* 20033 */ // GIR_Coverage, 25368,
8033 /* 20033 */ GIR_EraseRootFromParent_Done,
8034 /* 20034 */ // Label 549: @20034
8035 /* 20034 */ GIM_Try, /*On fail goto*//*Label 550*/ GIMT_Encode4(20123), // Rule ID 19485 //
8036 /* 20039 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
8037 /* 20043 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
8038 /* 20047 */ // (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] })
8039 /* 20047 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
8040 /* 20050 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8041 /* 20054 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
8042 /* 20059 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
8043 /* 20063 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8044 /* 20068 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
8045 /* 20071 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8046 /* 20075 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
8047 /* 20080 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
8048 /* 20084 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8049 /* 20089 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
8050 /* 20092 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDWkk),
8051 /* 20096 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
8052 /* 20101 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
8053 /* 20104 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
8054 /* 20107 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
8055 /* 20109 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8056 /* 20112 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8057 /* 20114 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
8058 /* 20117 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
8059 /* 20122 */ // GIR_Coverage, 19485,
8060 /* 20122 */ GIR_EraseRootFromParent_Done,
8061 /* 20123 */ // Label 550: @20123
8062 /* 20123 */ GIM_Reject,
8063 /* 20124 */ // Label 547: @20124
8064 /* 20124 */ GIM_Reject,
8065 /* 20125 */ // Label 452: @20125
8066 /* 20125 */ GIM_Try, /*On fail goto*//*Label 551*/ GIMT_Encode4(20466),
8067 /* 20130 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
8068 /* 20133 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
8069 /* 20136 */ GIM_Try, /*On fail goto*//*Label 552*/ GIMT_Encode4(20198), // Rule ID 23360 //
8070 /* 20141 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
8071 /* 20144 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8072 /* 20148 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8073 /* 20152 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8074 /* 20156 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8075 /* 20159 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8076 /* 20163 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8077 /* 20167 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8078 /* 20171 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8079 /* 20173 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8080 /* 20180 */ // (and:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2i64] }:$src1) => (VPANDrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8081 /* 20180 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
8082 /* 20183 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8083 /* 20185 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8084 /* 20187 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8085 /* 20191 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8086 /* 20196 */ GIR_RootConstrainSelectedInstOperands,
8087 /* 20197 */ // GIR_Coverage, 23360,
8088 /* 20197 */ GIR_EraseRootFromParent_Done,
8089 /* 20198 */ // Label 552: @20198
8090 /* 20198 */ GIM_Try, /*On fail goto*//*Label 553*/ GIMT_Encode4(20260), // Rule ID 24149 //
8091 /* 20203 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
8092 /* 20206 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8093 /* 20210 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8094 /* 20214 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8095 /* 20218 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8096 /* 20221 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8097 /* 20225 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8098 /* 20229 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8099 /* 20233 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8100 /* 20235 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8101 /* 20242 */ // (and:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPANDQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8102 /* 20242 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rm),
8103 /* 20245 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8104 /* 20247 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8105 /* 20249 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8106 /* 20253 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8107 /* 20258 */ GIR_RootConstrainSelectedInstOperands,
8108 /* 20259 */ // GIR_Coverage, 24149,
8109 /* 20259 */ GIR_EraseRootFromParent_Done,
8110 /* 20260 */ // Label 553: @20260
8111 /* 20260 */ GIM_Try, /*On fail goto*//*Label 554*/ GIMT_Encode4(20322), // Rule ID 2111 //
8112 /* 20265 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
8113 /* 20268 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8114 /* 20272 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8115 /* 20276 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8116 /* 20280 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8117 /* 20284 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8118 /* 20287 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8119 /* 20291 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8120 /* 20295 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8121 /* 20297 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8122 /* 20304 */ // (and:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8123 /* 20304 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
8124 /* 20307 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8125 /* 20309 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8126 /* 20311 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8127 /* 20315 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8128 /* 20320 */ GIR_RootConstrainSelectedInstOperands,
8129 /* 20321 */ // GIR_Coverage, 2111,
8130 /* 20321 */ GIR_EraseRootFromParent_Done,
8131 /* 20322 */ // Label 554: @20322
8132 /* 20322 */ GIM_Try, /*On fail goto*//*Label 555*/ GIMT_Encode4(20384), // Rule ID 5707 //
8133 /* 20327 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
8134 /* 20330 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8135 /* 20334 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8136 /* 20338 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8137 /* 20342 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8138 /* 20346 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8139 /* 20349 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8140 /* 20353 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8141 /* 20357 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8142 /* 20359 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8143 /* 20366 */ // (and:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8144 /* 20366 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rm),
8145 /* 20369 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8146 /* 20371 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8147 /* 20373 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8148 /* 20377 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8149 /* 20382 */ GIR_RootConstrainSelectedInstOperands,
8150 /* 20383 */ // GIR_Coverage, 5707,
8151 /* 20383 */ GIR_EraseRootFromParent_Done,
8152 /* 20384 */ // Label 555: @20384
8153 /* 20384 */ GIM_Try, /*On fail goto*//*Label 556*/ GIMT_Encode4(20411), // Rule ID 2110 //
8154 /* 20389 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
8155 /* 20392 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8156 /* 20396 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8157 /* 20400 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8158 /* 20404 */ // (and:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPANDrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
8159 /* 20404 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDrr),
8160 /* 20409 */ GIR_RootConstrainSelectedInstOperands,
8161 /* 20410 */ // GIR_Coverage, 2110,
8162 /* 20410 */ GIR_Done,
8163 /* 20411 */ // Label 556: @20411
8164 /* 20411 */ GIM_Try, /*On fail goto*//*Label 557*/ GIMT_Encode4(20438), // Rule ID 2112 //
8165 /* 20416 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
8166 /* 20419 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8167 /* 20423 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8168 /* 20427 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8169 /* 20431 */ // (and:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (PANDrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
8170 /* 20431 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PANDrr),
8171 /* 20436 */ GIR_RootConstrainSelectedInstOperands,
8172 /* 20437 */ // GIR_Coverage, 2112,
8173 /* 20437 */ GIR_Done,
8174 /* 20438 */ // Label 557: @20438
8175 /* 20438 */ GIM_Try, /*On fail goto*//*Label 558*/ GIMT_Encode4(20465), // Rule ID 5704 //
8176 /* 20443 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
8177 /* 20446 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8178 /* 20450 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8179 /* 20454 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8180 /* 20458 */ // (and:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPANDQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
8181 /* 20458 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rr),
8182 /* 20463 */ GIR_RootConstrainSelectedInstOperands,
8183 /* 20464 */ // GIR_Coverage, 5704,
8184 /* 20464 */ GIR_Done,
8185 /* 20465 */ // Label 558: @20465
8186 /* 20465 */ GIM_Reject,
8187 /* 20466 */ // Label 551: @20466
8188 /* 20466 */ GIM_Reject,
8189 /* 20467 */ // Label 453: @20467
8190 /* 20467 */ GIM_Try, /*On fail goto*//*Label 559*/ GIMT_Encode4(20812),
8191 /* 20472 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
8192 /* 20475 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s1,
8193 /* 20478 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
8194 /* 20482 */ GIM_Try, /*On fail goto*//*Label 560*/ GIMT_Encode4(20602), // Rule ID 19490 //
8195 /* 20487 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8196 /* 20491 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
8197 /* 20495 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s1,
8198 /* 20499 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s1,
8199 /* 20503 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
8200 /* 20508 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
8201 /* 20512 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
8202 /* 20518 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
8203 /* 20520 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
8204 /* 20524 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
8205 /* 20526 */ // (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] })
8206 /* 20526 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
8207 /* 20529 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8208 /* 20533 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
8209 /* 20538 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
8210 /* 20542 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8211 /* 20547 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
8212 /* 20550 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8213 /* 20554 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
8214 /* 20559 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
8215 /* 20563 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8216 /* 20568 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
8217 /* 20571 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
8218 /* 20575 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
8219 /* 20580 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
8220 /* 20583 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
8221 /* 20586 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
8222 /* 20588 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8223 /* 20591 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8224 /* 20593 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
8225 /* 20596 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
8226 /* 20601 */ // GIR_Coverage, 19490,
8227 /* 20601 */ GIR_EraseRootFromParent_Done,
8228 /* 20602 */ // Label 560: @20602
8229 /* 20602 */ GIM_Try, /*On fail goto*//*Label 561*/ GIMT_Encode4(20722), // Rule ID 25369 //
8230 /* 20607 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
8231 /* 20611 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8232 /* 20615 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
8233 /* 20619 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s1,
8234 /* 20623 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s1,
8235 /* 20627 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
8236 /* 20632 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
8237 /* 20636 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
8238 /* 20642 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
8239 /* 20644 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
8240 /* 20646 */ // (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] })
8241 /* 20646 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
8242 /* 20649 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8243 /* 20653 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
8244 /* 20658 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
8245 /* 20662 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8246 /* 20667 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
8247 /* 20670 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8248 /* 20674 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
8249 /* 20679 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
8250 /* 20683 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8251 /* 20688 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
8252 /* 20691 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
8253 /* 20695 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
8254 /* 20700 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
8255 /* 20703 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
8256 /* 20706 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
8257 /* 20708 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8258 /* 20711 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8259 /* 20713 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
8260 /* 20716 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
8261 /* 20721 */ // GIR_Coverage, 25369,
8262 /* 20721 */ GIR_EraseRootFromParent_Done,
8263 /* 20722 */ // Label 561: @20722
8264 /* 20722 */ GIM_Try, /*On fail goto*//*Label 562*/ GIMT_Encode4(20811), // Rule ID 19486 //
8265 /* 20727 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
8266 /* 20731 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
8267 /* 20735 */ // (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] })
8268 /* 20735 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
8269 /* 20738 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8270 /* 20742 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
8271 /* 20747 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
8272 /* 20751 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8273 /* 20756 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
8274 /* 20759 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8275 /* 20763 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
8276 /* 20768 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
8277 /* 20772 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8278 /* 20777 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
8279 /* 20780 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDWkk),
8280 /* 20784 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
8281 /* 20789 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
8282 /* 20792 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
8283 /* 20795 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
8284 /* 20797 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8285 /* 20800 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8286 /* 20802 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
8287 /* 20805 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
8288 /* 20810 */ // GIR_Coverage, 19486,
8289 /* 20810 */ GIR_EraseRootFromParent_Done,
8290 /* 20811 */ // Label 562: @20811
8291 /* 20811 */ GIM_Reject,
8292 /* 20812 */ // Label 559: @20812
8293 /* 20812 */ GIM_Reject,
8294 /* 20813 */ // Label 454: @20813
8295 /* 20813 */ GIM_Try, /*On fail goto*//*Label 563*/ GIMT_Encode4(21154),
8296 /* 20818 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
8297 /* 20821 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
8298 /* 20824 */ GIM_Try, /*On fail goto*//*Label 564*/ GIMT_Encode4(20886), // Rule ID 24167 //
8299 /* 20829 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
8300 /* 20832 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8301 /* 20836 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8302 /* 20840 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8303 /* 20844 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8304 /* 20847 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8305 /* 20851 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8306 /* 20855 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8307 /* 20859 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8308 /* 20861 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8309 /* 20868 */ // (and:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPANDDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8310 /* 20868 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDDZ128rm),
8311 /* 20871 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8312 /* 20873 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8313 /* 20875 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8314 /* 20879 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8315 /* 20884 */ GIR_RootConstrainSelectedInstOperands,
8316 /* 20885 */ // GIR_Coverage, 24167,
8317 /* 20885 */ GIR_EraseRootFromParent_Done,
8318 /* 20886 */ // Label 564: @20886
8319 /* 20886 */ GIM_Try, /*On fail goto*//*Label 565*/ GIMT_Encode4(20948), // Rule ID 25253 //
8320 /* 20891 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
8321 /* 20894 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8322 /* 20898 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8323 /* 20902 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8324 /* 20906 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8325 /* 20909 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8326 /* 20913 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8327 /* 20917 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8328 /* 20921 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8329 /* 20923 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8330 /* 20930 */ // (and:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPANDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8331 /* 20930 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
8332 /* 20933 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8333 /* 20935 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8334 /* 20937 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8335 /* 20941 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8336 /* 20946 */ GIR_RootConstrainSelectedInstOperands,
8337 /* 20947 */ // GIR_Coverage, 25253,
8338 /* 20947 */ GIR_EraseRootFromParent_Done,
8339 /* 20948 */ // Label 565: @20948
8340 /* 20948 */ GIM_Try, /*On fail goto*//*Label 566*/ GIMT_Encode4(21010), // Rule ID 5734 //
8341 /* 20953 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
8342 /* 20956 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8343 /* 20960 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8344 /* 20964 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8345 /* 20968 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8346 /* 20972 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8347 /* 20975 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8348 /* 20979 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8349 /* 20983 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8350 /* 20985 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8351 /* 20992 */ // (and:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8352 /* 20992 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDDZ128rm),
8353 /* 20995 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8354 /* 20997 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8355 /* 20999 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8356 /* 21003 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8357 /* 21008 */ GIR_RootConstrainSelectedInstOperands,
8358 /* 21009 */ // GIR_Coverage, 5734,
8359 /* 21009 */ GIR_EraseRootFromParent_Done,
8360 /* 21010 */ // Label 566: @21010
8361 /* 21010 */ GIM_Try, /*On fail goto*//*Label 567*/ GIMT_Encode4(21072), // Rule ID 18160 //
8362 /* 21015 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
8363 /* 21018 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8364 /* 21022 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8365 /* 21026 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8366 /* 21030 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8367 /* 21034 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8368 /* 21037 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8369 /* 21041 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8370 /* 21045 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8371 /* 21047 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8372 /* 21054 */ // (and:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8373 /* 21054 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
8374 /* 21057 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8375 /* 21059 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8376 /* 21061 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8377 /* 21065 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8378 /* 21070 */ GIR_RootConstrainSelectedInstOperands,
8379 /* 21071 */ // GIR_Coverage, 18160,
8380 /* 21071 */ GIR_EraseRootFromParent_Done,
8381 /* 21072 */ // Label 567: @21072
8382 /* 21072 */ GIM_Try, /*On fail goto*//*Label 568*/ GIMT_Encode4(21099), // Rule ID 5731 //
8383 /* 21077 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
8384 /* 21080 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8385 /* 21084 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8386 /* 21088 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8387 /* 21092 */ // (and:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPANDDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
8388 /* 21092 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDDZ128rr),
8389 /* 21097 */ GIR_RootConstrainSelectedInstOperands,
8390 /* 21098 */ // GIR_Coverage, 5731,
8391 /* 21098 */ GIR_Done,
8392 /* 21099 */ // Label 568: @21099
8393 /* 21099 */ GIM_Try, /*On fail goto*//*Label 569*/ GIMT_Encode4(21126), // Rule ID 18148 //
8394 /* 21104 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
8395 /* 21107 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8396 /* 21111 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8397 /* 21115 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8398 /* 21119 */ // (and:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPANDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
8399 /* 21119 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDrr),
8400 /* 21124 */ GIR_RootConstrainSelectedInstOperands,
8401 /* 21125 */ // GIR_Coverage, 18148,
8402 /* 21125 */ GIR_Done,
8403 /* 21126 */ // Label 569: @21126
8404 /* 21126 */ GIM_Try, /*On fail goto*//*Label 570*/ GIMT_Encode4(21153), // Rule ID 18172 //
8405 /* 21131 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
8406 /* 21134 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8407 /* 21138 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8408 /* 21142 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8409 /* 21146 */ // (and:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PANDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
8410 /* 21146 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PANDrr),
8411 /* 21151 */ GIR_RootConstrainSelectedInstOperands,
8412 /* 21152 */ // GIR_Coverage, 18172,
8413 /* 21152 */ GIR_Done,
8414 /* 21153 */ // Label 570: @21153
8415 /* 21153 */ GIM_Reject,
8416 /* 21154 */ // Label 563: @21154
8417 /* 21154 */ GIM_Reject,
8418 /* 21155 */ // Label 455: @21155
8419 /* 21155 */ GIM_Try, /*On fail goto*//*Label 571*/ GIMT_Encode4(21620),
8420 /* 21160 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
8421 /* 21163 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
8422 /* 21166 */ GIM_Try, /*On fail goto*//*Label 572*/ GIMT_Encode4(21228), // Rule ID 23362 //
8423 /* 21171 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
8424 /* 21174 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8425 /* 21178 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8426 /* 21182 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8427 /* 21186 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8428 /* 21189 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8429 /* 21193 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8430 /* 21197 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8431 /* 21201 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8432 /* 21203 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8433 /* 21210 */ // (and:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VPANDYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8434 /* 21210 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
8435 /* 21213 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8436 /* 21215 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8437 /* 21217 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8438 /* 21221 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8439 /* 21226 */ GIR_RootConstrainSelectedInstOperands,
8440 /* 21227 */ // GIR_Coverage, 23362,
8441 /* 21227 */ GIR_EraseRootFromParent_Done,
8442 /* 21228 */ // Label 572: @21228
8443 /* 21228 */ GIM_Try, /*On fail goto*//*Label 573*/ GIMT_Encode4(21290), // Rule ID 24143 //
8444 /* 21233 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
8445 /* 21236 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8446 /* 21240 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8447 /* 21244 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8448 /* 21248 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8449 /* 21251 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8450 /* 21255 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8451 /* 21259 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8452 /* 21263 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8453 /* 21265 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8454 /* 21272 */ // (and:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPANDQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8455 /* 21272 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rm),
8456 /* 21275 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8457 /* 21277 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8458 /* 21279 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8459 /* 21283 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8460 /* 21288 */ GIR_RootConstrainSelectedInstOperands,
8461 /* 21289 */ // GIR_Coverage, 24143,
8462 /* 21289 */ GIR_EraseRootFromParent_Done,
8463 /* 21290 */ // Label 573: @21290
8464 /* 21290 */ GIM_Try, /*On fail goto*//*Label 574*/ GIMT_Encode4(21352), // Rule ID 25242 //
8465 /* 21295 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
8466 /* 21298 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8467 /* 21302 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8468 /* 21306 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8469 /* 21310 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8470 /* 21313 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8471 /* 21317 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8472 /* 21321 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8473 /* 21325 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8474 /* 21327 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8475 /* 21334 */ // (and:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VANDPSYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8476 /* 21334 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
8477 /* 21337 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8478 /* 21339 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8479 /* 21341 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8480 /* 21345 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8481 /* 21350 */ GIR_RootConstrainSelectedInstOperands,
8482 /* 21351 */ // GIR_Coverage, 25242,
8483 /* 21351 */ GIR_EraseRootFromParent_Done,
8484 /* 21352 */ // Label 574: @21352
8485 /* 21352 */ GIM_Try, /*On fail goto*//*Label 575*/ GIMT_Encode4(21414), // Rule ID 2115 //
8486 /* 21357 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
8487 /* 21360 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8488 /* 21364 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8489 /* 21368 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8490 /* 21372 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8491 /* 21376 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8492 /* 21379 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8493 /* 21383 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8494 /* 21387 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8495 /* 21389 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8496 /* 21396 */ // (and:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8497 /* 21396 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
8498 /* 21399 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8499 /* 21401 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8500 /* 21403 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8501 /* 21407 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8502 /* 21412 */ GIR_RootConstrainSelectedInstOperands,
8503 /* 21413 */ // GIR_Coverage, 2115,
8504 /* 21413 */ GIR_EraseRootFromParent_Done,
8505 /* 21414 */ // Label 575: @21414
8506 /* 21414 */ GIM_Try, /*On fail goto*//*Label 576*/ GIMT_Encode4(21476), // Rule ID 5698 //
8507 /* 21419 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
8508 /* 21422 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8509 /* 21426 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8510 /* 21430 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8511 /* 21434 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8512 /* 21438 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8513 /* 21441 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8514 /* 21445 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8515 /* 21449 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8516 /* 21451 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8517 /* 21458 */ // (and:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8518 /* 21458 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rm),
8519 /* 21461 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8520 /* 21463 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8521 /* 21465 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8522 /* 21469 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8523 /* 21474 */ GIR_RootConstrainSelectedInstOperands,
8524 /* 21475 */ // GIR_Coverage, 5698,
8525 /* 21475 */ GIR_EraseRootFromParent_Done,
8526 /* 21476 */ // Label 576: @21476
8527 /* 21476 */ GIM_Try, /*On fail goto*//*Label 577*/ GIMT_Encode4(21538), // Rule ID 18133 //
8528 /* 21481 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
8529 /* 21484 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8530 /* 21488 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8531 /* 21492 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8532 /* 21496 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8533 /* 21500 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8534 /* 21503 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8535 /* 21507 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8536 /* 21511 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8537 /* 21513 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8538 /* 21520 */ // (and:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VANDPSYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8539 /* 21520 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
8540 /* 21523 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8541 /* 21525 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8542 /* 21527 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8543 /* 21531 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8544 /* 21536 */ GIR_RootConstrainSelectedInstOperands,
8545 /* 21537 */ // GIR_Coverage, 18133,
8546 /* 21537 */ GIR_EraseRootFromParent_Done,
8547 /* 21538 */ // Label 577: @21538
8548 /* 21538 */ GIM_Try, /*On fail goto*//*Label 578*/ GIMT_Encode4(21565), // Rule ID 2114 //
8549 /* 21543 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
8550 /* 21546 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8551 /* 21550 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8552 /* 21554 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8553 /* 21558 */ // (and:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VPANDYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
8554 /* 21558 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDYrr),
8555 /* 21563 */ GIR_RootConstrainSelectedInstOperands,
8556 /* 21564 */ // GIR_Coverage, 2114,
8557 /* 21564 */ GIR_Done,
8558 /* 21565 */ // Label 578: @21565
8559 /* 21565 */ GIM_Try, /*On fail goto*//*Label 579*/ GIMT_Encode4(21592), // Rule ID 5695 //
8560 /* 21570 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
8561 /* 21573 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8562 /* 21577 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8563 /* 21581 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8564 /* 21585 */ // (and:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPANDQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
8565 /* 21585 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rr),
8566 /* 21590 */ GIR_RootConstrainSelectedInstOperands,
8567 /* 21591 */ // GIR_Coverage, 5695,
8568 /* 21591 */ GIR_Done,
8569 /* 21592 */ // Label 579: @21592
8570 /* 21592 */ GIM_Try, /*On fail goto*//*Label 580*/ GIMT_Encode4(21619), // Rule ID 18117 //
8571 /* 21597 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
8572 /* 21600 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8573 /* 21604 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8574 /* 21608 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8575 /* 21612 */ // (and:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VANDPSYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
8576 /* 21612 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VANDPSYrr),
8577 /* 21617 */ GIR_RootConstrainSelectedInstOperands,
8578 /* 21618 */ // GIR_Coverage, 18117,
8579 /* 21618 */ GIR_Done,
8580 /* 21619 */ // Label 580: @21619
8581 /* 21619 */ GIM_Reject,
8582 /* 21620 */ // Label 571: @21620
8583 /* 21620 */ GIM_Reject,
8584 /* 21621 */ // Label 456: @21621
8585 /* 21621 */ GIM_Try, /*On fail goto*//*Label 581*/ GIMT_Encode4(22118),
8586 /* 21626 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
8587 /* 21629 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
8588 /* 21632 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
8589 /* 21636 */ GIM_Try, /*On fail goto*//*Label 582*/ GIMT_Encode4(21696), // Rule ID 4431 //
8590 /* 21641 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
8591 /* 21644 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8592 /* 21648 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
8593 /* 21652 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
8594 /* 21656 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
8595 /* 21660 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
8596 /* 21665 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
8597 /* 21669 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
8598 /* 21675 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
8599 /* 21677 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
8600 /* 21681 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
8601 /* 21683 */ // (and:{ *:[v8i1] } (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, immAllOnesV:{ *:[v8i1] }), VK8:{ *:[v8i1] }:$src2) => (KANDNBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
8602 /* 21683 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNBkk),
8603 /* 21686 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8604 /* 21688 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
8605 /* 21692 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
8606 /* 21694 */ GIR_RootConstrainSelectedInstOperands,
8607 /* 21695 */ // GIR_Coverage, 4431,
8608 /* 21695 */ GIR_EraseRootFromParent_Done,
8609 /* 21696 */ // Label 582: @21696
8610 /* 21696 */ GIM_Try, /*On fail goto*//*Label 583*/ GIMT_Encode4(21819), // Rule ID 19487 //
8611 /* 21701 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoDQI),
8612 /* 21704 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8613 /* 21708 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
8614 /* 21712 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
8615 /* 21716 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
8616 /* 21720 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
8617 /* 21725 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
8618 /* 21729 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
8619 /* 21735 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
8620 /* 21737 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
8621 /* 21741 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
8622 /* 21743 */ // (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] })
8623 /* 21743 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
8624 /* 21746 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8625 /* 21750 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
8626 /* 21755 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
8627 /* 21759 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8628 /* 21764 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
8629 /* 21767 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8630 /* 21771 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
8631 /* 21776 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
8632 /* 21780 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8633 /* 21785 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
8634 /* 21788 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
8635 /* 21792 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
8636 /* 21797 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
8637 /* 21800 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
8638 /* 21803 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
8639 /* 21805 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8640 /* 21808 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8641 /* 21810 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
8642 /* 21813 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
8643 /* 21818 */ // GIR_Coverage, 19487,
8644 /* 21818 */ GIR_EraseRootFromParent_Done,
8645 /* 21819 */ // Label 583: @21819
8646 /* 21819 */ GIM_Try, /*On fail goto*//*Label 584*/ GIMT_Encode4(21879), // Rule ID 23692 //
8647 /* 21824 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
8648 /* 21827 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
8649 /* 21831 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8650 /* 21835 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
8651 /* 21839 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
8652 /* 21843 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
8653 /* 21847 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
8654 /* 21852 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
8655 /* 21856 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
8656 /* 21862 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
8657 /* 21864 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
8658 /* 21866 */ // (and:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src2, (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, immAllOnesV:{ *:[v8i1] })) => (KANDNBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
8659 /* 21866 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNBkk),
8660 /* 21869 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8661 /* 21871 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
8662 /* 21875 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
8663 /* 21877 */ GIR_RootConstrainSelectedInstOperands,
8664 /* 21878 */ // GIR_Coverage, 23692,
8665 /* 21878 */ GIR_EraseRootFromParent_Done,
8666 /* 21879 */ // Label 584: @21879
8667 /* 21879 */ GIM_Try, /*On fail goto*//*Label 585*/ GIMT_Encode4(22002), // Rule ID 25366 //
8668 /* 21884 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoDQI),
8669 /* 21887 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
8670 /* 21891 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8671 /* 21895 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
8672 /* 21899 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
8673 /* 21903 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
8674 /* 21907 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
8675 /* 21912 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
8676 /* 21916 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
8677 /* 21922 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
8678 /* 21924 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
8679 /* 21926 */ // (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] })
8680 /* 21926 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
8681 /* 21929 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8682 /* 21933 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
8683 /* 21938 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
8684 /* 21942 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8685 /* 21947 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
8686 /* 21950 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8687 /* 21954 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
8688 /* 21959 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
8689 /* 21963 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8690 /* 21968 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
8691 /* 21971 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
8692 /* 21975 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
8693 /* 21980 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
8694 /* 21983 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
8695 /* 21986 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
8696 /* 21988 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8697 /* 21991 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8698 /* 21993 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
8699 /* 21996 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
8700 /* 22001 */ // GIR_Coverage, 25366,
8701 /* 22001 */ GIR_EraseRootFromParent_Done,
8702 /* 22002 */ // Label 585: @22002
8703 /* 22002 */ GIM_Try, /*On fail goto*//*Label 586*/ GIMT_Encode4(22025), // Rule ID 4415 //
8704 /* 22007 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
8705 /* 22010 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
8706 /* 22014 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
8707 /* 22018 */ // (and:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2) => (KANDBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
8708 /* 22018 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KANDBkk),
8709 /* 22023 */ GIR_RootConstrainSelectedInstOperands,
8710 /* 22024 */ // GIR_Coverage, 4415,
8711 /* 22024 */ GIR_Done,
8712 /* 22025 */ // Label 586: @22025
8713 /* 22025 */ GIM_Try, /*On fail goto*//*Label 587*/ GIMT_Encode4(22117), // Rule ID 19483 //
8714 /* 22030 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoDQI),
8715 /* 22033 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
8716 /* 22037 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
8717 /* 22041 */ // (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] })
8718 /* 22041 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
8719 /* 22044 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8720 /* 22048 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
8721 /* 22053 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
8722 /* 22057 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8723 /* 22062 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
8724 /* 22065 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8725 /* 22069 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
8726 /* 22074 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
8727 /* 22078 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8728 /* 22083 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
8729 /* 22086 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDWkk),
8730 /* 22090 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
8731 /* 22095 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
8732 /* 22098 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
8733 /* 22101 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
8734 /* 22103 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8735 /* 22106 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8736 /* 22108 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
8737 /* 22111 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
8738 /* 22116 */ // GIR_Coverage, 19483,
8739 /* 22116 */ GIR_EraseRootFromParent_Done,
8740 /* 22117 */ // Label 587: @22117
8741 /* 22117 */ GIM_Reject,
8742 /* 22118 */ // Label 581: @22118
8743 /* 22118 */ GIM_Reject,
8744 /* 22119 */ // Label 457: @22119
8745 /* 22119 */ GIM_Try, /*On fail goto*//*Label 588*/ GIMT_Encode4(22460),
8746 /* 22124 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
8747 /* 22127 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
8748 /* 22130 */ GIM_Try, /*On fail goto*//*Label 589*/ GIMT_Encode4(22192), // Rule ID 25252 //
8749 /* 22135 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
8750 /* 22138 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8751 /* 22142 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8752 /* 22146 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8753 /* 22150 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8754 /* 22153 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8755 /* 22157 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8756 /* 22161 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8757 /* 22165 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8758 /* 22167 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8759 /* 22174 */ // (and:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPANDrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8760 /* 22174 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
8761 /* 22177 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8762 /* 22179 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8763 /* 22181 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8764 /* 22185 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8765 /* 22190 */ GIR_RootConstrainSelectedInstOperands,
8766 /* 22191 */ // GIR_Coverage, 25252,
8767 /* 22191 */ GIR_EraseRootFromParent_Done,
8768 /* 22192 */ // Label 589: @22192
8769 /* 22192 */ GIM_Try, /*On fail goto*//*Label 590*/ GIMT_Encode4(22254), // Rule ID 25433 //
8770 /* 22197 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
8771 /* 22200 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8772 /* 22204 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8773 /* 22208 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8774 /* 22212 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8775 /* 22215 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8776 /* 22219 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8777 /* 22223 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8778 /* 22227 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8779 /* 22229 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8780 /* 22236 */ // (and:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPANDQZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8781 /* 22236 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rm),
8782 /* 22239 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8783 /* 22241 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8784 /* 22243 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8785 /* 22247 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8786 /* 22252 */ GIR_RootConstrainSelectedInstOperands,
8787 /* 22253 */ // GIR_Coverage, 25433,
8788 /* 22253 */ GIR_EraseRootFromParent_Done,
8789 /* 22254 */ // Label 590: @22254
8790 /* 22254 */ GIM_Try, /*On fail goto*//*Label 591*/ GIMT_Encode4(22316), // Rule ID 18159 //
8791 /* 22259 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
8792 /* 22262 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8793 /* 22266 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8794 /* 22270 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8795 /* 22274 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8796 /* 22278 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8797 /* 22281 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8798 /* 22285 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8799 /* 22289 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8800 /* 22291 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8801 /* 22298 */ // (and:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8802 /* 22298 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
8803 /* 22301 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8804 /* 22303 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8805 /* 22305 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8806 /* 22309 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8807 /* 22314 */ GIR_RootConstrainSelectedInstOperands,
8808 /* 22315 */ // GIR_Coverage, 18159,
8809 /* 22315 */ GIR_EraseRootFromParent_Done,
8810 /* 22316 */ // Label 591: @22316
8811 /* 22316 */ GIM_Try, /*On fail goto*//*Label 592*/ GIMT_Encode4(22378), // Rule ID 20025 //
8812 /* 22321 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
8813 /* 22324 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8814 /* 22328 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8815 /* 22332 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8816 /* 22336 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8817 /* 22340 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8818 /* 22343 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8819 /* 22347 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8820 /* 22351 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8821 /* 22353 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8822 /* 22360 */ // (and:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8823 /* 22360 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rm),
8824 /* 22363 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8825 /* 22365 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8826 /* 22367 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8827 /* 22371 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8828 /* 22376 */ GIR_RootConstrainSelectedInstOperands,
8829 /* 22377 */ // GIR_Coverage, 20025,
8830 /* 22377 */ GIR_EraseRootFromParent_Done,
8831 /* 22378 */ // Label 592: @22378
8832 /* 22378 */ GIM_Try, /*On fail goto*//*Label 593*/ GIMT_Encode4(22405), // Rule ID 18147 //
8833 /* 22383 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
8834 /* 22386 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8835 /* 22390 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8836 /* 22394 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8837 /* 22398 */ // (and:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPANDrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
8838 /* 22398 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDrr),
8839 /* 22403 */ GIR_RootConstrainSelectedInstOperands,
8840 /* 22404 */ // GIR_Coverage, 18147,
8841 /* 22404 */ GIR_Done,
8842 /* 22405 */ // Label 593: @22405
8843 /* 22405 */ GIM_Try, /*On fail goto*//*Label 594*/ GIMT_Encode4(22432), // Rule ID 18171 //
8844 /* 22410 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
8845 /* 22413 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8846 /* 22417 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8847 /* 22421 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8848 /* 22425 */ // (and:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PANDrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
8849 /* 22425 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PANDrr),
8850 /* 22430 */ GIR_RootConstrainSelectedInstOperands,
8851 /* 22431 */ // GIR_Coverage, 18171,
8852 /* 22431 */ GIR_Done,
8853 /* 22432 */ // Label 594: @22432
8854 /* 22432 */ GIM_Try, /*On fail goto*//*Label 595*/ GIMT_Encode4(22459), // Rule ID 20017 //
8855 /* 22437 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
8856 /* 22440 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8857 /* 22444 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8858 /* 22448 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8859 /* 22452 */ // (and:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPANDQZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
8860 /* 22452 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rr),
8861 /* 22457 */ GIR_RootConstrainSelectedInstOperands,
8862 /* 22458 */ // GIR_Coverage, 20017,
8863 /* 22458 */ GIR_Done,
8864 /* 22459 */ // Label 595: @22459
8865 /* 22459 */ GIM_Reject,
8866 /* 22460 */ // Label 588: @22460
8867 /* 22460 */ GIM_Reject,
8868 /* 22461 */ // Label 458: @22461
8869 /* 22461 */ GIM_Try, /*On fail goto*//*Label 596*/ GIMT_Encode4(22926),
8870 /* 22466 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
8871 /* 22469 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
8872 /* 22472 */ GIM_Try, /*On fail goto*//*Label 597*/ GIMT_Encode4(22534), // Rule ID 24161 //
8873 /* 22477 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
8874 /* 22480 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8875 /* 22484 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8876 /* 22488 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8877 /* 22492 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8878 /* 22495 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8879 /* 22499 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8880 /* 22503 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8881 /* 22507 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8882 /* 22509 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8883 /* 22516 */ // (and:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPANDDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8884 /* 22516 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDDZ256rm),
8885 /* 22519 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8886 /* 22521 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8887 /* 22523 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8888 /* 22527 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8889 /* 22532 */ GIR_RootConstrainSelectedInstOperands,
8890 /* 22533 */ // GIR_Coverage, 24161,
8891 /* 22533 */ GIR_EraseRootFromParent_Done,
8892 /* 22534 */ // Label 597: @22534
8893 /* 22534 */ GIM_Try, /*On fail goto*//*Label 598*/ GIMT_Encode4(22596), // Rule ID 25232 //
8894 /* 22539 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
8895 /* 22542 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8896 /* 22546 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8897 /* 22550 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8898 /* 22554 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8899 /* 22557 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8900 /* 22561 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8901 /* 22565 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8902 /* 22569 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8903 /* 22571 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8904 /* 22578 */ // (and:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPANDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8905 /* 22578 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
8906 /* 22581 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8907 /* 22583 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8908 /* 22585 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8909 /* 22589 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8910 /* 22594 */ GIR_RootConstrainSelectedInstOperands,
8911 /* 22595 */ // GIR_Coverage, 25232,
8912 /* 22595 */ GIR_EraseRootFromParent_Done,
8913 /* 22596 */ // Label 598: @22596
8914 /* 22596 */ GIM_Try, /*On fail goto*//*Label 599*/ GIMT_Encode4(22658), // Rule ID 25241 //
8915 /* 22601 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
8916 /* 22604 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8917 /* 22608 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8918 /* 22612 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8919 /* 22616 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8920 /* 22619 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8921 /* 22623 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8922 /* 22627 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8923 /* 22631 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8924 /* 22633 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8925 /* 22640 */ // (and:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VANDPSYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8926 /* 22640 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
8927 /* 22643 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8928 /* 22645 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8929 /* 22647 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8930 /* 22651 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8931 /* 22656 */ GIR_RootConstrainSelectedInstOperands,
8932 /* 22657 */ // GIR_Coverage, 25241,
8933 /* 22657 */ GIR_EraseRootFromParent_Done,
8934 /* 22658 */ // Label 599: @22658
8935 /* 22658 */ GIM_Try, /*On fail goto*//*Label 600*/ GIMT_Encode4(22720), // Rule ID 5725 //
8936 /* 22663 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
8937 /* 22666 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8938 /* 22670 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8939 /* 22674 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8940 /* 22678 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8941 /* 22682 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8942 /* 22685 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8943 /* 22689 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8944 /* 22693 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8945 /* 22695 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8946 /* 22702 */ // (and:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8947 /* 22702 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDDZ256rm),
8948 /* 22705 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8949 /* 22707 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8950 /* 22709 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8951 /* 22713 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8952 /* 22718 */ GIR_RootConstrainSelectedInstOperands,
8953 /* 22719 */ // GIR_Coverage, 5725,
8954 /* 22719 */ GIR_EraseRootFromParent_Done,
8955 /* 22720 */ // Label 600: @22720
8956 /* 22720 */ GIM_Try, /*On fail goto*//*Label 601*/ GIMT_Encode4(22782), // Rule ID 18104 //
8957 /* 22725 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
8958 /* 22728 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8959 /* 22732 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8960 /* 22736 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8961 /* 22740 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8962 /* 22744 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8963 /* 22747 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8964 /* 22751 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8965 /* 22755 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8966 /* 22757 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8967 /* 22764 */ // (and:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8968 /* 22764 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
8969 /* 22767 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8970 /* 22769 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8971 /* 22771 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8972 /* 22775 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8973 /* 22780 */ GIR_RootConstrainSelectedInstOperands,
8974 /* 22781 */ // GIR_Coverage, 18104,
8975 /* 22781 */ GIR_EraseRootFromParent_Done,
8976 /* 22782 */ // Label 601: @22782
8977 /* 22782 */ GIM_Try, /*On fail goto*//*Label 602*/ GIMT_Encode4(22844), // Rule ID 18132 //
8978 /* 22787 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
8979 /* 22790 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8980 /* 22794 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8981 /* 22798 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8982 /* 22802 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8983 /* 22806 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8984 /* 22809 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8985 /* 22813 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8986 /* 22817 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8987 /* 22819 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8988 /* 22826 */ // (and:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VANDPSYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8989 /* 22826 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
8990 /* 22829 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8991 /* 22831 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8992 /* 22833 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8993 /* 22837 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8994 /* 22842 */ GIR_RootConstrainSelectedInstOperands,
8995 /* 22843 */ // GIR_Coverage, 18132,
8996 /* 22843 */ GIR_EraseRootFromParent_Done,
8997 /* 22844 */ // Label 602: @22844
8998 /* 22844 */ GIM_Try, /*On fail goto*//*Label 603*/ GIMT_Encode4(22871), // Rule ID 5722 //
8999 /* 22849 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
9000 /* 22852 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9001 /* 22856 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9002 /* 22860 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9003 /* 22864 */ // (and:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPANDDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
9004 /* 22864 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDDZ256rr),
9005 /* 22869 */ GIR_RootConstrainSelectedInstOperands,
9006 /* 22870 */ // GIR_Coverage, 5722,
9007 /* 22870 */ GIR_Done,
9008 /* 22871 */ // Label 603: @22871
9009 /* 22871 */ GIM_Try, /*On fail goto*//*Label 604*/ GIMT_Encode4(22898), // Rule ID 18092 //
9010 /* 22876 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
9011 /* 22879 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9012 /* 22883 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9013 /* 22887 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9014 /* 22891 */ // (and:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPANDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
9015 /* 22891 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDYrr),
9016 /* 22896 */ GIR_RootConstrainSelectedInstOperands,
9017 /* 22897 */ // GIR_Coverage, 18092,
9018 /* 22897 */ GIR_Done,
9019 /* 22898 */ // Label 604: @22898
9020 /* 22898 */ GIM_Try, /*On fail goto*//*Label 605*/ GIMT_Encode4(22925), // Rule ID 18116 //
9021 /* 22903 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
9022 /* 22906 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9023 /* 22910 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9024 /* 22914 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9025 /* 22918 */ // (and:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VANDPSYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
9026 /* 22918 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VANDPSYrr),
9027 /* 22923 */ GIR_RootConstrainSelectedInstOperands,
9028 /* 22924 */ // GIR_Coverage, 18116,
9029 /* 22924 */ GIR_Done,
9030 /* 22925 */ // Label 605: @22925
9031 /* 22925 */ GIM_Reject,
9032 /* 22926 */ // Label 596: @22926
9033 /* 22926 */ GIM_Reject,
9034 /* 22927 */ // Label 459: @22927
9035 /* 22927 */ GIM_Try, /*On fail goto*//*Label 606*/ GIMT_Encode4(23082),
9036 /* 22932 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
9037 /* 22935 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
9038 /* 22938 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9039 /* 22942 */ GIM_Try, /*On fail goto*//*Label 607*/ GIMT_Encode4(23000), // Rule ID 24137 //
9040 /* 22947 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
9041 /* 22950 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9042 /* 22954 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9043 /* 22958 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9044 /* 22961 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9045 /* 22965 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9046 /* 22969 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9047 /* 22973 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9048 /* 22975 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9049 /* 22982 */ // (and:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPANDQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
9050 /* 22982 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZrm),
9051 /* 22985 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9052 /* 22987 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9053 /* 22989 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9054 /* 22993 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9055 /* 22998 */ GIR_RootConstrainSelectedInstOperands,
9056 /* 22999 */ // GIR_Coverage, 24137,
9057 /* 22999 */ GIR_EraseRootFromParent_Done,
9058 /* 23000 */ // Label 607: @23000
9059 /* 23000 */ GIM_Try, /*On fail goto*//*Label 608*/ GIMT_Encode4(23058), // Rule ID 5689 //
9060 /* 23005 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
9061 /* 23008 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9062 /* 23012 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9063 /* 23016 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9064 /* 23020 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9065 /* 23023 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9066 /* 23027 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9067 /* 23031 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9068 /* 23033 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9069 /* 23040 */ // (and:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
9070 /* 23040 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZrm),
9071 /* 23043 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9072 /* 23045 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9073 /* 23047 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9074 /* 23051 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9075 /* 23056 */ GIR_RootConstrainSelectedInstOperands,
9076 /* 23057 */ // GIR_Coverage, 5689,
9077 /* 23057 */ GIR_EraseRootFromParent_Done,
9078 /* 23058 */ // Label 608: @23058
9079 /* 23058 */ GIM_Try, /*On fail goto*//*Label 609*/ GIMT_Encode4(23081), // Rule ID 5686 //
9080 /* 23063 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
9081 /* 23066 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9082 /* 23070 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9083 /* 23074 */ // (and:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPANDQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
9084 /* 23074 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZrr),
9085 /* 23079 */ GIR_RootConstrainSelectedInstOperands,
9086 /* 23080 */ // GIR_Coverage, 5686,
9087 /* 23080 */ GIR_Done,
9088 /* 23081 */ // Label 609: @23081
9089 /* 23081 */ GIM_Reject,
9090 /* 23082 */ // Label 606: @23082
9091 /* 23082 */ GIM_Reject,
9092 /* 23083 */ // Label 460: @23083
9093 /* 23083 */ GIM_Try, /*On fail goto*//*Label 610*/ GIMT_Encode4(23242),
9094 /* 23088 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
9095 /* 23091 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
9096 /* 23094 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
9097 /* 23098 */ GIM_Try, /*On fail goto*//*Label 611*/ GIMT_Encode4(23158), // Rule ID 4432 //
9098 /* 23103 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
9099 /* 23106 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9100 /* 23110 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
9101 /* 23114 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
9102 /* 23118 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s1,
9103 /* 23122 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
9104 /* 23127 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
9105 /* 23131 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
9106 /* 23137 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
9107 /* 23139 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
9108 /* 23143 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9109 /* 23145 */ // (and:{ *:[v16i1] } (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, immAllOnesV:{ *:[v16i1] }), VK16:{ *:[v16i1] }:$src2) => (KANDNWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
9110 /* 23145 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
9111 /* 23148 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9112 /* 23150 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
9113 /* 23154 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
9114 /* 23156 */ GIR_RootConstrainSelectedInstOperands,
9115 /* 23157 */ // GIR_Coverage, 4432,
9116 /* 23157 */ GIR_EraseRootFromParent_Done,
9117 /* 23158 */ // Label 611: @23158
9118 /* 23158 */ GIM_Try, /*On fail goto*//*Label 612*/ GIMT_Encode4(23218), // Rule ID 23693 //
9119 /* 23163 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
9120 /* 23166 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
9121 /* 23170 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9122 /* 23174 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
9123 /* 23178 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
9124 /* 23182 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s1,
9125 /* 23186 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
9126 /* 23191 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
9127 /* 23195 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
9128 /* 23201 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
9129 /* 23203 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9130 /* 23205 */ // (and:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src2, (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, immAllOnesV:{ *:[v16i1] })) => (KANDNWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
9131 /* 23205 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
9132 /* 23208 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9133 /* 23210 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
9134 /* 23214 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
9135 /* 23216 */ GIR_RootConstrainSelectedInstOperands,
9136 /* 23217 */ // GIR_Coverage, 23693,
9137 /* 23217 */ GIR_EraseRootFromParent_Done,
9138 /* 23218 */ // Label 612: @23218
9139 /* 23218 */ GIM_Try, /*On fail goto*//*Label 613*/ GIMT_Encode4(23241), // Rule ID 4416 //
9140 /* 23223 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
9141 /* 23226 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
9142 /* 23230 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
9143 /* 23234 */ // (and:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2) => (KANDWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
9144 /* 23234 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KANDWkk),
9145 /* 23239 */ GIR_RootConstrainSelectedInstOperands,
9146 /* 23240 */ // GIR_Coverage, 4416,
9147 /* 23240 */ GIR_Done,
9148 /* 23241 */ // Label 613: @23241
9149 /* 23241 */ GIM_Reject,
9150 /* 23242 */ // Label 610: @23242
9151 /* 23242 */ GIM_Reject,
9152 /* 23243 */ // Label 461: @23243
9153 /* 23243 */ GIM_Try, /*On fail goto*//*Label 614*/ GIMT_Encode4(23584),
9154 /* 23248 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
9155 /* 23251 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
9156 /* 23254 */ GIM_Try, /*On fail goto*//*Label 615*/ GIMT_Encode4(23316), // Rule ID 25251 //
9157 /* 23259 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
9158 /* 23262 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
9159 /* 23266 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9160 /* 23270 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9161 /* 23274 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9162 /* 23277 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9163 /* 23281 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9164 /* 23285 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
9165 /* 23289 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9166 /* 23291 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9167 /* 23298 */ // (and:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPANDrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
9168 /* 23298 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
9169 /* 23301 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9170 /* 23303 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9171 /* 23305 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9172 /* 23309 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9173 /* 23314 */ GIR_RootConstrainSelectedInstOperands,
9174 /* 23315 */ // GIR_Coverage, 25251,
9175 /* 23315 */ GIR_EraseRootFromParent_Done,
9176 /* 23316 */ // Label 615: @23316
9177 /* 23316 */ GIM_Try, /*On fail goto*//*Label 616*/ GIMT_Encode4(23378), // Rule ID 25432 //
9178 /* 23321 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
9179 /* 23324 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
9180 /* 23328 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9181 /* 23332 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9182 /* 23336 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9183 /* 23339 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9184 /* 23343 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9185 /* 23347 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
9186 /* 23351 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9187 /* 23353 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9188 /* 23360 */ // (and:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPANDQZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
9189 /* 23360 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rm),
9190 /* 23363 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9191 /* 23365 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9192 /* 23367 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9193 /* 23371 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9194 /* 23376 */ GIR_RootConstrainSelectedInstOperands,
9195 /* 23377 */ // GIR_Coverage, 25432,
9196 /* 23377 */ GIR_EraseRootFromParent_Done,
9197 /* 23378 */ // Label 616: @23378
9198 /* 23378 */ GIM_Try, /*On fail goto*//*Label 617*/ GIMT_Encode4(23440), // Rule ID 18158 //
9199 /* 23383 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
9200 /* 23386 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
9201 /* 23390 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
9202 /* 23394 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9203 /* 23398 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9204 /* 23402 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9205 /* 23405 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9206 /* 23409 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9207 /* 23413 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9208 /* 23415 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9209 /* 23422 */ // (and:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
9210 /* 23422 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
9211 /* 23425 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9212 /* 23427 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9213 /* 23429 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9214 /* 23433 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9215 /* 23438 */ GIR_RootConstrainSelectedInstOperands,
9216 /* 23439 */ // GIR_Coverage, 18158,
9217 /* 23439 */ GIR_EraseRootFromParent_Done,
9218 /* 23440 */ // Label 617: @23440
9219 /* 23440 */ GIM_Try, /*On fail goto*//*Label 618*/ GIMT_Encode4(23502), // Rule ID 20024 //
9220 /* 23445 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
9221 /* 23448 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
9222 /* 23452 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
9223 /* 23456 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9224 /* 23460 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9225 /* 23464 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9226 /* 23467 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9227 /* 23471 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9228 /* 23475 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9229 /* 23477 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9230 /* 23484 */ // (and:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
9231 /* 23484 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rm),
9232 /* 23487 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9233 /* 23489 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9234 /* 23491 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9235 /* 23495 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9236 /* 23500 */ GIR_RootConstrainSelectedInstOperands,
9237 /* 23501 */ // GIR_Coverage, 20024,
9238 /* 23501 */ GIR_EraseRootFromParent_Done,
9239 /* 23502 */ // Label 618: @23502
9240 /* 23502 */ GIM_Try, /*On fail goto*//*Label 619*/ GIMT_Encode4(23529), // Rule ID 18146 //
9241 /* 23507 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
9242 /* 23510 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
9243 /* 23514 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
9244 /* 23518 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
9245 /* 23522 */ // (and:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPANDrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
9246 /* 23522 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDrr),
9247 /* 23527 */ GIR_RootConstrainSelectedInstOperands,
9248 /* 23528 */ // GIR_Coverage, 18146,
9249 /* 23528 */ GIR_Done,
9250 /* 23529 */ // Label 619: @23529
9251 /* 23529 */ GIM_Try, /*On fail goto*//*Label 620*/ GIMT_Encode4(23556), // Rule ID 18170 //
9252 /* 23534 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
9253 /* 23537 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
9254 /* 23541 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
9255 /* 23545 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
9256 /* 23549 */ // (and:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PANDrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
9257 /* 23549 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PANDrr),
9258 /* 23554 */ GIR_RootConstrainSelectedInstOperands,
9259 /* 23555 */ // GIR_Coverage, 18170,
9260 /* 23555 */ GIR_Done,
9261 /* 23556 */ // Label 620: @23556
9262 /* 23556 */ GIM_Try, /*On fail goto*//*Label 621*/ GIMT_Encode4(23583), // Rule ID 20016 //
9263 /* 23561 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
9264 /* 23564 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
9265 /* 23568 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
9266 /* 23572 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
9267 /* 23576 */ // (and:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPANDQZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
9268 /* 23576 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rr),
9269 /* 23581 */ GIR_RootConstrainSelectedInstOperands,
9270 /* 23582 */ // GIR_Coverage, 20016,
9271 /* 23582 */ GIR_Done,
9272 /* 23583 */ // Label 621: @23583
9273 /* 23583 */ GIM_Reject,
9274 /* 23584 */ // Label 614: @23584
9275 /* 23584 */ GIM_Reject,
9276 /* 23585 */ // Label 462: @23585
9277 /* 23585 */ GIM_Try, /*On fail goto*//*Label 622*/ GIMT_Encode4(24050),
9278 /* 23590 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
9279 /* 23593 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
9280 /* 23596 */ GIM_Try, /*On fail goto*//*Label 623*/ GIMT_Encode4(23658), // Rule ID 25231 //
9281 /* 23601 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
9282 /* 23604 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9283 /* 23608 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9284 /* 23612 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9285 /* 23616 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9286 /* 23619 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9287 /* 23623 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9288 /* 23627 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9289 /* 23631 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9290 /* 23633 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9291 /* 23640 */ // (and:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPANDYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
9292 /* 23640 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
9293 /* 23643 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9294 /* 23645 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9295 /* 23647 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9296 /* 23651 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9297 /* 23656 */ GIR_RootConstrainSelectedInstOperands,
9298 /* 23657 */ // GIR_Coverage, 25231,
9299 /* 23657 */ GIR_EraseRootFromParent_Done,
9300 /* 23658 */ // Label 623: @23658
9301 /* 23658 */ GIM_Try, /*On fail goto*//*Label 624*/ GIMT_Encode4(23720), // Rule ID 25240 //
9302 /* 23663 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
9303 /* 23666 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9304 /* 23670 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9305 /* 23674 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9306 /* 23678 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9307 /* 23681 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9308 /* 23685 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9309 /* 23689 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9310 /* 23693 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9311 /* 23695 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9312 /* 23702 */ // (and:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VANDPSYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
9313 /* 23702 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
9314 /* 23705 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9315 /* 23707 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9316 /* 23709 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9317 /* 23713 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9318 /* 23718 */ GIR_RootConstrainSelectedInstOperands,
9319 /* 23719 */ // GIR_Coverage, 25240,
9320 /* 23719 */ GIR_EraseRootFromParent_Done,
9321 /* 23720 */ // Label 624: @23720
9322 /* 23720 */ GIM_Try, /*On fail goto*//*Label 625*/ GIMT_Encode4(23782), // Rule ID 25439 //
9323 /* 23725 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
9324 /* 23728 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9325 /* 23732 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9326 /* 23736 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9327 /* 23740 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9328 /* 23743 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9329 /* 23747 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9330 /* 23751 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9331 /* 23755 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9332 /* 23757 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9333 /* 23764 */ // (and:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPANDQZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
9334 /* 23764 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rm),
9335 /* 23767 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9336 /* 23769 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9337 /* 23771 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9338 /* 23775 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9339 /* 23780 */ GIR_RootConstrainSelectedInstOperands,
9340 /* 23781 */ // GIR_Coverage, 25439,
9341 /* 23781 */ GIR_EraseRootFromParent_Done,
9342 /* 23782 */ // Label 625: @23782
9343 /* 23782 */ GIM_Try, /*On fail goto*//*Label 626*/ GIMT_Encode4(23844), // Rule ID 18103 //
9344 /* 23787 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
9345 /* 23790 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9346 /* 23794 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9347 /* 23798 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9348 /* 23802 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9349 /* 23806 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9350 /* 23809 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9351 /* 23813 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9352 /* 23817 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9353 /* 23819 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9354 /* 23826 */ // (and:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
9355 /* 23826 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
9356 /* 23829 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9357 /* 23831 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9358 /* 23833 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9359 /* 23837 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9360 /* 23842 */ GIR_RootConstrainSelectedInstOperands,
9361 /* 23843 */ // GIR_Coverage, 18103,
9362 /* 23843 */ GIR_EraseRootFromParent_Done,
9363 /* 23844 */ // Label 626: @23844
9364 /* 23844 */ GIM_Try, /*On fail goto*//*Label 627*/ GIMT_Encode4(23906), // Rule ID 18131 //
9365 /* 23849 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
9366 /* 23852 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9367 /* 23856 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9368 /* 23860 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9369 /* 23864 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9370 /* 23868 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9371 /* 23871 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9372 /* 23875 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9373 /* 23879 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9374 /* 23881 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9375 /* 23888 */ // (and:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VANDPSYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
9376 /* 23888 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
9377 /* 23891 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9378 /* 23893 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9379 /* 23895 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9380 /* 23899 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9381 /* 23904 */ GIR_RootConstrainSelectedInstOperands,
9382 /* 23905 */ // GIR_Coverage, 18131,
9383 /* 23905 */ GIR_EraseRootFromParent_Done,
9384 /* 23906 */ // Label 627: @23906
9385 /* 23906 */ GIM_Try, /*On fail goto*//*Label 628*/ GIMT_Encode4(23968), // Rule ID 20041 //
9386 /* 23911 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
9387 /* 23914 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9388 /* 23918 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9389 /* 23922 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9390 /* 23926 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9391 /* 23930 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9392 /* 23933 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9393 /* 23937 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9394 /* 23941 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9395 /* 23943 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9396 /* 23950 */ // (and:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
9397 /* 23950 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rm),
9398 /* 23953 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9399 /* 23955 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9400 /* 23957 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9401 /* 23961 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9402 /* 23966 */ GIR_RootConstrainSelectedInstOperands,
9403 /* 23967 */ // GIR_Coverage, 20041,
9404 /* 23967 */ GIR_EraseRootFromParent_Done,
9405 /* 23968 */ // Label 628: @23968
9406 /* 23968 */ GIM_Try, /*On fail goto*//*Label 629*/ GIMT_Encode4(23995), // Rule ID 18091 //
9407 /* 23973 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
9408 /* 23976 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9409 /* 23980 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9410 /* 23984 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9411 /* 23988 */ // (and:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPANDYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
9412 /* 23988 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDYrr),
9413 /* 23993 */ GIR_RootConstrainSelectedInstOperands,
9414 /* 23994 */ // GIR_Coverage, 18091,
9415 /* 23994 */ GIR_Done,
9416 /* 23995 */ // Label 629: @23995
9417 /* 23995 */ GIM_Try, /*On fail goto*//*Label 630*/ GIMT_Encode4(24022), // Rule ID 18115 //
9418 /* 24000 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
9419 /* 24003 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9420 /* 24007 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9421 /* 24011 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9422 /* 24015 */ // (and:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VANDPSYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
9423 /* 24015 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VANDPSYrr),
9424 /* 24020 */ GIR_RootConstrainSelectedInstOperands,
9425 /* 24021 */ // GIR_Coverage, 18115,
9426 /* 24021 */ GIR_Done,
9427 /* 24022 */ // Label 630: @24022
9428 /* 24022 */ GIM_Try, /*On fail goto*//*Label 631*/ GIMT_Encode4(24049), // Rule ID 20033 //
9429 /* 24027 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
9430 /* 24030 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9431 /* 24034 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9432 /* 24038 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9433 /* 24042 */ // (and:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPANDQZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
9434 /* 24042 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rr),
9435 /* 24047 */ GIR_RootConstrainSelectedInstOperands,
9436 /* 24048 */ // GIR_Coverage, 20033,
9437 /* 24048 */ GIR_Done,
9438 /* 24049 */ // Label 631: @24049
9439 /* 24049 */ GIM_Reject,
9440 /* 24050 */ // Label 622: @24050
9441 /* 24050 */ GIM_Reject,
9442 /* 24051 */ // Label 463: @24051
9443 /* 24051 */ GIM_Try, /*On fail goto*//*Label 632*/ GIMT_Encode4(24206),
9444 /* 24056 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
9445 /* 24059 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
9446 /* 24062 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9447 /* 24066 */ GIM_Try, /*On fail goto*//*Label 633*/ GIMT_Encode4(24124), // Rule ID 24155 //
9448 /* 24071 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
9449 /* 24074 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9450 /* 24078 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9451 /* 24082 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9452 /* 24085 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9453 /* 24089 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9454 /* 24093 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9455 /* 24097 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9456 /* 24099 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9457 /* 24106 */ // (and:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPANDDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
9458 /* 24106 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDDZrm),
9459 /* 24109 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9460 /* 24111 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9461 /* 24113 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9462 /* 24117 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9463 /* 24122 */ GIR_RootConstrainSelectedInstOperands,
9464 /* 24123 */ // GIR_Coverage, 24155,
9465 /* 24123 */ GIR_EraseRootFromParent_Done,
9466 /* 24124 */ // Label 633: @24124
9467 /* 24124 */ GIM_Try, /*On fail goto*//*Label 634*/ GIMT_Encode4(24182), // Rule ID 5716 //
9468 /* 24129 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
9469 /* 24132 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9470 /* 24136 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9471 /* 24140 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9472 /* 24144 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9473 /* 24147 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9474 /* 24151 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9475 /* 24155 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9476 /* 24157 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9477 /* 24164 */ // (and:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
9478 /* 24164 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDDZrm),
9479 /* 24167 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9480 /* 24169 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9481 /* 24171 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9482 /* 24175 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9483 /* 24180 */ GIR_RootConstrainSelectedInstOperands,
9484 /* 24181 */ // GIR_Coverage, 5716,
9485 /* 24181 */ GIR_EraseRootFromParent_Done,
9486 /* 24182 */ // Label 634: @24182
9487 /* 24182 */ GIM_Try, /*On fail goto*//*Label 635*/ GIMT_Encode4(24205), // Rule ID 5713 //
9488 /* 24187 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
9489 /* 24190 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9490 /* 24194 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9491 /* 24198 */ // (and:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPANDDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
9492 /* 24198 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDDZrr),
9493 /* 24203 */ GIR_RootConstrainSelectedInstOperands,
9494 /* 24204 */ // GIR_Coverage, 5713,
9495 /* 24204 */ GIR_Done,
9496 /* 24205 */ // Label 635: @24205
9497 /* 24205 */ GIM_Reject,
9498 /* 24206 */ // Label 632: @24206
9499 /* 24206 */ GIM_Reject,
9500 /* 24207 */ // Label 464: @24207
9501 /* 24207 */ GIM_Try, /*On fail goto*//*Label 636*/ GIMT_Encode4(24366),
9502 /* 24212 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
9503 /* 24215 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s1,
9504 /* 24218 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
9505 /* 24222 */ GIM_Try, /*On fail goto*//*Label 637*/ GIMT_Encode4(24282), // Rule ID 4433 //
9506 /* 24227 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
9507 /* 24230 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9508 /* 24234 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
9509 /* 24238 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v32s1,
9510 /* 24242 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v32s1,
9511 /* 24246 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
9512 /* 24251 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
9513 /* 24255 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
9514 /* 24261 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
9515 /* 24263 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
9516 /* 24267 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9517 /* 24269 */ // (and:{ *:[v32i1] } (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, immAllOnesV:{ *:[v32i1] }), VK32:{ *:[v32i1] }:$src2) => (KANDNDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
9518 /* 24269 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNDkk),
9519 /* 24272 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9520 /* 24274 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
9521 /* 24278 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
9522 /* 24280 */ GIR_RootConstrainSelectedInstOperands,
9523 /* 24281 */ // GIR_Coverage, 4433,
9524 /* 24281 */ GIR_EraseRootFromParent_Done,
9525 /* 24282 */ // Label 637: @24282
9526 /* 24282 */ GIM_Try, /*On fail goto*//*Label 638*/ GIMT_Encode4(24342), // Rule ID 23694 //
9527 /* 24287 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
9528 /* 24290 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
9529 /* 24294 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9530 /* 24298 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
9531 /* 24302 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v32s1,
9532 /* 24306 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v32s1,
9533 /* 24310 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
9534 /* 24315 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
9535 /* 24319 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
9536 /* 24325 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
9537 /* 24327 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9538 /* 24329 */ // (and:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src2, (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, immAllOnesV:{ *:[v32i1] })) => (KANDNDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
9539 /* 24329 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNDkk),
9540 /* 24332 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9541 /* 24334 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
9542 /* 24338 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
9543 /* 24340 */ GIR_RootConstrainSelectedInstOperands,
9544 /* 24341 */ // GIR_Coverage, 23694,
9545 /* 24341 */ GIR_EraseRootFromParent_Done,
9546 /* 24342 */ // Label 638: @24342
9547 /* 24342 */ GIM_Try, /*On fail goto*//*Label 639*/ GIMT_Encode4(24365), // Rule ID 4417 //
9548 /* 24347 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
9549 /* 24350 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
9550 /* 24354 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
9551 /* 24358 */ // (and:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2) => (KANDDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
9552 /* 24358 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KANDDkk),
9553 /* 24363 */ GIR_RootConstrainSelectedInstOperands,
9554 /* 24364 */ // GIR_Coverage, 4417,
9555 /* 24364 */ GIR_Done,
9556 /* 24365 */ // Label 639: @24365
9557 /* 24365 */ GIM_Reject,
9558 /* 24366 */ // Label 636: @24366
9559 /* 24366 */ GIM_Reject,
9560 /* 24367 */ // Label 465: @24367
9561 /* 24367 */ GIM_Try, /*On fail goto*//*Label 640*/ GIMT_Encode4(24832),
9562 /* 24372 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
9563 /* 24375 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
9564 /* 24378 */ GIM_Try, /*On fail goto*//*Label 641*/ GIMT_Encode4(24440), // Rule ID 25230 //
9565 /* 24383 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
9566 /* 24386 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9567 /* 24390 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9568 /* 24394 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9569 /* 24398 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9570 /* 24401 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9571 /* 24405 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9572 /* 24409 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9573 /* 24413 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9574 /* 24415 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9575 /* 24422 */ // (and:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPANDYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
9576 /* 24422 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
9577 /* 24425 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9578 /* 24427 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9579 /* 24429 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9580 /* 24433 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9581 /* 24438 */ GIR_RootConstrainSelectedInstOperands,
9582 /* 24439 */ // GIR_Coverage, 25230,
9583 /* 24439 */ GIR_EraseRootFromParent_Done,
9584 /* 24440 */ // Label 641: @24440
9585 /* 24440 */ GIM_Try, /*On fail goto*//*Label 642*/ GIMT_Encode4(24502), // Rule ID 25239 //
9586 /* 24445 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
9587 /* 24448 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9588 /* 24452 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9589 /* 24456 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9590 /* 24460 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9591 /* 24463 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9592 /* 24467 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9593 /* 24471 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9594 /* 24475 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9595 /* 24477 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9596 /* 24484 */ // (and:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VANDPSYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
9597 /* 24484 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
9598 /* 24487 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9599 /* 24489 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9600 /* 24491 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9601 /* 24495 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9602 /* 24500 */ GIR_RootConstrainSelectedInstOperands,
9603 /* 24501 */ // GIR_Coverage, 25239,
9604 /* 24501 */ GIR_EraseRootFromParent_Done,
9605 /* 24502 */ // Label 642: @24502
9606 /* 24502 */ GIM_Try, /*On fail goto*//*Label 643*/ GIMT_Encode4(24564), // Rule ID 25438 //
9607 /* 24507 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
9608 /* 24510 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9609 /* 24514 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9610 /* 24518 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9611 /* 24522 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9612 /* 24525 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9613 /* 24529 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9614 /* 24533 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9615 /* 24537 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9616 /* 24539 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9617 /* 24546 */ // (and:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPANDQZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
9618 /* 24546 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rm),
9619 /* 24549 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9620 /* 24551 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9621 /* 24553 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9622 /* 24557 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9623 /* 24562 */ GIR_RootConstrainSelectedInstOperands,
9624 /* 24563 */ // GIR_Coverage, 25438,
9625 /* 24563 */ GIR_EraseRootFromParent_Done,
9626 /* 24564 */ // Label 643: @24564
9627 /* 24564 */ GIM_Try, /*On fail goto*//*Label 644*/ GIMT_Encode4(24626), // Rule ID 18102 //
9628 /* 24569 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
9629 /* 24572 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9630 /* 24576 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9631 /* 24580 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9632 /* 24584 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9633 /* 24588 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9634 /* 24591 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9635 /* 24595 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9636 /* 24599 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9637 /* 24601 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9638 /* 24608 */ // (and:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
9639 /* 24608 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
9640 /* 24611 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9641 /* 24613 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9642 /* 24615 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9643 /* 24619 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9644 /* 24624 */ GIR_RootConstrainSelectedInstOperands,
9645 /* 24625 */ // GIR_Coverage, 18102,
9646 /* 24625 */ GIR_EraseRootFromParent_Done,
9647 /* 24626 */ // Label 644: @24626
9648 /* 24626 */ GIM_Try, /*On fail goto*//*Label 645*/ GIMT_Encode4(24688), // Rule ID 18130 //
9649 /* 24631 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
9650 /* 24634 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9651 /* 24638 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9652 /* 24642 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9653 /* 24646 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9654 /* 24650 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9655 /* 24653 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9656 /* 24657 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9657 /* 24661 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9658 /* 24663 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9659 /* 24670 */ // (and:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VANDPSYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
9660 /* 24670 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
9661 /* 24673 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9662 /* 24675 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9663 /* 24677 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9664 /* 24681 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9665 /* 24686 */ GIR_RootConstrainSelectedInstOperands,
9666 /* 24687 */ // GIR_Coverage, 18130,
9667 /* 24687 */ GIR_EraseRootFromParent_Done,
9668 /* 24688 */ // Label 645: @24688
9669 /* 24688 */ GIM_Try, /*On fail goto*//*Label 646*/ GIMT_Encode4(24750), // Rule ID 20040 //
9670 /* 24693 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
9671 /* 24696 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9672 /* 24700 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9673 /* 24704 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9674 /* 24708 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9675 /* 24712 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9676 /* 24715 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9677 /* 24719 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9678 /* 24723 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9679 /* 24725 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9680 /* 24732 */ // (and:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
9681 /* 24732 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rm),
9682 /* 24735 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9683 /* 24737 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9684 /* 24739 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9685 /* 24743 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9686 /* 24748 */ GIR_RootConstrainSelectedInstOperands,
9687 /* 24749 */ // GIR_Coverage, 20040,
9688 /* 24749 */ GIR_EraseRootFromParent_Done,
9689 /* 24750 */ // Label 646: @24750
9690 /* 24750 */ GIM_Try, /*On fail goto*//*Label 647*/ GIMT_Encode4(24777), // Rule ID 18090 //
9691 /* 24755 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
9692 /* 24758 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9693 /* 24762 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9694 /* 24766 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9695 /* 24770 */ // (and:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPANDYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
9696 /* 24770 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDYrr),
9697 /* 24775 */ GIR_RootConstrainSelectedInstOperands,
9698 /* 24776 */ // GIR_Coverage, 18090,
9699 /* 24776 */ GIR_Done,
9700 /* 24777 */ // Label 647: @24777
9701 /* 24777 */ GIM_Try, /*On fail goto*//*Label 648*/ GIMT_Encode4(24804), // Rule ID 18114 //
9702 /* 24782 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
9703 /* 24785 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9704 /* 24789 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9705 /* 24793 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9706 /* 24797 */ // (and:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VANDPSYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
9707 /* 24797 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VANDPSYrr),
9708 /* 24802 */ GIR_RootConstrainSelectedInstOperands,
9709 /* 24803 */ // GIR_Coverage, 18114,
9710 /* 24803 */ GIR_Done,
9711 /* 24804 */ // Label 648: @24804
9712 /* 24804 */ GIM_Try, /*On fail goto*//*Label 649*/ GIMT_Encode4(24831), // Rule ID 20032 //
9713 /* 24809 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
9714 /* 24812 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9715 /* 24816 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9716 /* 24820 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9717 /* 24824 */ // (and:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPANDQZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
9718 /* 24824 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rr),
9719 /* 24829 */ GIR_RootConstrainSelectedInstOperands,
9720 /* 24830 */ // GIR_Coverage, 20032,
9721 /* 24830 */ GIR_Done,
9722 /* 24831 */ // Label 649: @24831
9723 /* 24831 */ GIM_Reject,
9724 /* 24832 */ // Label 640: @24832
9725 /* 24832 */ GIM_Reject,
9726 /* 24833 */ // Label 466: @24833
9727 /* 24833 */ GIM_Try, /*On fail goto*//*Label 650*/ GIMT_Encode4(24988),
9728 /* 24838 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
9729 /* 24841 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
9730 /* 24844 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9731 /* 24848 */ GIM_Try, /*On fail goto*//*Label 651*/ GIMT_Encode4(24906), // Rule ID 25445 //
9732 /* 24853 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
9733 /* 24856 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9734 /* 24860 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9735 /* 24864 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9736 /* 24867 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9737 /* 24871 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9738 /* 24875 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9739 /* 24879 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9740 /* 24881 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9741 /* 24888 */ // (and:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPANDQZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
9742 /* 24888 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZrm),
9743 /* 24891 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9744 /* 24893 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9745 /* 24895 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9746 /* 24899 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9747 /* 24904 */ GIR_RootConstrainSelectedInstOperands,
9748 /* 24905 */ // GIR_Coverage, 25445,
9749 /* 24905 */ GIR_EraseRootFromParent_Done,
9750 /* 24906 */ // Label 651: @24906
9751 /* 24906 */ GIM_Try, /*On fail goto*//*Label 652*/ GIMT_Encode4(24964), // Rule ID 20057 //
9752 /* 24911 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
9753 /* 24914 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9754 /* 24918 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9755 /* 24922 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9756 /* 24926 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9757 /* 24929 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9758 /* 24933 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9759 /* 24937 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9760 /* 24939 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9761 /* 24946 */ // (and:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
9762 /* 24946 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZrm),
9763 /* 24949 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9764 /* 24951 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9765 /* 24953 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9766 /* 24957 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9767 /* 24962 */ GIR_RootConstrainSelectedInstOperands,
9768 /* 24963 */ // GIR_Coverage, 20057,
9769 /* 24963 */ GIR_EraseRootFromParent_Done,
9770 /* 24964 */ // Label 652: @24964
9771 /* 24964 */ GIM_Try, /*On fail goto*//*Label 653*/ GIMT_Encode4(24987), // Rule ID 20049 //
9772 /* 24969 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
9773 /* 24972 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9774 /* 24976 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9775 /* 24980 */ // (and:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPANDQZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
9776 /* 24980 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZrr),
9777 /* 24985 */ GIR_RootConstrainSelectedInstOperands,
9778 /* 24986 */ // GIR_Coverage, 20049,
9779 /* 24986 */ GIR_Done,
9780 /* 24987 */ // Label 653: @24987
9781 /* 24987 */ GIM_Reject,
9782 /* 24988 */ // Label 650: @24988
9783 /* 24988 */ GIM_Reject,
9784 /* 24989 */ // Label 467: @24989
9785 /* 24989 */ GIM_Try, /*On fail goto*//*Label 654*/ GIMT_Encode4(25148),
9786 /* 24994 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
9787 /* 24997 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s1,
9788 /* 25000 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
9789 /* 25004 */ GIM_Try, /*On fail goto*//*Label 655*/ GIMT_Encode4(25064), // Rule ID 4434 //
9790 /* 25009 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
9791 /* 25012 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9792 /* 25016 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
9793 /* 25020 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v64s1,
9794 /* 25024 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v64s1,
9795 /* 25028 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
9796 /* 25033 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
9797 /* 25037 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
9798 /* 25043 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
9799 /* 25045 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
9800 /* 25049 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9801 /* 25051 */ // (and:{ *:[v64i1] } (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, immAllOnesV:{ *:[v64i1] }), VK64:{ *:[v64i1] }:$src2) => (KANDNQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
9802 /* 25051 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNQkk),
9803 /* 25054 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9804 /* 25056 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
9805 /* 25060 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
9806 /* 25062 */ GIR_RootConstrainSelectedInstOperands,
9807 /* 25063 */ // GIR_Coverage, 4434,
9808 /* 25063 */ GIR_EraseRootFromParent_Done,
9809 /* 25064 */ // Label 655: @25064
9810 /* 25064 */ GIM_Try, /*On fail goto*//*Label 656*/ GIMT_Encode4(25124), // Rule ID 23695 //
9811 /* 25069 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
9812 /* 25072 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
9813 /* 25076 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9814 /* 25080 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
9815 /* 25084 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v64s1,
9816 /* 25088 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v64s1,
9817 /* 25092 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
9818 /* 25097 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
9819 /* 25101 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
9820 /* 25107 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
9821 /* 25109 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9822 /* 25111 */ // (and:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src2, (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, immAllOnesV:{ *:[v64i1] })) => (KANDNQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
9823 /* 25111 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNQkk),
9824 /* 25114 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9825 /* 25116 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
9826 /* 25120 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
9827 /* 25122 */ GIR_RootConstrainSelectedInstOperands,
9828 /* 25123 */ // GIR_Coverage, 23695,
9829 /* 25123 */ GIR_EraseRootFromParent_Done,
9830 /* 25124 */ // Label 656: @25124
9831 /* 25124 */ GIM_Try, /*On fail goto*//*Label 657*/ GIMT_Encode4(25147), // Rule ID 4418 //
9832 /* 25129 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
9833 /* 25132 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
9834 /* 25136 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
9835 /* 25140 */ // (and:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2) => (KANDQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
9836 /* 25140 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KANDQkk),
9837 /* 25145 */ GIR_RootConstrainSelectedInstOperands,
9838 /* 25146 */ // GIR_Coverage, 4418,
9839 /* 25146 */ GIR_Done,
9840 /* 25147 */ // Label 657: @25147
9841 /* 25147 */ GIM_Reject,
9842 /* 25148 */ // Label 654: @25148
9843 /* 25148 */ GIM_Reject,
9844 /* 25149 */ // Label 468: @25149
9845 /* 25149 */ GIM_Try, /*On fail goto*//*Label 658*/ GIMT_Encode4(25304),
9846 /* 25154 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
9847 /* 25157 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
9848 /* 25160 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9849 /* 25164 */ GIM_Try, /*On fail goto*//*Label 659*/ GIMT_Encode4(25222), // Rule ID 25444 //
9850 /* 25169 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
9851 /* 25172 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9852 /* 25176 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9853 /* 25180 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9854 /* 25183 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9855 /* 25187 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9856 /* 25191 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9857 /* 25195 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9858 /* 25197 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9859 /* 25204 */ // (and:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPANDQZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
9860 /* 25204 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZrm),
9861 /* 25207 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9862 /* 25209 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9863 /* 25211 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9864 /* 25215 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9865 /* 25220 */ GIR_RootConstrainSelectedInstOperands,
9866 /* 25221 */ // GIR_Coverage, 25444,
9867 /* 25221 */ GIR_EraseRootFromParent_Done,
9868 /* 25222 */ // Label 659: @25222
9869 /* 25222 */ GIM_Try, /*On fail goto*//*Label 660*/ GIMT_Encode4(25280), // Rule ID 20056 //
9870 /* 25227 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
9871 /* 25230 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9872 /* 25234 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9873 /* 25238 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9874 /* 25242 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9875 /* 25245 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9876 /* 25249 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9877 /* 25253 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9878 /* 25255 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9879 /* 25262 */ // (and:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
9880 /* 25262 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZrm),
9881 /* 25265 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9882 /* 25267 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9883 /* 25269 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9884 /* 25273 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9885 /* 25278 */ GIR_RootConstrainSelectedInstOperands,
9886 /* 25279 */ // GIR_Coverage, 20056,
9887 /* 25279 */ GIR_EraseRootFromParent_Done,
9888 /* 25280 */ // Label 660: @25280
9889 /* 25280 */ GIM_Try, /*On fail goto*//*Label 661*/ GIMT_Encode4(25303), // Rule ID 20048 //
9890 /* 25285 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
9891 /* 25288 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9892 /* 25292 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9893 /* 25296 */ // (and:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPANDQZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
9894 /* 25296 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZrr),
9895 /* 25301 */ GIR_RootConstrainSelectedInstOperands,
9896 /* 25302 */ // GIR_Coverage, 20048,
9897 /* 25302 */ GIR_Done,
9898 /* 25303 */ // Label 661: @25303
9899 /* 25303 */ GIM_Reject,
9900 /* 25304 */ // Label 658: @25304
9901 /* 25304 */ GIM_Reject,
9902 /* 25305 */ // Label 469: @25305
9903 /* 25305 */ GIM_Reject,
9904 /* 25306 */ // Label 4: @25306
9905 /* 25306 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(25), /*)*//*default:*//*Label 685*/ GIMT_Encode4(33709),
9906 /* 25317 */ /*GILLT_s1*//*Label 662*/ GIMT_Encode4(25417),
9907 /* 25321 */ /*GILLT_s8*//*Label 663*/ GIMT_Encode4(25517),
9908 /* 25325 */ /*GILLT_s16*//*Label 664*/ GIMT_Encode4(25910),
9909 /* 25329 */ /*GILLT_s32*//*Label 665*/ GIMT_Encode4(26507),
9910 /* 25333 */ /*GILLT_s64*//*Label 666*/ GIMT_Encode4(27963), GIMT_Encode4(0), GIMT_Encode4(0),
9911 /* 25345 */ /*GILLT_v2s1*//*Label 667*/ GIMT_Encode4(29427),
9912 /* 25349 */ /*GILLT_v2s64*//*Label 668*/ GIMT_Encode4(29527),
9913 /* 25353 */ /*GILLT_v4s1*//*Label 669*/ GIMT_Encode4(29869),
9914 /* 25357 */ /*GILLT_v4s32*//*Label 670*/ GIMT_Encode4(29969),
9915 /* 25361 */ /*GILLT_v4s64*//*Label 671*/ GIMT_Encode4(30311),
9916 /* 25365 */ /*GILLT_v8s1*//*Label 672*/ GIMT_Encode4(30777),
9917 /* 25369 */ /*GILLT_v8s16*//*Label 673*/ GIMT_Encode4(30901),
9918 /* 25373 */ /*GILLT_v8s32*//*Label 674*/ GIMT_Encode4(31243),
9919 /* 25377 */ /*GILLT_v8s64*//*Label 675*/ GIMT_Encode4(31709),
9920 /* 25381 */ /*GILLT_v16s1*//*Label 676*/ GIMT_Encode4(31865),
9921 /* 25385 */ /*GILLT_v16s8*//*Label 677*/ GIMT_Encode4(31899),
9922 /* 25389 */ /*GILLT_v16s16*//*Label 678*/ GIMT_Encode4(32241),
9923 /* 25393 */ /*GILLT_v16s32*//*Label 679*/ GIMT_Encode4(32707),
9924 /* 25397 */ /*GILLT_v32s1*//*Label 680*/ GIMT_Encode4(32863),
9925 /* 25401 */ /*GILLT_v32s8*//*Label 681*/ GIMT_Encode4(32897),
9926 /* 25405 */ /*GILLT_v32s16*//*Label 682*/ GIMT_Encode4(33363),
9927 /* 25409 */ /*GILLT_v64s1*//*Label 683*/ GIMT_Encode4(33519),
9928 /* 25413 */ /*GILLT_v64s8*//*Label 684*/ GIMT_Encode4(33553),
9929 /* 25417 */ // Label 662: @25417
9930 /* 25417 */ GIM_Try, /*On fail goto*//*Label 686*/ GIMT_Encode4(25516), // Rule ID 19492 //
9931 /* 25422 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s1,
9932 /* 25425 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s1,
9933 /* 25428 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
9934 /* 25432 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
9935 /* 25436 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
9936 /* 25440 */ // (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] })
9937 /* 25440 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
9938 /* 25443 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
9939 /* 25447 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
9940 /* 25452 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
9941 /* 25456 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
9942 /* 25461 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
9943 /* 25464 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
9944 /* 25468 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
9945 /* 25473 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
9946 /* 25477 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
9947 /* 25482 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
9948 /* 25485 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KORWkk),
9949 /* 25489 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
9950 /* 25494 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
9951 /* 25497 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
9952 /* 25500 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
9953 /* 25502 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
9954 /* 25505 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9955 /* 25507 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
9956 /* 25510 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
9957 /* 25515 */ // GIR_Coverage, 19492,
9958 /* 25515 */ GIR_EraseRootFromParent_Done,
9959 /* 25516 */ // Label 686: @25516
9960 /* 25516 */ GIM_Reject,
9961 /* 25517 */ // Label 663: @25517
9962 /* 25517 */ GIM_Try, /*On fail goto*//*Label 687*/ GIMT_Encode4(25909),
9963 /* 25522 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
9964 /* 25525 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
9965 /* 25528 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9966 /* 25532 */ GIM_Try, /*On fail goto*//*Label 688*/ GIMT_Encode4(25593), // Rule ID 26061 //
9967 /* 25537 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
9968 /* 25540 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9969 /* 25544 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9970 /* 25548 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9971 /* 25551 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9972 /* 25555 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
9973 /* 25559 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9974 /* 25563 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9975 /* 25565 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9976 /* 25572 */ // (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)
9977 /* 25572 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8rm),
9978 /* 25575 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9979 /* 25577 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9980 /* 25579 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9981 /* 25583 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9982 /* 25586 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9983 /* 25591 */ GIR_RootConstrainSelectedInstOperands,
9984 /* 25592 */ // GIR_Coverage, 26061,
9985 /* 25592 */ GIR_EraseRootFromParent_Done,
9986 /* 25593 */ // Label 688: @25593
9987 /* 25593 */ GIM_Try, /*On fail goto*//*Label 689*/ GIMT_Encode4(25654), // Rule ID 26080 //
9988 /* 25598 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
9989 /* 25601 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9990 /* 25605 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9991 /* 25609 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9992 /* 25612 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9993 /* 25616 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
9994 /* 25620 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9995 /* 25624 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9996 /* 25626 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9997 /* 25633 */ // (or:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, GR8:{ *:[i8] }:$src1) => (OR8rm_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, addr:{ *:[iPTR] }:$src2)
9998 /* 25633 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8rm_ND),
9999 /* 25636 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10000 /* 25638 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10001 /* 25640 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10002 /* 25644 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10003 /* 25647 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10004 /* 25652 */ GIR_RootConstrainSelectedInstOperands,
10005 /* 25653 */ // GIR_Coverage, 26080,
10006 /* 25653 */ GIR_EraseRootFromParent_Done,
10007 /* 25654 */ // Label 689: @25654
10008 /* 25654 */ GIM_Try, /*On fail goto*//*Label 690*/ GIMT_Encode4(25715), // Rule ID 22830 //
10009 /* 25659 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
10010 /* 25662 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
10011 /* 25666 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10012 /* 25670 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10013 /* 25674 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10014 /* 25677 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10015 /* 25681 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
10016 /* 25685 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10017 /* 25687 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10018 /* 25694 */ // (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)
10019 /* 25694 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8rm),
10020 /* 25697 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10021 /* 25699 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10022 /* 25701 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10023 /* 25705 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10024 /* 25708 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10025 /* 25713 */ GIR_RootConstrainSelectedInstOperands,
10026 /* 25714 */ // GIR_Coverage, 22830,
10027 /* 25714 */ GIR_EraseRootFromParent_Done,
10028 /* 25715 */ // Label 690: @25715
10029 /* 25715 */ GIM_Try, /*On fail goto*//*Label 691*/ GIMT_Encode4(25776), // Rule ID 22920 //
10030 /* 25720 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
10031 /* 25723 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
10032 /* 25727 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10033 /* 25731 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10034 /* 25735 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10035 /* 25738 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10036 /* 25742 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
10037 /* 25746 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10038 /* 25748 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10039 /* 25755 */ // (or:{ *:[i8] } GR8:{ *:[i8] }:$src1, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>) => (OR8rm_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, addr:{ *:[iPTR] }:$src2)
10040 /* 25755 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8rm_ND),
10041 /* 25758 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10042 /* 25760 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10043 /* 25762 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10044 /* 25766 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10045 /* 25769 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10046 /* 25774 */ GIR_RootConstrainSelectedInstOperands,
10047 /* 25775 */ // GIR_Coverage, 22920,
10048 /* 25775 */ GIR_EraseRootFromParent_Done,
10049 /* 25776 */ // Label 691: @25776
10050 /* 25776 */ GIM_Try, /*On fail goto*//*Label 692*/ GIMT_Encode4(25813), // Rule ID 22834 //
10051 /* 25781 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
10052 /* 25784 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
10053 /* 25788 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10054 /* 25792 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
10055 /* 25796 */ // MIs[1] Operand 1
10056 /* 25796 */ // No operand predicates
10057 /* 25796 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10058 /* 25798 */ // (or:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (OR8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
10059 /* 25798 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8ri),
10060 /* 25801 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10061 /* 25803 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10062 /* 25805 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
10063 /* 25808 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10064 /* 25811 */ GIR_RootConstrainSelectedInstOperands,
10065 /* 25812 */ // GIR_Coverage, 22834,
10066 /* 25812 */ GIR_EraseRootFromParent_Done,
10067 /* 25813 */ // Label 692: @25813
10068 /* 25813 */ GIM_Try, /*On fail goto*//*Label 693*/ GIMT_Encode4(25850), // Rule ID 22924 //
10069 /* 25818 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
10070 /* 25821 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
10071 /* 25825 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10072 /* 25829 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
10073 /* 25833 */ // MIs[1] Operand 1
10074 /* 25833 */ // No operand predicates
10075 /* 25833 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10076 /* 25835 */ // (or:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (OR8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
10077 /* 25835 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8ri_ND),
10078 /* 25838 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10079 /* 25840 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10080 /* 25842 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
10081 /* 25845 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10082 /* 25848 */ GIR_RootConstrainSelectedInstOperands,
10083 /* 25849 */ // GIR_Coverage, 22924,
10084 /* 25849 */ GIR_EraseRootFromParent_Done,
10085 /* 25850 */ // Label 693: @25850
10086 /* 25850 */ GIM_Try, /*On fail goto*//*Label 694*/ GIMT_Encode4(25879), // Rule ID 22826 //
10087 /* 25855 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
10088 /* 25858 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
10089 /* 25862 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
10090 /* 25866 */ // (or:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (OR8rr:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
10091 /* 25866 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR8rr),
10092 /* 25871 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
10093 /* 25877 */ GIR_RootConstrainSelectedInstOperands,
10094 /* 25878 */ // GIR_Coverage, 22826,
10095 /* 25878 */ GIR_Done,
10096 /* 25879 */ // Label 694: @25879
10097 /* 25879 */ GIM_Try, /*On fail goto*//*Label 695*/ GIMT_Encode4(25908), // Rule ID 22916 //
10098 /* 25884 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
10099 /* 25887 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
10100 /* 25891 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
10101 /* 25895 */ // (or:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (OR8rr_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
10102 /* 25895 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR8rr_ND),
10103 /* 25900 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
10104 /* 25906 */ GIR_RootConstrainSelectedInstOperands,
10105 /* 25907 */ // GIR_Coverage, 22916,
10106 /* 25907 */ GIR_Done,
10107 /* 25908 */ // Label 695: @25908
10108 /* 25908 */ GIM_Reject,
10109 /* 25909 */ // Label 687: @25909
10110 /* 25909 */ GIM_Reject,
10111 /* 25910 */ // Label 664: @25910
10112 /* 25910 */ GIM_Try, /*On fail goto*//*Label 696*/ GIMT_Encode4(26506),
10113 /* 25915 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
10114 /* 25918 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
10115 /* 25921 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
10116 /* 25925 */ GIM_Try, /*On fail goto*//*Label 697*/ GIMT_Encode4(25986), // Rule ID 26062 //
10117 /* 25930 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
10118 /* 25933 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10119 /* 25937 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10120 /* 25941 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10121 /* 25944 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10122 /* 25948 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
10123 /* 25952 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
10124 /* 25956 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10125 /* 25958 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10126 /* 25965 */ // (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)
10127 /* 25965 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16rm),
10128 /* 25968 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10129 /* 25970 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10130 /* 25972 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10131 /* 25976 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10132 /* 25979 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10133 /* 25984 */ GIR_RootConstrainSelectedInstOperands,
10134 /* 25985 */ // GIR_Coverage, 26062,
10135 /* 25985 */ GIR_EraseRootFromParent_Done,
10136 /* 25986 */ // Label 697: @25986
10137 /* 25986 */ GIM_Try, /*On fail goto*//*Label 698*/ GIMT_Encode4(26047), // Rule ID 26081 //
10138 /* 25991 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
10139 /* 25994 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10140 /* 25998 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10141 /* 26002 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10142 /* 26005 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10143 /* 26009 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
10144 /* 26013 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
10145 /* 26017 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10146 /* 26019 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10147 /* 26026 */ // (or:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, GR16:{ *:[i16] }:$src1) => (OR16rm_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, addr:{ *:[iPTR] }:$src2)
10148 /* 26026 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16rm_ND),
10149 /* 26029 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10150 /* 26031 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10151 /* 26033 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10152 /* 26037 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10153 /* 26040 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10154 /* 26045 */ GIR_RootConstrainSelectedInstOperands,
10155 /* 26046 */ // GIR_Coverage, 26081,
10156 /* 26046 */ GIR_EraseRootFromParent_Done,
10157 /* 26047 */ // Label 698: @26047
10158 /* 26047 */ GIM_Try, /*On fail goto*//*Label 699*/ GIMT_Encode4(26108), // Rule ID 22831 //
10159 /* 26052 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
10160 /* 26055 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
10161 /* 26059 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10162 /* 26063 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10163 /* 26067 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10164 /* 26070 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10165 /* 26074 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
10166 /* 26078 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10167 /* 26080 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10168 /* 26087 */ // (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)
10169 /* 26087 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16rm),
10170 /* 26090 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10171 /* 26092 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10172 /* 26094 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10173 /* 26098 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10174 /* 26101 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10175 /* 26106 */ GIR_RootConstrainSelectedInstOperands,
10176 /* 26107 */ // GIR_Coverage, 22831,
10177 /* 26107 */ GIR_EraseRootFromParent_Done,
10178 /* 26108 */ // Label 699: @26108
10179 /* 26108 */ GIM_Try, /*On fail goto*//*Label 700*/ GIMT_Encode4(26169), // Rule ID 22921 //
10180 /* 26113 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
10181 /* 26116 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
10182 /* 26120 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10183 /* 26124 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10184 /* 26128 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10185 /* 26131 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10186 /* 26135 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
10187 /* 26139 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10188 /* 26141 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10189 /* 26148 */ // (or:{ *:[i16] } GR16:{ *:[i16] }:$src1, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (OR16rm_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, addr:{ *:[iPTR] }:$src2)
10190 /* 26148 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16rm_ND),
10191 /* 26151 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10192 /* 26153 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10193 /* 26155 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10194 /* 26159 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10195 /* 26162 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10196 /* 26167 */ GIR_RootConstrainSelectedInstOperands,
10197 /* 26168 */ // GIR_Coverage, 22921,
10198 /* 26168 */ GIR_EraseRootFromParent_Done,
10199 /* 26169 */ // Label 700: @26169
10200 /* 26169 */ GIM_Try, /*On fail goto*//*Label 701*/ GIMT_Encode4(26271), // Rule ID 26037 //
10201 /* 26174 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10202 /* 26178 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
10203 /* 26182 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
10204 /* 26186 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
10205 /* 26190 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
10206 /* 26194 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
10207 /* 26199 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
10208 /* 26203 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10209 /* 26205 */ // (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] }))
10210 /* 26205 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s16,
10211 /* 26208 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
10212 /* 26212 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
10213 /* 26217 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
10214 /* 26219 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
10215 /* 26222 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
10216 /* 26226 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
10217 /* 26231 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
10218 /* 26234 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
10219 /* 26238 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
10220 /* 26241 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
10221 /* 26246 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
10222 /* 26251 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
10223 /* 26256 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTS16rr),
10224 /* 26259 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10225 /* 26261 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10226 /* 26263 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
10227 /* 26266 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10228 /* 26269 */ GIR_RootConstrainSelectedInstOperands,
10229 /* 26270 */ // GIR_Coverage, 26037,
10230 /* 26270 */ GIR_EraseRootFromParent_Done,
10231 /* 26271 */ // Label 701: @26271
10232 /* 26271 */ GIM_Try, /*On fail goto*//*Label 702*/ GIMT_Encode4(26373), // Rule ID 22775 //
10233 /* 26276 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
10234 /* 26280 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10235 /* 26284 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
10236 /* 26288 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
10237 /* 26292 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
10238 /* 26296 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
10239 /* 26300 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
10240 /* 26305 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10241 /* 26307 */ // (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] }))
10242 /* 26307 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s16,
10243 /* 26310 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
10244 /* 26314 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
10245 /* 26319 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
10246 /* 26321 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
10247 /* 26324 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
10248 /* 26328 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
10249 /* 26333 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
10250 /* 26336 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
10251 /* 26340 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
10252 /* 26343 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
10253 /* 26348 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
10254 /* 26353 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
10255 /* 26358 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTS16rr),
10256 /* 26361 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10257 /* 26363 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10258 /* 26365 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
10259 /* 26368 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10260 /* 26371 */ GIR_RootConstrainSelectedInstOperands,
10261 /* 26372 */ // GIR_Coverage, 22775,
10262 /* 26372 */ GIR_EraseRootFromParent_Done,
10263 /* 26373 */ // Label 702: @26373
10264 /* 26373 */ GIM_Try, /*On fail goto*//*Label 703*/ GIMT_Encode4(26410), // Rule ID 22835 //
10265 /* 26378 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
10266 /* 26381 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
10267 /* 26385 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10268 /* 26389 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
10269 /* 26393 */ // MIs[1] Operand 1
10270 /* 26393 */ // No operand predicates
10271 /* 26393 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10272 /* 26395 */ // (or:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (OR16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
10273 /* 26395 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16ri),
10274 /* 26398 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10275 /* 26400 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10276 /* 26402 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
10277 /* 26405 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10278 /* 26408 */ GIR_RootConstrainSelectedInstOperands,
10279 /* 26409 */ // GIR_Coverage, 22835,
10280 /* 26409 */ GIR_EraseRootFromParent_Done,
10281 /* 26410 */ // Label 703: @26410
10282 /* 26410 */ GIM_Try, /*On fail goto*//*Label 704*/ GIMT_Encode4(26447), // Rule ID 22925 //
10283 /* 26415 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
10284 /* 26418 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
10285 /* 26422 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10286 /* 26426 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
10287 /* 26430 */ // MIs[1] Operand 1
10288 /* 26430 */ // No operand predicates
10289 /* 26430 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10290 /* 26432 */ // (or:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (OR16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
10291 /* 26432 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16ri_ND),
10292 /* 26435 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10293 /* 26437 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10294 /* 26439 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
10295 /* 26442 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10296 /* 26445 */ GIR_RootConstrainSelectedInstOperands,
10297 /* 26446 */ // GIR_Coverage, 22925,
10298 /* 26446 */ GIR_EraseRootFromParent_Done,
10299 /* 26447 */ // Label 704: @26447
10300 /* 26447 */ GIM_Try, /*On fail goto*//*Label 705*/ GIMT_Encode4(26476), // Rule ID 22827 //
10301 /* 26452 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
10302 /* 26455 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
10303 /* 26459 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
10304 /* 26463 */ // (or:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (OR16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
10305 /* 26463 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR16rr),
10306 /* 26468 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
10307 /* 26474 */ GIR_RootConstrainSelectedInstOperands,
10308 /* 26475 */ // GIR_Coverage, 22827,
10309 /* 26475 */ GIR_Done,
10310 /* 26476 */ // Label 705: @26476
10311 /* 26476 */ GIM_Try, /*On fail goto*//*Label 706*/ GIMT_Encode4(26505), // Rule ID 22917 //
10312 /* 26481 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
10313 /* 26484 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
10314 /* 26488 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
10315 /* 26492 */ // (or:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (OR16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
10316 /* 26492 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR16rr_ND),
10317 /* 26497 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
10318 /* 26503 */ GIR_RootConstrainSelectedInstOperands,
10319 /* 26504 */ // GIR_Coverage, 22917,
10320 /* 26504 */ GIR_Done,
10321 /* 26505 */ // Label 706: @26505
10322 /* 26505 */ GIM_Reject,
10323 /* 26506 */ // Label 696: @26506
10324 /* 26506 */ GIM_Reject,
10325 /* 26507 */ // Label 665: @26507
10326 /* 26507 */ GIM_Try, /*On fail goto*//*Label 707*/ GIMT_Encode4(27962),
10327 /* 26512 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
10328 /* 26515 */ GIM_Try, /*On fail goto*//*Label 708*/ GIMT_Encode4(26583), // Rule ID 26063 //
10329 /* 26520 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
10330 /* 26523 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10331 /* 26526 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10332 /* 26530 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10333 /* 26534 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10334 /* 26538 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10335 /* 26541 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10336 /* 26545 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
10337 /* 26549 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10338 /* 26553 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10339 /* 26555 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10340 /* 26562 */ // (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)
10341 /* 26562 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32rm),
10342 /* 26565 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10343 /* 26567 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10344 /* 26569 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10345 /* 26573 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10346 /* 26576 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10347 /* 26581 */ GIR_RootConstrainSelectedInstOperands,
10348 /* 26582 */ // GIR_Coverage, 26063,
10349 /* 26582 */ GIR_EraseRootFromParent_Done,
10350 /* 26583 */ // Label 708: @26583
10351 /* 26583 */ GIM_Try, /*On fail goto*//*Label 709*/ GIMT_Encode4(26651), // Rule ID 26082 //
10352 /* 26588 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
10353 /* 26591 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10354 /* 26594 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10355 /* 26598 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10356 /* 26602 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10357 /* 26606 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10358 /* 26609 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10359 /* 26613 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
10360 /* 26617 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10361 /* 26621 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10362 /* 26623 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10363 /* 26630 */ // (or:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, GR32:{ *:[i32] }:$src1) => (OR32rm_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
10364 /* 26630 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32rm_ND),
10365 /* 26633 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10366 /* 26635 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10367 /* 26637 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10368 /* 26641 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10369 /* 26644 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10370 /* 26649 */ GIR_RootConstrainSelectedInstOperands,
10371 /* 26650 */ // GIR_Coverage, 26082,
10372 /* 26650 */ GIR_EraseRootFromParent_Done,
10373 /* 26651 */ // Label 709: @26651
10374 /* 26651 */ GIM_Try, /*On fail goto*//*Label 710*/ GIMT_Encode4(26719), // Rule ID 22832 //
10375 /* 26656 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
10376 /* 26659 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10377 /* 26662 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10378 /* 26666 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10379 /* 26670 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10380 /* 26674 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10381 /* 26678 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10382 /* 26681 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10383 /* 26685 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
10384 /* 26689 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10385 /* 26691 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10386 /* 26698 */ // (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)
10387 /* 26698 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32rm),
10388 /* 26701 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10389 /* 26703 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10390 /* 26705 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10391 /* 26709 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10392 /* 26712 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10393 /* 26717 */ GIR_RootConstrainSelectedInstOperands,
10394 /* 26718 */ // GIR_Coverage, 22832,
10395 /* 26718 */ GIR_EraseRootFromParent_Done,
10396 /* 26719 */ // Label 710: @26719
10397 /* 26719 */ GIM_Try, /*On fail goto*//*Label 711*/ GIMT_Encode4(26787), // Rule ID 22922 //
10398 /* 26724 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
10399 /* 26727 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10400 /* 26730 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10401 /* 26734 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10402 /* 26738 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10403 /* 26742 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10404 /* 26746 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10405 /* 26749 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10406 /* 26753 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
10407 /* 26757 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10408 /* 26759 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10409 /* 26766 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src1, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (OR32rm_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
10410 /* 26766 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32rm_ND),
10411 /* 26769 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10412 /* 26771 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10413 /* 26773 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10414 /* 26777 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10415 /* 26780 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10416 /* 26785 */ GIR_RootConstrainSelectedInstOperands,
10417 /* 26786 */ // GIR_Coverage, 22922,
10418 /* 26786 */ GIR_EraseRootFromParent_Done,
10419 /* 26787 */ // Label 711: @26787
10420 /* 26787 */ GIM_Try, /*On fail goto*//*Label 712*/ GIMT_Encode4(26864), // Rule ID 25003 //
10421 /* 26792 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10422 /* 26795 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10423 /* 26798 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10424 /* 26802 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10425 /* 26806 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
10426 /* 26810 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
10427 /* 26814 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
10428 /* 26818 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10429 /* 26823 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
10430 /* 26827 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
10431 /* 26831 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
10432 /* 26835 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
10433 /* 26839 */ // MIs[2] src
10434 /* 26839 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
10435 /* 26844 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, uint8_t(-1),
10436 /* 26848 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
10437 /* 26850 */ // (or:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (BLSIC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
10438 /* 26850 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSIC32rr),
10439 /* 26853 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10440 /* 26855 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
10441 /* 26859 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10442 /* 26862 */ GIR_RootConstrainSelectedInstOperands,
10443 /* 26863 */ // GIR_Coverage, 25003,
10444 /* 26863 */ GIR_EraseRootFromParent_Done,
10445 /* 26864 */ // Label 712: @26864
10446 /* 26864 */ GIM_Try, /*On fail goto*//*Label 713*/ GIMT_Encode4(26941), // Rule ID 25005 //
10447 /* 26869 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10448 /* 26872 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10449 /* 26875 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10450 /* 26879 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10451 /* 26883 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
10452 /* 26887 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
10453 /* 26891 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
10454 /* 26895 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10455 /* 26900 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
10456 /* 26904 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
10457 /* 26908 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
10458 /* 26912 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
10459 /* 26916 */ // MIs[2] src
10460 /* 26916 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
10461 /* 26921 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, uint8_t(-1),
10462 /* 26925 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
10463 /* 26927 */ // (or:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (T1MSKC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
10464 /* 26927 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::T1MSKC32rr),
10465 /* 26930 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10466 /* 26932 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
10467 /* 26936 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10468 /* 26939 */ GIR_RootConstrainSelectedInstOperands,
10469 /* 26940 */ // GIR_Coverage, 25005,
10470 /* 26940 */ GIR_EraseRootFromParent_Done,
10471 /* 26941 */ // Label 713: @26941
10472 /* 26941 */ GIM_Try, /*On fail goto*//*Label 714*/ GIMT_Encode4(27019), // Rule ID 24991 //
10473 /* 26946 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10474 /* 26949 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10475 /* 26953 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10476 /* 26957 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
10477 /* 26961 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
10478 /* 26965 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
10479 /* 26969 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
10480 /* 26973 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
10481 /* 26977 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
10482 /* 26981 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
10483 /* 26985 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10484 /* 26990 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
10485 /* 26994 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
10486 /* 26998 */ // MIs[0] src
10487 /* 26998 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/2, /*OtherOpIdx*/1,
10488 /* 27003 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
10489 /* 27005 */ // (or:{ *:[i32] } (xor:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), -1:{ *:[i32] }), GR32:{ *:[i32] }:$src) => (BLCI32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
10490 /* 27005 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI32rr),
10491 /* 27008 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10492 /* 27010 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // src
10493 /* 27014 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10494 /* 27017 */ GIR_RootConstrainSelectedInstOperands,
10495 /* 27018 */ // GIR_Coverage, 24991,
10496 /* 27018 */ GIR_EraseRootFromParent_Done,
10497 /* 27019 */ // Label 714: @27019
10498 /* 27019 */ GIM_Try, /*On fail goto*//*Label 715*/ GIMT_Encode4(27096), // Rule ID 17364 //
10499 /* 27024 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10500 /* 27027 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10501 /* 27030 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10502 /* 27034 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10503 /* 27038 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
10504 /* 27042 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
10505 /* 27046 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
10506 /* 27050 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10507 /* 27055 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
10508 /* 27059 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
10509 /* 27063 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
10510 /* 27067 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
10511 /* 27071 */ // MIs[2] src
10512 /* 27071 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
10513 /* 27076 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, uint8_t(-1),
10514 /* 27080 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
10515 /* 27082 */ // (or:{ *:[i32] } (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (BLSIC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
10516 /* 27082 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSIC32rr),
10517 /* 27085 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10518 /* 27087 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
10519 /* 27091 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10520 /* 27094 */ GIR_RootConstrainSelectedInstOperands,
10521 /* 27095 */ // GIR_Coverage, 17364,
10522 /* 27095 */ GIR_EraseRootFromParent_Done,
10523 /* 27096 */ // Label 715: @27096
10524 /* 27096 */ GIM_Try, /*On fail goto*//*Label 716*/ GIMT_Encode4(27173), // Rule ID 17366 //
10525 /* 27101 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10526 /* 27104 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10527 /* 27107 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10528 /* 27111 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10529 /* 27115 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
10530 /* 27119 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
10531 /* 27123 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
10532 /* 27127 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10533 /* 27132 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
10534 /* 27136 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
10535 /* 27140 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
10536 /* 27144 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
10537 /* 27148 */ // MIs[2] src
10538 /* 27148 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
10539 /* 27153 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
10540 /* 27157 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
10541 /* 27159 */ // (or:{ *:[i32] } (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] })) => (T1MSKC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
10542 /* 27159 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::T1MSKC32rr),
10543 /* 27162 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10544 /* 27164 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
10545 /* 27168 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10546 /* 27171 */ GIR_RootConstrainSelectedInstOperands,
10547 /* 27172 */ // GIR_Coverage, 17366,
10548 /* 27172 */ GIR_EraseRootFromParent_Done,
10549 /* 27173 */ // Label 716: @27173
10550 /* 27173 */ GIM_Try, /*On fail goto*//*Label 717*/ GIMT_Encode4(27247), // Rule ID 17352 //
10551 /* 27178 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10552 /* 27181 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10553 /* 27184 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10554 /* 27188 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10555 /* 27192 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10556 /* 27196 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
10557 /* 27200 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
10558 /* 27204 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
10559 /* 27208 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
10560 /* 27212 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
10561 /* 27216 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
10562 /* 27220 */ // MIs[2] src
10563 /* 27220 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
10564 /* 27225 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
10565 /* 27229 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
10566 /* 27233 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
10567 /* 27235 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src, (xor:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), -1:{ *:[i32] })) => (BLCI32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
10568 /* 27235 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI32rr),
10569 /* 27238 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10570 /* 27240 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
10571 /* 27242 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10572 /* 27245 */ GIR_RootConstrainSelectedInstOperands,
10573 /* 27246 */ // GIR_Coverage, 17352,
10574 /* 27246 */ GIR_EraseRootFromParent_Done,
10575 /* 27247 */ // Label 717: @27247
10576 /* 27247 */ GIM_Try, /*On fail goto*//*Label 718*/ GIMT_Encode4(27305), // Rule ID 24999 //
10577 /* 27252 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10578 /* 27255 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10579 /* 27259 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10580 /* 27263 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
10581 /* 27267 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
10582 /* 27271 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
10583 /* 27275 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10584 /* 27280 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
10585 /* 27284 */ // MIs[0] src
10586 /* 27284 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
10587 /* 27289 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10588 /* 27291 */ // (or:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), GR32:{ *:[i32] }:$src) => (BLCS32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
10589 /* 27291 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCS32rr),
10590 /* 27294 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10591 /* 27296 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
10592 /* 27300 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10593 /* 27303 */ GIR_RootConstrainSelectedInstOperands,
10594 /* 27304 */ // GIR_Coverage, 24999,
10595 /* 27304 */ GIR_EraseRootFromParent_Done,
10596 /* 27305 */ // Label 718: @27305
10597 /* 27305 */ GIM_Try, /*On fail goto*//*Label 719*/ GIMT_Encode4(27363), // Rule ID 25001 //
10598 /* 27310 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10599 /* 27313 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10600 /* 27317 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10601 /* 27321 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
10602 /* 27325 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
10603 /* 27329 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
10604 /* 27333 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10605 /* 27338 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
10606 /* 27342 */ // MIs[0] src
10607 /* 27342 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
10608 /* 27347 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10609 /* 27349 */ // (or:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), GR32:{ *:[i32] }:$src) => (BLSFILL32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
10610 /* 27349 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSFILL32rr),
10611 /* 27352 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10612 /* 27354 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
10613 /* 27358 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10614 /* 27361 */ GIR_RootConstrainSelectedInstOperands,
10615 /* 27362 */ // GIR_Coverage, 25001,
10616 /* 27362 */ GIR_EraseRootFromParent_Done,
10617 /* 27363 */ // Label 719: @27363
10618 /* 27363 */ GIM_Try, /*On fail goto*//*Label 720*/ GIMT_Encode4(27472), // Rule ID 26043 //
10619 /* 27368 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10620 /* 27371 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10621 /* 27375 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10622 /* 27379 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
10623 /* 27383 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
10624 /* 27387 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
10625 /* 27391 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
10626 /* 27395 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
10627 /* 27400 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10628 /* 27404 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10629 /* 27406 */ // (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] }))
10630 /* 27406 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
10631 /* 27409 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
10632 /* 27413 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
10633 /* 27418 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
10634 /* 27420 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
10635 /* 27423 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
10636 /* 27427 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
10637 /* 27432 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
10638 /* 27435 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
10639 /* 27439 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
10640 /* 27442 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
10641 /* 27447 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
10642 /* 27452 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
10643 /* 27457 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTS32rr),
10644 /* 27460 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10645 /* 27462 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10646 /* 27464 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
10647 /* 27467 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10648 /* 27470 */ GIR_RootConstrainSelectedInstOperands,
10649 /* 27471 */ // GIR_Coverage, 26043,
10650 /* 27471 */ GIR_EraseRootFromParent_Done,
10651 /* 27472 */ // Label 720: @27472
10652 /* 27472 */ GIM_Try, /*On fail goto*//*Label 721*/ GIMT_Encode4(27530), // Rule ID 24993 //
10653 /* 27477 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10654 /* 27480 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10655 /* 27484 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10656 /* 27488 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
10657 /* 27492 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
10658 /* 27496 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
10659 /* 27500 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, uint8_t(-2),
10660 /* 27504 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10661 /* 27509 */ // MIs[0] src
10662 /* 27509 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/2,
10663 /* 27514 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10664 /* 27516 */ // (or:{ *:[i32] } (sub:{ *:[i32] } -2:{ *:[i32] }, GR32:{ *:[i32] }:$src), GR32:{ *:[i32] }:$src) => (BLCI32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
10665 /* 27516 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI32rr),
10666 /* 27519 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10667 /* 27521 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
10668 /* 27525 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10669 /* 27528 */ GIR_RootConstrainSelectedInstOperands,
10670 /* 27529 */ // GIR_Coverage, 24993,
10671 /* 27529 */ GIR_EraseRootFromParent_Done,
10672 /* 27530 */ // Label 721: @27530
10673 /* 27530 */ GIM_Try, /*On fail goto*//*Label 722*/ GIMT_Encode4(27584), // Rule ID 17360 //
10674 /* 27535 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10675 /* 27538 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10676 /* 27541 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10677 /* 27545 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10678 /* 27549 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10679 /* 27553 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
10680 /* 27557 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
10681 /* 27561 */ // MIs[1] src
10682 /* 27561 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
10683 /* 27566 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
10684 /* 27570 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10685 /* 27572 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src, (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] })) => (BLCS32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
10686 /* 27572 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCS32rr),
10687 /* 27575 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10688 /* 27577 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
10689 /* 27579 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10690 /* 27582 */ GIR_RootConstrainSelectedInstOperands,
10691 /* 27583 */ // GIR_Coverage, 17360,
10692 /* 27583 */ GIR_EraseRootFromParent_Done,
10693 /* 27584 */ // Label 722: @27584
10694 /* 27584 */ GIM_Try, /*On fail goto*//*Label 723*/ GIMT_Encode4(27638), // Rule ID 17362 //
10695 /* 27589 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10696 /* 27592 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10697 /* 27595 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10698 /* 27599 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10699 /* 27603 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10700 /* 27607 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
10701 /* 27611 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
10702 /* 27615 */ // MIs[1] src
10703 /* 27615 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
10704 /* 27620 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
10705 /* 27624 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10706 /* 27626 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src, (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (BLSFILL32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
10707 /* 27626 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSFILL32rr),
10708 /* 27629 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10709 /* 27631 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
10710 /* 27633 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10711 /* 27636 */ GIR_RootConstrainSelectedInstOperands,
10712 /* 27637 */ // GIR_Coverage, 17362,
10713 /* 27637 */ GIR_EraseRootFromParent_Done,
10714 /* 27638 */ // Label 723: @27638
10715 /* 27638 */ GIM_Try, /*On fail goto*//*Label 724*/ GIMT_Encode4(27747), // Rule ID 22781 //
10716 /* 27643 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10717 /* 27646 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10718 /* 27650 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10719 /* 27654 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10720 /* 27658 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
10721 /* 27662 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
10722 /* 27666 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
10723 /* 27670 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
10724 /* 27674 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
10725 /* 27679 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10726 /* 27681 */ // (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] }))
10727 /* 27681 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
10728 /* 27684 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
10729 /* 27688 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
10730 /* 27693 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
10731 /* 27695 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
10732 /* 27698 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
10733 /* 27702 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
10734 /* 27707 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
10735 /* 27710 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
10736 /* 27714 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
10737 /* 27717 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
10738 /* 27722 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
10739 /* 27727 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
10740 /* 27732 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTS32rr),
10741 /* 27735 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10742 /* 27737 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10743 /* 27739 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
10744 /* 27742 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10745 /* 27745 */ GIR_RootConstrainSelectedInstOperands,
10746 /* 27746 */ // GIR_Coverage, 22781,
10747 /* 27746 */ GIR_EraseRootFromParent_Done,
10748 /* 27747 */ // Label 724: @27747
10749 /* 27747 */ GIM_Try, /*On fail goto*//*Label 725*/ GIMT_Encode4(27801), // Rule ID 17354 //
10750 /* 27752 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10751 /* 27755 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10752 /* 27758 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10753 /* 27762 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10754 /* 27766 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10755 /* 27770 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
10756 /* 27774 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
10757 /* 27778 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, uint8_t(-2),
10758 /* 27782 */ // MIs[1] src
10759 /* 27782 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/2, /*OtherMI*/0, /*OtherOpIdx*/1,
10760 /* 27787 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10761 /* 27789 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src, (sub:{ *:[i32] } -2:{ *:[i32] }, GR32:{ *:[i32] }:$src)) => (BLCI32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
10762 /* 27789 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI32rr),
10763 /* 27792 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10764 /* 27794 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
10765 /* 27796 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10766 /* 27799 */ GIR_RootConstrainSelectedInstOperands,
10767 /* 27800 */ // GIR_Coverage, 17354,
10768 /* 27800 */ GIR_EraseRootFromParent_Done,
10769 /* 27801 */ // Label 725: @27801
10770 /* 27801 */ GIM_Try, /*On fail goto*//*Label 726*/ GIMT_Encode4(27845), // Rule ID 22836 //
10771 /* 27806 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
10772 /* 27809 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10773 /* 27812 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10774 /* 27816 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10775 /* 27820 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10776 /* 27824 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
10777 /* 27828 */ // MIs[1] Operand 1
10778 /* 27828 */ // No operand predicates
10779 /* 27828 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10780 /* 27830 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (OR32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
10781 /* 27830 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32ri),
10782 /* 27833 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10783 /* 27835 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10784 /* 27837 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
10785 /* 27840 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10786 /* 27843 */ GIR_RootConstrainSelectedInstOperands,
10787 /* 27844 */ // GIR_Coverage, 22836,
10788 /* 27844 */ GIR_EraseRootFromParent_Done,
10789 /* 27845 */ // Label 726: @27845
10790 /* 27845 */ GIM_Try, /*On fail goto*//*Label 727*/ GIMT_Encode4(27889), // Rule ID 22926 //
10791 /* 27850 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
10792 /* 27853 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10793 /* 27856 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10794 /* 27860 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10795 /* 27864 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10796 /* 27868 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
10797 /* 27872 */ // MIs[1] Operand 1
10798 /* 27872 */ // No operand predicates
10799 /* 27872 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10800 /* 27874 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (OR32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
10801 /* 27874 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32ri_ND),
10802 /* 27877 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10803 /* 27879 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10804 /* 27881 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
10805 /* 27884 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10806 /* 27887 */ GIR_RootConstrainSelectedInstOperands,
10807 /* 27888 */ // GIR_Coverage, 22926,
10808 /* 27888 */ GIR_EraseRootFromParent_Done,
10809 /* 27889 */ // Label 727: @27889
10810 /* 27889 */ GIM_Try, /*On fail goto*//*Label 728*/ GIMT_Encode4(27925), // Rule ID 22828 //
10811 /* 27894 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
10812 /* 27897 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10813 /* 27900 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10814 /* 27904 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10815 /* 27908 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10816 /* 27912 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (OR32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
10817 /* 27912 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR32rr),
10818 /* 27917 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
10819 /* 27923 */ GIR_RootConstrainSelectedInstOperands,
10820 /* 27924 */ // GIR_Coverage, 22828,
10821 /* 27924 */ GIR_Done,
10822 /* 27925 */ // Label 728: @27925
10823 /* 27925 */ GIM_Try, /*On fail goto*//*Label 729*/ GIMT_Encode4(27961), // Rule ID 22918 //
10824 /* 27930 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
10825 /* 27933 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10826 /* 27936 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10827 /* 27940 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10828 /* 27944 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10829 /* 27948 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (OR32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
10830 /* 27948 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR32rr_ND),
10831 /* 27953 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
10832 /* 27959 */ GIR_RootConstrainSelectedInstOperands,
10833 /* 27960 */ // GIR_Coverage, 22918,
10834 /* 27960 */ GIR_Done,
10835 /* 27961 */ // Label 729: @27961
10836 /* 27961 */ GIM_Reject,
10837 /* 27962 */ // Label 707: @27962
10838 /* 27962 */ GIM_Reject,
10839 /* 27963 */ // Label 666: @27963
10840 /* 27963 */ GIM_Try, /*On fail goto*//*Label 730*/ GIMT_Encode4(29426),
10841 /* 27968 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
10842 /* 27971 */ GIM_Try, /*On fail goto*//*Label 731*/ GIMT_Encode4(28039), // Rule ID 26064 //
10843 /* 27976 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
10844 /* 27979 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10845 /* 27982 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10846 /* 27986 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10847 /* 27990 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10848 /* 27994 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10849 /* 27997 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10850 /* 28001 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10851 /* 28005 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10852 /* 28009 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10853 /* 28011 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10854 /* 28018 */ // (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)
10855 /* 28018 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64rm),
10856 /* 28021 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10857 /* 28023 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10858 /* 28025 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10859 /* 28029 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10860 /* 28032 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10861 /* 28037 */ GIR_RootConstrainSelectedInstOperands,
10862 /* 28038 */ // GIR_Coverage, 26064,
10863 /* 28038 */ GIR_EraseRootFromParent_Done,
10864 /* 28039 */ // Label 731: @28039
10865 /* 28039 */ GIM_Try, /*On fail goto*//*Label 732*/ GIMT_Encode4(28107), // Rule ID 26083 //
10866 /* 28044 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
10867 /* 28047 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10868 /* 28050 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10869 /* 28054 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10870 /* 28058 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10871 /* 28062 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10872 /* 28065 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10873 /* 28069 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10874 /* 28073 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10875 /* 28077 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10876 /* 28079 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10877 /* 28086 */ // (or:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR64:{ *:[i64] }:$src1) => (OR64rm_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
10878 /* 28086 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64rm_ND),
10879 /* 28089 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10880 /* 28091 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10881 /* 28093 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10882 /* 28097 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10883 /* 28100 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10884 /* 28105 */ GIR_RootConstrainSelectedInstOperands,
10885 /* 28106 */ // GIR_Coverage, 26083,
10886 /* 28106 */ GIR_EraseRootFromParent_Done,
10887 /* 28107 */ // Label 732: @28107
10888 /* 28107 */ GIM_Try, /*On fail goto*//*Label 733*/ GIMT_Encode4(28175), // Rule ID 22833 //
10889 /* 28112 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
10890 /* 28115 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10891 /* 28118 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10892 /* 28122 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10893 /* 28126 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10894 /* 28130 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10895 /* 28134 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10896 /* 28137 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10897 /* 28141 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10898 /* 28145 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10899 /* 28147 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10900 /* 28154 */ // (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)
10901 /* 28154 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64rm),
10902 /* 28157 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10903 /* 28159 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10904 /* 28161 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10905 /* 28165 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10906 /* 28168 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10907 /* 28173 */ GIR_RootConstrainSelectedInstOperands,
10908 /* 28174 */ // GIR_Coverage, 22833,
10909 /* 28174 */ GIR_EraseRootFromParent_Done,
10910 /* 28175 */ // Label 733: @28175
10911 /* 28175 */ GIM_Try, /*On fail goto*//*Label 734*/ GIMT_Encode4(28243), // Rule ID 22923 //
10912 /* 28180 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
10913 /* 28183 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10914 /* 28186 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10915 /* 28190 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10916 /* 28194 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10917 /* 28198 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10918 /* 28202 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10919 /* 28205 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10920 /* 28209 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10921 /* 28213 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10922 /* 28215 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10923 /* 28222 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src1, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (OR64rm_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
10924 /* 28222 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64rm_ND),
10925 /* 28225 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10926 /* 28227 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10927 /* 28229 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10928 /* 28233 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10929 /* 28236 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10930 /* 28241 */ GIR_RootConstrainSelectedInstOperands,
10931 /* 28242 */ // GIR_Coverage, 22923,
10932 /* 28242 */ GIR_EraseRootFromParent_Done,
10933 /* 28243 */ // Label 734: @28243
10934 /* 28243 */ GIM_Try, /*On fail goto*//*Label 735*/ GIMT_Encode4(28320), // Rule ID 25004 //
10935 /* 28248 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10936 /* 28251 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10937 /* 28254 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10938 /* 28258 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10939 /* 28262 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
10940 /* 28266 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10941 /* 28270 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10942 /* 28274 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10943 /* 28279 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
10944 /* 28283 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
10945 /* 28287 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
10946 /* 28291 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
10947 /* 28295 */ // MIs[2] src
10948 /* 28295 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
10949 /* 28300 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, uint8_t(-1),
10950 /* 28304 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
10951 /* 28306 */ // (or:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (BLSIC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10952 /* 28306 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSIC64rr),
10953 /* 28309 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10954 /* 28311 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
10955 /* 28315 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10956 /* 28318 */ GIR_RootConstrainSelectedInstOperands,
10957 /* 28319 */ // GIR_Coverage, 25004,
10958 /* 28319 */ GIR_EraseRootFromParent_Done,
10959 /* 28320 */ // Label 735: @28320
10960 /* 28320 */ GIM_Try, /*On fail goto*//*Label 736*/ GIMT_Encode4(28397), // Rule ID 25006 //
10961 /* 28325 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10962 /* 28328 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10963 /* 28331 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10964 /* 28335 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10965 /* 28339 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
10966 /* 28343 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10967 /* 28347 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10968 /* 28351 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10969 /* 28356 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
10970 /* 28360 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
10971 /* 28364 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
10972 /* 28368 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
10973 /* 28372 */ // MIs[2] src
10974 /* 28372 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
10975 /* 28377 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, uint8_t(-1),
10976 /* 28381 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
10977 /* 28383 */ // (or:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (T1MSKC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10978 /* 28383 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::T1MSKC64rr),
10979 /* 28386 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10980 /* 28388 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
10981 /* 28392 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10982 /* 28395 */ GIR_RootConstrainSelectedInstOperands,
10983 /* 28396 */ // GIR_Coverage, 25006,
10984 /* 28396 */ GIR_EraseRootFromParent_Done,
10985 /* 28397 */ // Label 736: @28397
10986 /* 28397 */ GIM_Try, /*On fail goto*//*Label 737*/ GIMT_Encode4(28475), // Rule ID 24992 //
10987 /* 28402 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10988 /* 28405 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10989 /* 28409 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10990 /* 28413 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
10991 /* 28417 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10992 /* 28421 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10993 /* 28425 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
10994 /* 28429 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
10995 /* 28433 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
10996 /* 28437 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
10997 /* 28441 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10998 /* 28446 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
10999 /* 28450 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
11000 /* 28454 */ // MIs[0] src
11001 /* 28454 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/2, /*OtherOpIdx*/1,
11002 /* 28459 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
11003 /* 28461 */ // (or:{ *:[i64] } (xor:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), -1:{ *:[i64] }), GR64:{ *:[i64] }:$src) => (BLCI64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
11004 /* 28461 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI64rr),
11005 /* 28464 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11006 /* 28466 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // src
11007 /* 28470 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
11008 /* 28473 */ GIR_RootConstrainSelectedInstOperands,
11009 /* 28474 */ // GIR_Coverage, 24992,
11010 /* 28474 */ GIR_EraseRootFromParent_Done,
11011 /* 28475 */ // Label 737: @28475
11012 /* 28475 */ GIM_Try, /*On fail goto*//*Label 738*/ GIMT_Encode4(28552), // Rule ID 17365 //
11013 /* 28480 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
11014 /* 28483 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
11015 /* 28486 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11016 /* 28490 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11017 /* 28494 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
11018 /* 28498 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
11019 /* 28502 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
11020 /* 28506 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11021 /* 28511 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
11022 /* 28515 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
11023 /* 28519 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
11024 /* 28523 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
11025 /* 28527 */ // MIs[2] src
11026 /* 28527 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
11027 /* 28532 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, uint8_t(-1),
11028 /* 28536 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
11029 /* 28538 */ // (or:{ *:[i64] } (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (BLSIC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
11030 /* 28538 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSIC64rr),
11031 /* 28541 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11032 /* 28543 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
11033 /* 28547 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
11034 /* 28550 */ GIR_RootConstrainSelectedInstOperands,
11035 /* 28551 */ // GIR_Coverage, 17365,
11036 /* 28551 */ GIR_EraseRootFromParent_Done,
11037 /* 28552 */ // Label 738: @28552
11038 /* 28552 */ GIM_Try, /*On fail goto*//*Label 739*/ GIMT_Encode4(28629), // Rule ID 17367 //
11039 /* 28557 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
11040 /* 28560 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
11041 /* 28563 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11042 /* 28567 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11043 /* 28571 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
11044 /* 28575 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
11045 /* 28579 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
11046 /* 28583 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11047 /* 28588 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
11048 /* 28592 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
11049 /* 28596 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
11050 /* 28600 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
11051 /* 28604 */ // MIs[2] src
11052 /* 28604 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
11053 /* 28609 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
11054 /* 28613 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
11055 /* 28615 */ // (or:{ *:[i64] } (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] })) => (T1MSKC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
11056 /* 28615 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::T1MSKC64rr),
11057 /* 28618 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11058 /* 28620 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
11059 /* 28624 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
11060 /* 28627 */ GIR_RootConstrainSelectedInstOperands,
11061 /* 28628 */ // GIR_Coverage, 17367,
11062 /* 28628 */ GIR_EraseRootFromParent_Done,
11063 /* 28629 */ // Label 739: @28629
11064 /* 28629 */ GIM_Try, /*On fail goto*//*Label 740*/ GIMT_Encode4(28703), // Rule ID 17353 //
11065 /* 28634 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
11066 /* 28637 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
11067 /* 28640 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11068 /* 28644 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11069 /* 28648 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11070 /* 28652 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
11071 /* 28656 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
11072 /* 28660 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
11073 /* 28664 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
11074 /* 28668 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
11075 /* 28672 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
11076 /* 28676 */ // MIs[2] src
11077 /* 28676 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
11078 /* 28681 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
11079 /* 28685 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
11080 /* 28689 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
11081 /* 28691 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src, (xor:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), -1:{ *:[i64] })) => (BLCI64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
11082 /* 28691 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI64rr),
11083 /* 28694 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11084 /* 28696 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
11085 /* 28698 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
11086 /* 28701 */ GIR_RootConstrainSelectedInstOperands,
11087 /* 28702 */ // GIR_Coverage, 17353,
11088 /* 28702 */ GIR_EraseRootFromParent_Done,
11089 /* 28703 */ // Label 740: @28703
11090 /* 28703 */ GIM_Try, /*On fail goto*//*Label 741*/ GIMT_Encode4(28761), // Rule ID 25000 //
11091 /* 28708 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
11092 /* 28711 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11093 /* 28715 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11094 /* 28719 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
11095 /* 28723 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
11096 /* 28727 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
11097 /* 28731 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11098 /* 28736 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
11099 /* 28740 */ // MIs[0] src
11100 /* 28740 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
11101 /* 28745 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11102 /* 28747 */ // (or:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), GR64:{ *:[i64] }:$src) => (BLCS64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
11103 /* 28747 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCS64rr),
11104 /* 28750 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11105 /* 28752 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
11106 /* 28756 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
11107 /* 28759 */ GIR_RootConstrainSelectedInstOperands,
11108 /* 28760 */ // GIR_Coverage, 25000,
11109 /* 28760 */ GIR_EraseRootFromParent_Done,
11110 /* 28761 */ // Label 741: @28761
11111 /* 28761 */ GIM_Try, /*On fail goto*//*Label 742*/ GIMT_Encode4(28819), // Rule ID 25002 //
11112 /* 28766 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
11113 /* 28769 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11114 /* 28773 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11115 /* 28777 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
11116 /* 28781 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
11117 /* 28785 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
11118 /* 28789 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11119 /* 28794 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
11120 /* 28798 */ // MIs[0] src
11121 /* 28798 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
11122 /* 28803 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11123 /* 28805 */ // (or:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), GR64:{ *:[i64] }:$src) => (BLSFILL64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
11124 /* 28805 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSFILL64rr),
11125 /* 28808 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11126 /* 28810 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
11127 /* 28814 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
11128 /* 28817 */ GIR_RootConstrainSelectedInstOperands,
11129 /* 28818 */ // GIR_Coverage, 25002,
11130 /* 28818 */ GIR_EraseRootFromParent_Done,
11131 /* 28819 */ // Label 742: @28819
11132 /* 28819 */ GIM_Try, /*On fail goto*//*Label 743*/ GIMT_Encode4(28928), // Rule ID 26049 //
11133 /* 28824 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
11134 /* 28827 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11135 /* 28831 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11136 /* 28835 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
11137 /* 28839 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
11138 /* 28843 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
11139 /* 28847 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
11140 /* 28851 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
11141 /* 28856 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11142 /* 28860 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11143 /* 28862 */ // (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] }))
11144 /* 28862 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
11145 /* 28865 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
11146 /* 28869 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
11147 /* 28874 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
11148 /* 28876 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
11149 /* 28879 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
11150 /* 28883 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
11151 /* 28888 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
11152 /* 28891 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
11153 /* 28895 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
11154 /* 28898 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
11155 /* 28903 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
11156 /* 28908 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
11157 /* 28913 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTS64rr),
11158 /* 28916 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11159 /* 28918 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11160 /* 28920 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
11161 /* 28923 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
11162 /* 28926 */ GIR_RootConstrainSelectedInstOperands,
11163 /* 28927 */ // GIR_Coverage, 26049,
11164 /* 28927 */ GIR_EraseRootFromParent_Done,
11165 /* 28928 */ // Label 743: @28928
11166 /* 28928 */ GIM_Try, /*On fail goto*//*Label 744*/ GIMT_Encode4(28986), // Rule ID 24994 //
11167 /* 28933 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
11168 /* 28936 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11169 /* 28940 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11170 /* 28944 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
11171 /* 28948 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
11172 /* 28952 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
11173 /* 28956 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, uint8_t(-2),
11174 /* 28960 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11175 /* 28965 */ // MIs[0] src
11176 /* 28965 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/2,
11177 /* 28970 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11178 /* 28972 */ // (or:{ *:[i64] } (sub:{ *:[i64] } -2:{ *:[i64] }, GR64:{ *:[i64] }:$src), GR64:{ *:[i64] }:$src) => (BLCI64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
11179 /* 28972 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI64rr),
11180 /* 28975 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11181 /* 28977 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
11182 /* 28981 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
11183 /* 28984 */ GIR_RootConstrainSelectedInstOperands,
11184 /* 28985 */ // GIR_Coverage, 24994,
11185 /* 28985 */ GIR_EraseRootFromParent_Done,
11186 /* 28986 */ // Label 744: @28986
11187 /* 28986 */ GIM_Try, /*On fail goto*//*Label 745*/ GIMT_Encode4(29040), // Rule ID 17361 //
11188 /* 28991 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
11189 /* 28994 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
11190 /* 28997 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11191 /* 29001 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11192 /* 29005 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11193 /* 29009 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
11194 /* 29013 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
11195 /* 29017 */ // MIs[1] src
11196 /* 29017 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
11197 /* 29022 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
11198 /* 29026 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11199 /* 29028 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src, (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] })) => (BLCS64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
11200 /* 29028 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCS64rr),
11201 /* 29031 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11202 /* 29033 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
11203 /* 29035 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
11204 /* 29038 */ GIR_RootConstrainSelectedInstOperands,
11205 /* 29039 */ // GIR_Coverage, 17361,
11206 /* 29039 */ GIR_EraseRootFromParent_Done,
11207 /* 29040 */ // Label 745: @29040
11208 /* 29040 */ GIM_Try, /*On fail goto*//*Label 746*/ GIMT_Encode4(29094), // Rule ID 17363 //
11209 /* 29045 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
11210 /* 29048 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
11211 /* 29051 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11212 /* 29055 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11213 /* 29059 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11214 /* 29063 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
11215 /* 29067 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
11216 /* 29071 */ // MIs[1] src
11217 /* 29071 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
11218 /* 29076 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
11219 /* 29080 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11220 /* 29082 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src, (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (BLSFILL64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
11221 /* 29082 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSFILL64rr),
11222 /* 29085 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11223 /* 29087 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
11224 /* 29089 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
11225 /* 29092 */ GIR_RootConstrainSelectedInstOperands,
11226 /* 29093 */ // GIR_Coverage, 17363,
11227 /* 29093 */ GIR_EraseRootFromParent_Done,
11228 /* 29094 */ // Label 746: @29094
11229 /* 29094 */ GIM_Try, /*On fail goto*//*Label 747*/ GIMT_Encode4(29203), // Rule ID 22787 //
11230 /* 29099 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
11231 /* 29102 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11232 /* 29106 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11233 /* 29110 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11234 /* 29114 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
11235 /* 29118 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
11236 /* 29122 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
11237 /* 29126 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
11238 /* 29130 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
11239 /* 29135 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11240 /* 29137 */ // (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] }))
11241 /* 29137 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
11242 /* 29140 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
11243 /* 29144 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
11244 /* 29149 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
11245 /* 29151 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
11246 /* 29154 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
11247 /* 29158 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
11248 /* 29163 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
11249 /* 29166 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
11250 /* 29170 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
11251 /* 29173 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
11252 /* 29178 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
11253 /* 29183 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
11254 /* 29188 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTS64rr),
11255 /* 29191 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11256 /* 29193 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11257 /* 29195 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
11258 /* 29198 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
11259 /* 29201 */ GIR_RootConstrainSelectedInstOperands,
11260 /* 29202 */ // GIR_Coverage, 22787,
11261 /* 29202 */ GIR_EraseRootFromParent_Done,
11262 /* 29203 */ // Label 747: @29203
11263 /* 29203 */ GIM_Try, /*On fail goto*//*Label 748*/ GIMT_Encode4(29257), // Rule ID 17355 //
11264 /* 29208 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
11265 /* 29211 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
11266 /* 29214 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11267 /* 29218 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11268 /* 29222 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11269 /* 29226 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
11270 /* 29230 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
11271 /* 29234 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, uint8_t(-2),
11272 /* 29238 */ // MIs[1] src
11273 /* 29238 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/2, /*OtherMI*/0, /*OtherOpIdx*/1,
11274 /* 29243 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11275 /* 29245 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src, (sub:{ *:[i64] } -2:{ *:[i64] }, GR64:{ *:[i64] }:$src)) => (BLCI64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
11276 /* 29245 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI64rr),
11277 /* 29248 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11278 /* 29250 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
11279 /* 29252 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
11280 /* 29255 */ GIR_RootConstrainSelectedInstOperands,
11281 /* 29256 */ // GIR_Coverage, 17355,
11282 /* 29256 */ GIR_EraseRootFromParent_Done,
11283 /* 29257 */ // Label 748: @29257
11284 /* 29257 */ GIM_Try, /*On fail goto*//*Label 749*/ GIMT_Encode4(29305), // Rule ID 22837 //
11285 /* 29262 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
11286 /* 29265 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
11287 /* 29268 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11288 /* 29272 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11289 /* 29276 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11290 /* 29280 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
11291 /* 29284 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
11292 /* 29288 */ // MIs[1] Operand 1
11293 /* 29288 */ // No operand predicates
11294 /* 29288 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11295 /* 29290 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (OR64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
11296 /* 29290 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64ri32),
11297 /* 29293 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11298 /* 29295 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11299 /* 29297 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
11300 /* 29300 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
11301 /* 29303 */ GIR_RootConstrainSelectedInstOperands,
11302 /* 29304 */ // GIR_Coverage, 22837,
11303 /* 29304 */ GIR_EraseRootFromParent_Done,
11304 /* 29305 */ // Label 749: @29305
11305 /* 29305 */ GIM_Try, /*On fail goto*//*Label 750*/ GIMT_Encode4(29353), // Rule ID 22927 //
11306 /* 29310 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
11307 /* 29313 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
11308 /* 29316 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11309 /* 29320 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11310 /* 29324 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11311 /* 29328 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
11312 /* 29332 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
11313 /* 29336 */ // MIs[1] Operand 1
11314 /* 29336 */ // No operand predicates
11315 /* 29336 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11316 /* 29338 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (OR64ri32_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
11317 /* 29338 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64ri32_ND),
11318 /* 29341 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11319 /* 29343 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11320 /* 29345 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
11321 /* 29348 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
11322 /* 29351 */ GIR_RootConstrainSelectedInstOperands,
11323 /* 29352 */ // GIR_Coverage, 22927,
11324 /* 29352 */ GIR_EraseRootFromParent_Done,
11325 /* 29353 */ // Label 750: @29353
11326 /* 29353 */ GIM_Try, /*On fail goto*//*Label 751*/ GIMT_Encode4(29389), // Rule ID 22829 //
11327 /* 29358 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
11328 /* 29361 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
11329 /* 29364 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11330 /* 29368 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11331 /* 29372 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11332 /* 29376 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (OR64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
11333 /* 29376 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR64rr),
11334 /* 29381 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
11335 /* 29387 */ GIR_RootConstrainSelectedInstOperands,
11336 /* 29388 */ // GIR_Coverage, 22829,
11337 /* 29388 */ GIR_Done,
11338 /* 29389 */ // Label 751: @29389
11339 /* 29389 */ GIM_Try, /*On fail goto*//*Label 752*/ GIMT_Encode4(29425), // Rule ID 22919 //
11340 /* 29394 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
11341 /* 29397 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
11342 /* 29400 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11343 /* 29404 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11344 /* 29408 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11345 /* 29412 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (OR64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
11346 /* 29412 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR64rr_ND),
11347 /* 29417 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
11348 /* 29423 */ GIR_RootConstrainSelectedInstOperands,
11349 /* 29424 */ // GIR_Coverage, 22919,
11350 /* 29424 */ GIR_Done,
11351 /* 29425 */ // Label 752: @29425
11352 /* 29425 */ GIM_Reject,
11353 /* 29426 */ // Label 730: @29426
11354 /* 29426 */ GIM_Reject,
11355 /* 29427 */ // Label 667: @29427
11356 /* 29427 */ GIM_Try, /*On fail goto*//*Label 753*/ GIMT_Encode4(29526), // Rule ID 19493 //
11357 /* 29432 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s1,
11358 /* 29435 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s1,
11359 /* 29438 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
11360 /* 29442 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
11361 /* 29446 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
11362 /* 29450 */ // (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] })
11363 /* 29450 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
11364 /* 29453 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
11365 /* 29457 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
11366 /* 29462 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
11367 /* 29466 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
11368 /* 29471 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
11369 /* 29474 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
11370 /* 29478 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
11371 /* 29483 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
11372 /* 29487 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
11373 /* 29492 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
11374 /* 29495 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KORWkk),
11375 /* 29499 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
11376 /* 29504 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
11377 /* 29507 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
11378 /* 29510 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
11379 /* 29512 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
11380 /* 29515 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11381 /* 29517 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
11382 /* 29520 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
11383 /* 29525 */ // GIR_Coverage, 19493,
11384 /* 29525 */ GIR_EraseRootFromParent_Done,
11385 /* 29526 */ // Label 753: @29526
11386 /* 29526 */ GIM_Reject,
11387 /* 29527 */ // Label 668: @29527
11388 /* 29527 */ GIM_Try, /*On fail goto*//*Label 754*/ GIMT_Encode4(29868),
11389 /* 29532 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
11390 /* 29535 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
11391 /* 29538 */ GIM_Try, /*On fail goto*//*Label 755*/ GIMT_Encode4(29600), // Rule ID 23363 //
11392 /* 29543 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
11393 /* 29546 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11394 /* 29550 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11395 /* 29554 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11396 /* 29558 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11397 /* 29561 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11398 /* 29565 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11399 /* 29569 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11400 /* 29573 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11401 /* 29575 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11402 /* 29582 */ // (or:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2i64] }:$src1) => (VPORrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11403 /* 29582 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
11404 /* 29585 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11405 /* 29587 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11406 /* 29589 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11407 /* 29593 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11408 /* 29598 */ GIR_RootConstrainSelectedInstOperands,
11409 /* 29599 */ // GIR_Coverage, 23363,
11410 /* 29599 */ GIR_EraseRootFromParent_Done,
11411 /* 29600 */ // Label 755: @29600
11412 /* 29600 */ GIM_Try, /*On fail goto*//*Label 756*/ GIMT_Encode4(29662), // Rule ID 24185 //
11413 /* 29605 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
11414 /* 29608 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11415 /* 29612 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11416 /* 29616 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11417 /* 29620 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11418 /* 29623 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11419 /* 29627 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11420 /* 29631 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11421 /* 29635 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11422 /* 29637 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11423 /* 29644 */ // (or:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPORQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11424 /* 29644 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rm),
11425 /* 29647 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11426 /* 29649 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11427 /* 29651 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11428 /* 29655 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11429 /* 29660 */ GIR_RootConstrainSelectedInstOperands,
11430 /* 29661 */ // GIR_Coverage, 24185,
11431 /* 29661 */ GIR_EraseRootFromParent_Done,
11432 /* 29662 */ // Label 756: @29662
11433 /* 29662 */ GIM_Try, /*On fail goto*//*Label 757*/ GIMT_Encode4(29724), // Rule ID 2117 //
11434 /* 29667 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
11435 /* 29670 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11436 /* 29674 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11437 /* 29678 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11438 /* 29682 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11439 /* 29686 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11440 /* 29689 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11441 /* 29693 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11442 /* 29697 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11443 /* 29699 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11444 /* 29706 */ // (or:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11445 /* 29706 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
11446 /* 29709 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11447 /* 29711 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11448 /* 29713 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11449 /* 29717 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11450 /* 29722 */ GIR_RootConstrainSelectedInstOperands,
11451 /* 29723 */ // GIR_Coverage, 2117,
11452 /* 29723 */ GIR_EraseRootFromParent_Done,
11453 /* 29724 */ // Label 757: @29724
11454 /* 29724 */ GIM_Try, /*On fail goto*//*Label 758*/ GIMT_Encode4(29786), // Rule ID 5761 //
11455 /* 29729 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
11456 /* 29732 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11457 /* 29736 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11458 /* 29740 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11459 /* 29744 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11460 /* 29748 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11461 /* 29751 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11462 /* 29755 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11463 /* 29759 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11464 /* 29761 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11465 /* 29768 */ // (or:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11466 /* 29768 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rm),
11467 /* 29771 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11468 /* 29773 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11469 /* 29775 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11470 /* 29779 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11471 /* 29784 */ GIR_RootConstrainSelectedInstOperands,
11472 /* 29785 */ // GIR_Coverage, 5761,
11473 /* 29785 */ GIR_EraseRootFromParent_Done,
11474 /* 29786 */ // Label 758: @29786
11475 /* 29786 */ GIM_Try, /*On fail goto*//*Label 759*/ GIMT_Encode4(29813), // Rule ID 2116 //
11476 /* 29791 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
11477 /* 29794 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11478 /* 29798 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11479 /* 29802 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11480 /* 29806 */ // (or:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPORrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
11481 /* 29806 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORrr),
11482 /* 29811 */ GIR_RootConstrainSelectedInstOperands,
11483 /* 29812 */ // GIR_Coverage, 2116,
11484 /* 29812 */ GIR_Done,
11485 /* 29813 */ // Label 759: @29813
11486 /* 29813 */ GIM_Try, /*On fail goto*//*Label 760*/ GIMT_Encode4(29840), // Rule ID 2118 //
11487 /* 29818 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
11488 /* 29821 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11489 /* 29825 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11490 /* 29829 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11491 /* 29833 */ // (or:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (PORrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
11492 /* 29833 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PORrr),
11493 /* 29838 */ GIR_RootConstrainSelectedInstOperands,
11494 /* 29839 */ // GIR_Coverage, 2118,
11495 /* 29839 */ GIR_Done,
11496 /* 29840 */ // Label 760: @29840
11497 /* 29840 */ GIM_Try, /*On fail goto*//*Label 761*/ GIMT_Encode4(29867), // Rule ID 5758 //
11498 /* 29845 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
11499 /* 29848 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11500 /* 29852 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11501 /* 29856 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11502 /* 29860 */ // (or:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPORQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
11503 /* 29860 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rr),
11504 /* 29865 */ GIR_RootConstrainSelectedInstOperands,
11505 /* 29866 */ // GIR_Coverage, 5758,
11506 /* 29866 */ GIR_Done,
11507 /* 29867 */ // Label 761: @29867
11508 /* 29867 */ GIM_Reject,
11509 /* 29868 */ // Label 754: @29868
11510 /* 29868 */ GIM_Reject,
11511 /* 29869 */ // Label 669: @29869
11512 /* 29869 */ GIM_Try, /*On fail goto*//*Label 762*/ GIMT_Encode4(29968), // Rule ID 19494 //
11513 /* 29874 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
11514 /* 29877 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s1,
11515 /* 29880 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
11516 /* 29884 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
11517 /* 29888 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
11518 /* 29892 */ // (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] })
11519 /* 29892 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
11520 /* 29895 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
11521 /* 29899 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
11522 /* 29904 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
11523 /* 29908 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
11524 /* 29913 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
11525 /* 29916 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
11526 /* 29920 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
11527 /* 29925 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
11528 /* 29929 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
11529 /* 29934 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
11530 /* 29937 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KORWkk),
11531 /* 29941 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
11532 /* 29946 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
11533 /* 29949 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
11534 /* 29952 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
11535 /* 29954 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
11536 /* 29957 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11537 /* 29959 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
11538 /* 29962 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
11539 /* 29967 */ // GIR_Coverage, 19494,
11540 /* 29967 */ GIR_EraseRootFromParent_Done,
11541 /* 29968 */ // Label 762: @29968
11542 /* 29968 */ GIM_Reject,
11543 /* 29969 */ // Label 670: @29969
11544 /* 29969 */ GIM_Try, /*On fail goto*//*Label 763*/ GIMT_Encode4(30310),
11545 /* 29974 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
11546 /* 29977 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
11547 /* 29980 */ GIM_Try, /*On fail goto*//*Label 764*/ GIMT_Encode4(30042), // Rule ID 24203 //
11548 /* 29985 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
11549 /* 29988 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11550 /* 29992 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11551 /* 29996 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11552 /* 30000 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11553 /* 30003 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11554 /* 30007 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11555 /* 30011 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11556 /* 30015 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11557 /* 30017 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11558 /* 30024 */ // (or:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPORDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11559 /* 30024 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORDZ128rm),
11560 /* 30027 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11561 /* 30029 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11562 /* 30031 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11563 /* 30035 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11564 /* 30040 */ GIR_RootConstrainSelectedInstOperands,
11565 /* 30041 */ // GIR_Coverage, 24203,
11566 /* 30041 */ GIR_EraseRootFromParent_Done,
11567 /* 30042 */ // Label 764: @30042
11568 /* 30042 */ GIM_Try, /*On fail goto*//*Label 765*/ GIMT_Encode4(30104), // Rule ID 25256 //
11569 /* 30047 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
11570 /* 30050 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11571 /* 30054 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11572 /* 30058 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11573 /* 30062 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11574 /* 30065 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11575 /* 30069 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11576 /* 30073 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11577 /* 30077 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11578 /* 30079 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11579 /* 30086 */ // (or:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPORrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11580 /* 30086 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
11581 /* 30089 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11582 /* 30091 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11583 /* 30093 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11584 /* 30097 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11585 /* 30102 */ GIR_RootConstrainSelectedInstOperands,
11586 /* 30103 */ // GIR_Coverage, 25256,
11587 /* 30103 */ GIR_EraseRootFromParent_Done,
11588 /* 30104 */ // Label 765: @30104
11589 /* 30104 */ GIM_Try, /*On fail goto*//*Label 766*/ GIMT_Encode4(30166), // Rule ID 5788 //
11590 /* 30109 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
11591 /* 30112 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11592 /* 30116 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11593 /* 30120 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11594 /* 30124 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11595 /* 30128 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11596 /* 30131 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11597 /* 30135 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11598 /* 30139 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11599 /* 30141 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11600 /* 30148 */ // (or:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11601 /* 30148 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORDZ128rm),
11602 /* 30151 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11603 /* 30153 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11604 /* 30155 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11605 /* 30159 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11606 /* 30164 */ GIR_RootConstrainSelectedInstOperands,
11607 /* 30165 */ // GIR_Coverage, 5788,
11608 /* 30165 */ GIR_EraseRootFromParent_Done,
11609 /* 30166 */ // Label 766: @30166
11610 /* 30166 */ GIM_Try, /*On fail goto*//*Label 767*/ GIMT_Encode4(30228), // Rule ID 18163 //
11611 /* 30171 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
11612 /* 30174 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11613 /* 30178 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11614 /* 30182 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11615 /* 30186 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11616 /* 30190 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11617 /* 30193 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11618 /* 30197 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11619 /* 30201 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11620 /* 30203 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11621 /* 30210 */ // (or:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11622 /* 30210 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
11623 /* 30213 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11624 /* 30215 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11625 /* 30217 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11626 /* 30221 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11627 /* 30226 */ GIR_RootConstrainSelectedInstOperands,
11628 /* 30227 */ // GIR_Coverage, 18163,
11629 /* 30227 */ GIR_EraseRootFromParent_Done,
11630 /* 30228 */ // Label 767: @30228
11631 /* 30228 */ GIM_Try, /*On fail goto*//*Label 768*/ GIMT_Encode4(30255), // Rule ID 5785 //
11632 /* 30233 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
11633 /* 30236 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11634 /* 30240 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11635 /* 30244 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11636 /* 30248 */ // (or:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPORDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
11637 /* 30248 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORDZ128rr),
11638 /* 30253 */ GIR_RootConstrainSelectedInstOperands,
11639 /* 30254 */ // GIR_Coverage, 5785,
11640 /* 30254 */ GIR_Done,
11641 /* 30255 */ // Label 768: @30255
11642 /* 30255 */ GIM_Try, /*On fail goto*//*Label 769*/ GIMT_Encode4(30282), // Rule ID 18151 //
11643 /* 30260 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
11644 /* 30263 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11645 /* 30267 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11646 /* 30271 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11647 /* 30275 */ // (or:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPORrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
11648 /* 30275 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORrr),
11649 /* 30280 */ GIR_RootConstrainSelectedInstOperands,
11650 /* 30281 */ // GIR_Coverage, 18151,
11651 /* 30281 */ GIR_Done,
11652 /* 30282 */ // Label 769: @30282
11653 /* 30282 */ GIM_Try, /*On fail goto*//*Label 770*/ GIMT_Encode4(30309), // Rule ID 18175 //
11654 /* 30287 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
11655 /* 30290 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11656 /* 30294 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11657 /* 30298 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11658 /* 30302 */ // (or:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PORrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
11659 /* 30302 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PORrr),
11660 /* 30307 */ GIR_RootConstrainSelectedInstOperands,
11661 /* 30308 */ // GIR_Coverage, 18175,
11662 /* 30308 */ GIR_Done,
11663 /* 30309 */ // Label 770: @30309
11664 /* 30309 */ GIM_Reject,
11665 /* 30310 */ // Label 763: @30310
11666 /* 30310 */ GIM_Reject,
11667 /* 30311 */ // Label 671: @30311
11668 /* 30311 */ GIM_Try, /*On fail goto*//*Label 771*/ GIMT_Encode4(30776),
11669 /* 30316 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
11670 /* 30319 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
11671 /* 30322 */ GIM_Try, /*On fail goto*//*Label 772*/ GIMT_Encode4(30384), // Rule ID 23365 //
11672 /* 30327 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
11673 /* 30330 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11674 /* 30334 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11675 /* 30338 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11676 /* 30342 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11677 /* 30345 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11678 /* 30349 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11679 /* 30353 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11680 /* 30357 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11681 /* 30359 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11682 /* 30366 */ // (or:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VPORYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11683 /* 30366 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
11684 /* 30369 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11685 /* 30371 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11686 /* 30373 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11687 /* 30377 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11688 /* 30382 */ GIR_RootConstrainSelectedInstOperands,
11689 /* 30383 */ // GIR_Coverage, 23365,
11690 /* 30383 */ GIR_EraseRootFromParent_Done,
11691 /* 30384 */ // Label 772: @30384
11692 /* 30384 */ GIM_Try, /*On fail goto*//*Label 773*/ GIMT_Encode4(30446), // Rule ID 24179 //
11693 /* 30389 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
11694 /* 30392 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11695 /* 30396 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11696 /* 30400 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11697 /* 30404 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11698 /* 30407 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11699 /* 30411 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11700 /* 30415 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11701 /* 30419 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11702 /* 30421 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11703 /* 30428 */ // (or:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPORQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11704 /* 30428 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rm),
11705 /* 30431 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11706 /* 30433 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11707 /* 30435 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11708 /* 30439 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11709 /* 30444 */ GIR_RootConstrainSelectedInstOperands,
11710 /* 30445 */ // GIR_Coverage, 24179,
11711 /* 30445 */ GIR_EraseRootFromParent_Done,
11712 /* 30446 */ // Label 773: @30446
11713 /* 30446 */ GIM_Try, /*On fail goto*//*Label 774*/ GIMT_Encode4(30508), // Rule ID 25246 //
11714 /* 30451 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
11715 /* 30454 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11716 /* 30458 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11717 /* 30462 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11718 /* 30466 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11719 /* 30469 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11720 /* 30473 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11721 /* 30477 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11722 /* 30481 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11723 /* 30483 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11724 /* 30490 */ // (or:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VORPSYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11725 /* 30490 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
11726 /* 30493 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11727 /* 30495 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11728 /* 30497 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11729 /* 30501 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11730 /* 30506 */ GIR_RootConstrainSelectedInstOperands,
11731 /* 30507 */ // GIR_Coverage, 25246,
11732 /* 30507 */ GIR_EraseRootFromParent_Done,
11733 /* 30508 */ // Label 774: @30508
11734 /* 30508 */ GIM_Try, /*On fail goto*//*Label 775*/ GIMT_Encode4(30570), // Rule ID 2121 //
11735 /* 30513 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
11736 /* 30516 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11737 /* 30520 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11738 /* 30524 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11739 /* 30528 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11740 /* 30532 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11741 /* 30535 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11742 /* 30539 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11743 /* 30543 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11744 /* 30545 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11745 /* 30552 */ // (or:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11746 /* 30552 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
11747 /* 30555 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11748 /* 30557 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11749 /* 30559 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11750 /* 30563 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11751 /* 30568 */ GIR_RootConstrainSelectedInstOperands,
11752 /* 30569 */ // GIR_Coverage, 2121,
11753 /* 30569 */ GIR_EraseRootFromParent_Done,
11754 /* 30570 */ // Label 775: @30570
11755 /* 30570 */ GIM_Try, /*On fail goto*//*Label 776*/ GIMT_Encode4(30632), // Rule ID 5752 //
11756 /* 30575 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
11757 /* 30578 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11758 /* 30582 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11759 /* 30586 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11760 /* 30590 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11761 /* 30594 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11762 /* 30597 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11763 /* 30601 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11764 /* 30605 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11765 /* 30607 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11766 /* 30614 */ // (or:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11767 /* 30614 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rm),
11768 /* 30617 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11769 /* 30619 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11770 /* 30621 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11771 /* 30625 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11772 /* 30630 */ GIR_RootConstrainSelectedInstOperands,
11773 /* 30631 */ // GIR_Coverage, 5752,
11774 /* 30631 */ GIR_EraseRootFromParent_Done,
11775 /* 30632 */ // Label 776: @30632
11776 /* 30632 */ GIM_Try, /*On fail goto*//*Label 777*/ GIMT_Encode4(30694), // Rule ID 18137 //
11777 /* 30637 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
11778 /* 30640 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11779 /* 30644 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11780 /* 30648 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11781 /* 30652 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11782 /* 30656 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11783 /* 30659 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11784 /* 30663 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11785 /* 30667 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11786 /* 30669 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11787 /* 30676 */ // (or:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VORPSYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11788 /* 30676 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
11789 /* 30679 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11790 /* 30681 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11791 /* 30683 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11792 /* 30687 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11793 /* 30692 */ GIR_RootConstrainSelectedInstOperands,
11794 /* 30693 */ // GIR_Coverage, 18137,
11795 /* 30693 */ GIR_EraseRootFromParent_Done,
11796 /* 30694 */ // Label 777: @30694
11797 /* 30694 */ GIM_Try, /*On fail goto*//*Label 778*/ GIMT_Encode4(30721), // Rule ID 2120 //
11798 /* 30699 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
11799 /* 30702 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11800 /* 30706 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11801 /* 30710 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11802 /* 30714 */ // (or:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VPORYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
11803 /* 30714 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORYrr),
11804 /* 30719 */ GIR_RootConstrainSelectedInstOperands,
11805 /* 30720 */ // GIR_Coverage, 2120,
11806 /* 30720 */ GIR_Done,
11807 /* 30721 */ // Label 778: @30721
11808 /* 30721 */ GIM_Try, /*On fail goto*//*Label 779*/ GIMT_Encode4(30748), // Rule ID 5749 //
11809 /* 30726 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
11810 /* 30729 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11811 /* 30733 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11812 /* 30737 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11813 /* 30741 */ // (or:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPORQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
11814 /* 30741 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rr),
11815 /* 30746 */ GIR_RootConstrainSelectedInstOperands,
11816 /* 30747 */ // GIR_Coverage, 5749,
11817 /* 30747 */ GIR_Done,
11818 /* 30748 */ // Label 779: @30748
11819 /* 30748 */ GIM_Try, /*On fail goto*//*Label 780*/ GIMT_Encode4(30775), // Rule ID 18121 //
11820 /* 30753 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
11821 /* 30756 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11822 /* 30760 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11823 /* 30764 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11824 /* 30768 */ // (or:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VORPSYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
11825 /* 30768 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VORPSYrr),
11826 /* 30773 */ GIR_RootConstrainSelectedInstOperands,
11827 /* 30774 */ // GIR_Coverage, 18121,
11828 /* 30774 */ GIR_Done,
11829 /* 30775 */ // Label 780: @30775
11830 /* 30775 */ GIM_Reject,
11831 /* 30776 */ // Label 771: @30776
11832 /* 30776 */ GIM_Reject,
11833 /* 30777 */ // Label 672: @30777
11834 /* 30777 */ GIM_Try, /*On fail goto*//*Label 781*/ GIMT_Encode4(30900),
11835 /* 30782 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
11836 /* 30785 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
11837 /* 30788 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
11838 /* 30792 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
11839 /* 30796 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
11840 /* 30800 */ GIM_Try, /*On fail goto*//*Label 782*/ GIMT_Encode4(30815), // Rule ID 4419 //
11841 /* 30805 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
11842 /* 30808 */ // (or:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2) => (KORBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
11843 /* 30808 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KORBkk),
11844 /* 30813 */ GIR_RootConstrainSelectedInstOperands,
11845 /* 30814 */ // GIR_Coverage, 4419,
11846 /* 30814 */ GIR_Done,
11847 /* 30815 */ // Label 782: @30815
11848 /* 30815 */ GIM_Try, /*On fail goto*//*Label 783*/ GIMT_Encode4(30899), // Rule ID 19491 //
11849 /* 30820 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoDQI),
11850 /* 30823 */ // (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] })
11851 /* 30823 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
11852 /* 30826 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
11853 /* 30830 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
11854 /* 30835 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
11855 /* 30839 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
11856 /* 30844 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
11857 /* 30847 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
11858 /* 30851 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
11859 /* 30856 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
11860 /* 30860 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
11861 /* 30865 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
11862 /* 30868 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KORWkk),
11863 /* 30872 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
11864 /* 30877 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
11865 /* 30880 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
11866 /* 30883 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
11867 /* 30885 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
11868 /* 30888 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11869 /* 30890 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
11870 /* 30893 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
11871 /* 30898 */ // GIR_Coverage, 19491,
11872 /* 30898 */ GIR_EraseRootFromParent_Done,
11873 /* 30899 */ // Label 783: @30899
11874 /* 30899 */ GIM_Reject,
11875 /* 30900 */ // Label 781: @30900
11876 /* 30900 */ GIM_Reject,
11877 /* 30901 */ // Label 673: @30901
11878 /* 30901 */ GIM_Try, /*On fail goto*//*Label 784*/ GIMT_Encode4(31242),
11879 /* 30906 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
11880 /* 30909 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
11881 /* 30912 */ GIM_Try, /*On fail goto*//*Label 785*/ GIMT_Encode4(30974), // Rule ID 25255 //
11882 /* 30917 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
11883 /* 30920 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11884 /* 30924 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11885 /* 30928 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11886 /* 30932 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11887 /* 30935 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11888 /* 30939 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11889 /* 30943 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11890 /* 30947 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11891 /* 30949 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11892 /* 30956 */ // (or:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPORrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11893 /* 30956 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
11894 /* 30959 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11895 /* 30961 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11896 /* 30963 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11897 /* 30967 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11898 /* 30972 */ GIR_RootConstrainSelectedInstOperands,
11899 /* 30973 */ // GIR_Coverage, 25255,
11900 /* 30973 */ GIR_EraseRootFromParent_Done,
11901 /* 30974 */ // Label 785: @30974
11902 /* 30974 */ GIM_Try, /*On fail goto*//*Label 786*/ GIMT_Encode4(31036), // Rule ID 25435 //
11903 /* 30979 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
11904 /* 30982 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11905 /* 30986 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11906 /* 30990 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11907 /* 30994 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11908 /* 30997 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11909 /* 31001 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11910 /* 31005 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11911 /* 31009 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11912 /* 31011 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11913 /* 31018 */ // (or:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPORQZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11914 /* 31018 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rm),
11915 /* 31021 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11916 /* 31023 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11917 /* 31025 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11918 /* 31029 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11919 /* 31034 */ GIR_RootConstrainSelectedInstOperands,
11920 /* 31035 */ // GIR_Coverage, 25435,
11921 /* 31035 */ GIR_EraseRootFromParent_Done,
11922 /* 31036 */ // Label 786: @31036
11923 /* 31036 */ GIM_Try, /*On fail goto*//*Label 787*/ GIMT_Encode4(31098), // Rule ID 18162 //
11924 /* 31041 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
11925 /* 31044 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11926 /* 31048 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11927 /* 31052 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11928 /* 31056 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11929 /* 31060 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11930 /* 31063 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11931 /* 31067 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11932 /* 31071 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11933 /* 31073 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11934 /* 31080 */ // (or:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11935 /* 31080 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
11936 /* 31083 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11937 /* 31085 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11938 /* 31087 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11939 /* 31091 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11940 /* 31096 */ GIR_RootConstrainSelectedInstOperands,
11941 /* 31097 */ // GIR_Coverage, 18162,
11942 /* 31097 */ GIR_EraseRootFromParent_Done,
11943 /* 31098 */ // Label 787: @31098
11944 /* 31098 */ GIM_Try, /*On fail goto*//*Label 788*/ GIMT_Encode4(31160), // Rule ID 20027 //
11945 /* 31103 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
11946 /* 31106 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11947 /* 31110 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11948 /* 31114 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11949 /* 31118 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11950 /* 31122 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11951 /* 31125 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11952 /* 31129 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11953 /* 31133 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11954 /* 31135 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11955 /* 31142 */ // (or:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11956 /* 31142 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rm),
11957 /* 31145 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11958 /* 31147 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11959 /* 31149 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11960 /* 31153 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11961 /* 31158 */ GIR_RootConstrainSelectedInstOperands,
11962 /* 31159 */ // GIR_Coverage, 20027,
11963 /* 31159 */ GIR_EraseRootFromParent_Done,
11964 /* 31160 */ // Label 788: @31160
11965 /* 31160 */ GIM_Try, /*On fail goto*//*Label 789*/ GIMT_Encode4(31187), // Rule ID 18150 //
11966 /* 31165 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
11967 /* 31168 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11968 /* 31172 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11969 /* 31176 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11970 /* 31180 */ // (or:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPORrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
11971 /* 31180 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORrr),
11972 /* 31185 */ GIR_RootConstrainSelectedInstOperands,
11973 /* 31186 */ // GIR_Coverage, 18150,
11974 /* 31186 */ GIR_Done,
11975 /* 31187 */ // Label 789: @31187
11976 /* 31187 */ GIM_Try, /*On fail goto*//*Label 790*/ GIMT_Encode4(31214), // Rule ID 18174 //
11977 /* 31192 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
11978 /* 31195 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11979 /* 31199 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11980 /* 31203 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11981 /* 31207 */ // (or:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PORrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
11982 /* 31207 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PORrr),
11983 /* 31212 */ GIR_RootConstrainSelectedInstOperands,
11984 /* 31213 */ // GIR_Coverage, 18174,
11985 /* 31213 */ GIR_Done,
11986 /* 31214 */ // Label 790: @31214
11987 /* 31214 */ GIM_Try, /*On fail goto*//*Label 791*/ GIMT_Encode4(31241), // Rule ID 20019 //
11988 /* 31219 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
11989 /* 31222 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11990 /* 31226 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11991 /* 31230 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11992 /* 31234 */ // (or:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPORQZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
11993 /* 31234 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rr),
11994 /* 31239 */ GIR_RootConstrainSelectedInstOperands,
11995 /* 31240 */ // GIR_Coverage, 20019,
11996 /* 31240 */ GIR_Done,
11997 /* 31241 */ // Label 791: @31241
11998 /* 31241 */ GIM_Reject,
11999 /* 31242 */ // Label 784: @31242
12000 /* 31242 */ GIM_Reject,
12001 /* 31243 */ // Label 674: @31243
12002 /* 31243 */ GIM_Try, /*On fail goto*//*Label 792*/ GIMT_Encode4(31708),
12003 /* 31248 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
12004 /* 31251 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
12005 /* 31254 */ GIM_Try, /*On fail goto*//*Label 793*/ GIMT_Encode4(31316), // Rule ID 24197 //
12006 /* 31259 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
12007 /* 31262 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12008 /* 31266 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12009 /* 31270 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12010 /* 31274 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12011 /* 31277 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12012 /* 31281 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12013 /* 31285 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12014 /* 31289 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12015 /* 31291 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12016 /* 31298 */ // (or:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPORDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
12017 /* 31298 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORDZ256rm),
12018 /* 31301 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12019 /* 31303 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12020 /* 31305 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12021 /* 31309 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12022 /* 31314 */ GIR_RootConstrainSelectedInstOperands,
12023 /* 31315 */ // GIR_Coverage, 24197,
12024 /* 31315 */ GIR_EraseRootFromParent_Done,
12025 /* 31316 */ // Label 793: @31316
12026 /* 31316 */ GIM_Try, /*On fail goto*//*Label 794*/ GIMT_Encode4(31378), // Rule ID 25235 //
12027 /* 31321 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
12028 /* 31324 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12029 /* 31328 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12030 /* 31332 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12031 /* 31336 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12032 /* 31339 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12033 /* 31343 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12034 /* 31347 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12035 /* 31351 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12036 /* 31353 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12037 /* 31360 */ // (or:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPORYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
12038 /* 31360 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
12039 /* 31363 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12040 /* 31365 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12041 /* 31367 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12042 /* 31371 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12043 /* 31376 */ GIR_RootConstrainSelectedInstOperands,
12044 /* 31377 */ // GIR_Coverage, 25235,
12045 /* 31377 */ GIR_EraseRootFromParent_Done,
12046 /* 31378 */ // Label 794: @31378
12047 /* 31378 */ GIM_Try, /*On fail goto*//*Label 795*/ GIMT_Encode4(31440), // Rule ID 25245 //
12048 /* 31383 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
12049 /* 31386 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12050 /* 31390 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12051 /* 31394 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12052 /* 31398 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12053 /* 31401 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12054 /* 31405 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12055 /* 31409 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12056 /* 31413 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12057 /* 31415 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12058 /* 31422 */ // (or:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VORPSYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
12059 /* 31422 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
12060 /* 31425 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12061 /* 31427 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12062 /* 31429 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12063 /* 31433 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12064 /* 31438 */ GIR_RootConstrainSelectedInstOperands,
12065 /* 31439 */ // GIR_Coverage, 25245,
12066 /* 31439 */ GIR_EraseRootFromParent_Done,
12067 /* 31440 */ // Label 795: @31440
12068 /* 31440 */ GIM_Try, /*On fail goto*//*Label 796*/ GIMT_Encode4(31502), // Rule ID 5779 //
12069 /* 31445 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
12070 /* 31448 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12071 /* 31452 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12072 /* 31456 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12073 /* 31460 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12074 /* 31464 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12075 /* 31467 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12076 /* 31471 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12077 /* 31475 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12078 /* 31477 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12079 /* 31484 */ // (or:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
12080 /* 31484 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORDZ256rm),
12081 /* 31487 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12082 /* 31489 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12083 /* 31491 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12084 /* 31495 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12085 /* 31500 */ GIR_RootConstrainSelectedInstOperands,
12086 /* 31501 */ // GIR_Coverage, 5779,
12087 /* 31501 */ GIR_EraseRootFromParent_Done,
12088 /* 31502 */ // Label 796: @31502
12089 /* 31502 */ GIM_Try, /*On fail goto*//*Label 797*/ GIMT_Encode4(31564), // Rule ID 18107 //
12090 /* 31507 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
12091 /* 31510 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12092 /* 31514 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12093 /* 31518 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12094 /* 31522 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12095 /* 31526 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12096 /* 31529 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12097 /* 31533 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12098 /* 31537 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12099 /* 31539 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12100 /* 31546 */ // (or:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
12101 /* 31546 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
12102 /* 31549 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12103 /* 31551 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12104 /* 31553 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12105 /* 31557 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12106 /* 31562 */ GIR_RootConstrainSelectedInstOperands,
12107 /* 31563 */ // GIR_Coverage, 18107,
12108 /* 31563 */ GIR_EraseRootFromParent_Done,
12109 /* 31564 */ // Label 797: @31564
12110 /* 31564 */ GIM_Try, /*On fail goto*//*Label 798*/ GIMT_Encode4(31626), // Rule ID 18136 //
12111 /* 31569 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
12112 /* 31572 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12113 /* 31576 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12114 /* 31580 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12115 /* 31584 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12116 /* 31588 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12117 /* 31591 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12118 /* 31595 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12119 /* 31599 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12120 /* 31601 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12121 /* 31608 */ // (or:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VORPSYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
12122 /* 31608 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
12123 /* 31611 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12124 /* 31613 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12125 /* 31615 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12126 /* 31619 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12127 /* 31624 */ GIR_RootConstrainSelectedInstOperands,
12128 /* 31625 */ // GIR_Coverage, 18136,
12129 /* 31625 */ GIR_EraseRootFromParent_Done,
12130 /* 31626 */ // Label 798: @31626
12131 /* 31626 */ GIM_Try, /*On fail goto*//*Label 799*/ GIMT_Encode4(31653), // Rule ID 5776 //
12132 /* 31631 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
12133 /* 31634 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12134 /* 31638 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12135 /* 31642 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12136 /* 31646 */ // (or:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPORDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
12137 /* 31646 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORDZ256rr),
12138 /* 31651 */ GIR_RootConstrainSelectedInstOperands,
12139 /* 31652 */ // GIR_Coverage, 5776,
12140 /* 31652 */ GIR_Done,
12141 /* 31653 */ // Label 799: @31653
12142 /* 31653 */ GIM_Try, /*On fail goto*//*Label 800*/ GIMT_Encode4(31680), // Rule ID 18095 //
12143 /* 31658 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
12144 /* 31661 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12145 /* 31665 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12146 /* 31669 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12147 /* 31673 */ // (or:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPORYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
12148 /* 31673 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORYrr),
12149 /* 31678 */ GIR_RootConstrainSelectedInstOperands,
12150 /* 31679 */ // GIR_Coverage, 18095,
12151 /* 31679 */ GIR_Done,
12152 /* 31680 */ // Label 800: @31680
12153 /* 31680 */ GIM_Try, /*On fail goto*//*Label 801*/ GIMT_Encode4(31707), // Rule ID 18120 //
12154 /* 31685 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
12155 /* 31688 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12156 /* 31692 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12157 /* 31696 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12158 /* 31700 */ // (or:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VORPSYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
12159 /* 31700 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VORPSYrr),
12160 /* 31705 */ GIR_RootConstrainSelectedInstOperands,
12161 /* 31706 */ // GIR_Coverage, 18120,
12162 /* 31706 */ GIR_Done,
12163 /* 31707 */ // Label 801: @31707
12164 /* 31707 */ GIM_Reject,
12165 /* 31708 */ // Label 792: @31708
12166 /* 31708 */ GIM_Reject,
12167 /* 31709 */ // Label 675: @31709
12168 /* 31709 */ GIM_Try, /*On fail goto*//*Label 802*/ GIMT_Encode4(31864),
12169 /* 31714 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
12170 /* 31717 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
12171 /* 31720 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12172 /* 31724 */ GIM_Try, /*On fail goto*//*Label 803*/ GIMT_Encode4(31782), // Rule ID 24173 //
12173 /* 31729 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
12174 /* 31732 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12175 /* 31736 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12176 /* 31740 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12177 /* 31743 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12178 /* 31747 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12179 /* 31751 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12180 /* 31755 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12181 /* 31757 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12182 /* 31764 */ // (or:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPORQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
12183 /* 31764 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZrm),
12184 /* 31767 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12185 /* 31769 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12186 /* 31771 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12187 /* 31775 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12188 /* 31780 */ GIR_RootConstrainSelectedInstOperands,
12189 /* 31781 */ // GIR_Coverage, 24173,
12190 /* 31781 */ GIR_EraseRootFromParent_Done,
12191 /* 31782 */ // Label 803: @31782
12192 /* 31782 */ GIM_Try, /*On fail goto*//*Label 804*/ GIMT_Encode4(31840), // Rule ID 5743 //
12193 /* 31787 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
12194 /* 31790 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12195 /* 31794 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12196 /* 31798 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12197 /* 31802 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12198 /* 31805 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12199 /* 31809 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12200 /* 31813 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12201 /* 31815 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12202 /* 31822 */ // (or:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
12203 /* 31822 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZrm),
12204 /* 31825 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12205 /* 31827 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12206 /* 31829 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12207 /* 31833 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12208 /* 31838 */ GIR_RootConstrainSelectedInstOperands,
12209 /* 31839 */ // GIR_Coverage, 5743,
12210 /* 31839 */ GIR_EraseRootFromParent_Done,
12211 /* 31840 */ // Label 804: @31840
12212 /* 31840 */ GIM_Try, /*On fail goto*//*Label 805*/ GIMT_Encode4(31863), // Rule ID 5740 //
12213 /* 31845 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
12214 /* 31848 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12215 /* 31852 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12216 /* 31856 */ // (or:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPORQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
12217 /* 31856 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZrr),
12218 /* 31861 */ GIR_RootConstrainSelectedInstOperands,
12219 /* 31862 */ // GIR_Coverage, 5740,
12220 /* 31862 */ GIR_Done,
12221 /* 31863 */ // Label 805: @31863
12222 /* 31863 */ GIM_Reject,
12223 /* 31864 */ // Label 802: @31864
12224 /* 31864 */ GIM_Reject,
12225 /* 31865 */ // Label 676: @31865
12226 /* 31865 */ GIM_Try, /*On fail goto*//*Label 806*/ GIMT_Encode4(31898), // Rule ID 4420 //
12227 /* 31870 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
12228 /* 31873 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
12229 /* 31876 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
12230 /* 31879 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
12231 /* 31883 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
12232 /* 31887 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
12233 /* 31891 */ // (or:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2) => (KORWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
12234 /* 31891 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KORWkk),
12235 /* 31896 */ GIR_RootConstrainSelectedInstOperands,
12236 /* 31897 */ // GIR_Coverage, 4420,
12237 /* 31897 */ GIR_Done,
12238 /* 31898 */ // Label 806: @31898
12239 /* 31898 */ GIM_Reject,
12240 /* 31899 */ // Label 677: @31899
12241 /* 31899 */ GIM_Try, /*On fail goto*//*Label 807*/ GIMT_Encode4(32240),
12242 /* 31904 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
12243 /* 31907 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
12244 /* 31910 */ GIM_Try, /*On fail goto*//*Label 808*/ GIMT_Encode4(31972), // Rule ID 25254 //
12245 /* 31915 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
12246 /* 31918 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
12247 /* 31922 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12248 /* 31926 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12249 /* 31930 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12250 /* 31933 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12251 /* 31937 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12252 /* 31941 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
12253 /* 31945 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12254 /* 31947 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12255 /* 31954 */ // (or:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPORrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
12256 /* 31954 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
12257 /* 31957 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12258 /* 31959 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12259 /* 31961 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12260 /* 31965 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12261 /* 31970 */ GIR_RootConstrainSelectedInstOperands,
12262 /* 31971 */ // GIR_Coverage, 25254,
12263 /* 31971 */ GIR_EraseRootFromParent_Done,
12264 /* 31972 */ // Label 808: @31972
12265 /* 31972 */ GIM_Try, /*On fail goto*//*Label 809*/ GIMT_Encode4(32034), // Rule ID 25434 //
12266 /* 31977 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
12267 /* 31980 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
12268 /* 31984 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12269 /* 31988 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12270 /* 31992 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12271 /* 31995 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12272 /* 31999 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12273 /* 32003 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
12274 /* 32007 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12275 /* 32009 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12276 /* 32016 */ // (or:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPORQZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
12277 /* 32016 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rm),
12278 /* 32019 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12279 /* 32021 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12280 /* 32023 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12281 /* 32027 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12282 /* 32032 */ GIR_RootConstrainSelectedInstOperands,
12283 /* 32033 */ // GIR_Coverage, 25434,
12284 /* 32033 */ GIR_EraseRootFromParent_Done,
12285 /* 32034 */ // Label 809: @32034
12286 /* 32034 */ GIM_Try, /*On fail goto*//*Label 810*/ GIMT_Encode4(32096), // Rule ID 18161 //
12287 /* 32039 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
12288 /* 32042 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
12289 /* 32046 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
12290 /* 32050 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12291 /* 32054 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12292 /* 32058 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12293 /* 32061 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12294 /* 32065 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12295 /* 32069 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12296 /* 32071 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12297 /* 32078 */ // (or:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
12298 /* 32078 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
12299 /* 32081 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12300 /* 32083 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12301 /* 32085 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12302 /* 32089 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12303 /* 32094 */ GIR_RootConstrainSelectedInstOperands,
12304 /* 32095 */ // GIR_Coverage, 18161,
12305 /* 32095 */ GIR_EraseRootFromParent_Done,
12306 /* 32096 */ // Label 810: @32096
12307 /* 32096 */ GIM_Try, /*On fail goto*//*Label 811*/ GIMT_Encode4(32158), // Rule ID 20026 //
12308 /* 32101 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
12309 /* 32104 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
12310 /* 32108 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
12311 /* 32112 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12312 /* 32116 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12313 /* 32120 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12314 /* 32123 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12315 /* 32127 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12316 /* 32131 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12317 /* 32133 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12318 /* 32140 */ // (or:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
12319 /* 32140 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rm),
12320 /* 32143 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12321 /* 32145 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12322 /* 32147 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12323 /* 32151 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12324 /* 32156 */ GIR_RootConstrainSelectedInstOperands,
12325 /* 32157 */ // GIR_Coverage, 20026,
12326 /* 32157 */ GIR_EraseRootFromParent_Done,
12327 /* 32158 */ // Label 811: @32158
12328 /* 32158 */ GIM_Try, /*On fail goto*//*Label 812*/ GIMT_Encode4(32185), // Rule ID 18149 //
12329 /* 32163 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
12330 /* 32166 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
12331 /* 32170 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
12332 /* 32174 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
12333 /* 32178 */ // (or:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPORrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
12334 /* 32178 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORrr),
12335 /* 32183 */ GIR_RootConstrainSelectedInstOperands,
12336 /* 32184 */ // GIR_Coverage, 18149,
12337 /* 32184 */ GIR_Done,
12338 /* 32185 */ // Label 812: @32185
12339 /* 32185 */ GIM_Try, /*On fail goto*//*Label 813*/ GIMT_Encode4(32212), // Rule ID 18173 //
12340 /* 32190 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
12341 /* 32193 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
12342 /* 32197 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
12343 /* 32201 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
12344 /* 32205 */ // (or:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PORrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
12345 /* 32205 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PORrr),
12346 /* 32210 */ GIR_RootConstrainSelectedInstOperands,
12347 /* 32211 */ // GIR_Coverage, 18173,
12348 /* 32211 */ GIR_Done,
12349 /* 32212 */ // Label 813: @32212
12350 /* 32212 */ GIM_Try, /*On fail goto*//*Label 814*/ GIMT_Encode4(32239), // Rule ID 20018 //
12351 /* 32217 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
12352 /* 32220 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
12353 /* 32224 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
12354 /* 32228 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
12355 /* 32232 */ // (or:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPORQZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
12356 /* 32232 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rr),
12357 /* 32237 */ GIR_RootConstrainSelectedInstOperands,
12358 /* 32238 */ // GIR_Coverage, 20018,
12359 /* 32238 */ GIR_Done,
12360 /* 32239 */ // Label 814: @32239
12361 /* 32239 */ GIM_Reject,
12362 /* 32240 */ // Label 807: @32240
12363 /* 32240 */ GIM_Reject,
12364 /* 32241 */ // Label 678: @32241
12365 /* 32241 */ GIM_Try, /*On fail goto*//*Label 815*/ GIMT_Encode4(32706),
12366 /* 32246 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
12367 /* 32249 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
12368 /* 32252 */ GIM_Try, /*On fail goto*//*Label 816*/ GIMT_Encode4(32314), // Rule ID 25234 //
12369 /* 32257 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
12370 /* 32260 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12371 /* 32264 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12372 /* 32268 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12373 /* 32272 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12374 /* 32275 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12375 /* 32279 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12376 /* 32283 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12377 /* 32287 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12378 /* 32289 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12379 /* 32296 */ // (or:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPORYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
12380 /* 32296 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
12381 /* 32299 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12382 /* 32301 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12383 /* 32303 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12384 /* 32307 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12385 /* 32312 */ GIR_RootConstrainSelectedInstOperands,
12386 /* 32313 */ // GIR_Coverage, 25234,
12387 /* 32313 */ GIR_EraseRootFromParent_Done,
12388 /* 32314 */ // Label 816: @32314
12389 /* 32314 */ GIM_Try, /*On fail goto*//*Label 817*/ GIMT_Encode4(32376), // Rule ID 25244 //
12390 /* 32319 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
12391 /* 32322 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12392 /* 32326 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12393 /* 32330 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12394 /* 32334 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12395 /* 32337 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12396 /* 32341 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12397 /* 32345 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12398 /* 32349 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12399 /* 32351 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12400 /* 32358 */ // (or:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VORPSYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
12401 /* 32358 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
12402 /* 32361 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12403 /* 32363 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12404 /* 32365 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12405 /* 32369 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12406 /* 32374 */ GIR_RootConstrainSelectedInstOperands,
12407 /* 32375 */ // GIR_Coverage, 25244,
12408 /* 32375 */ GIR_EraseRootFromParent_Done,
12409 /* 32376 */ // Label 817: @32376
12410 /* 32376 */ GIM_Try, /*On fail goto*//*Label 818*/ GIMT_Encode4(32438), // Rule ID 25441 //
12411 /* 32381 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
12412 /* 32384 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12413 /* 32388 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12414 /* 32392 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12415 /* 32396 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12416 /* 32399 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12417 /* 32403 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12418 /* 32407 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12419 /* 32411 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12420 /* 32413 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12421 /* 32420 */ // (or:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPORQZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
12422 /* 32420 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rm),
12423 /* 32423 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12424 /* 32425 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12425 /* 32427 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12426 /* 32431 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12427 /* 32436 */ GIR_RootConstrainSelectedInstOperands,
12428 /* 32437 */ // GIR_Coverage, 25441,
12429 /* 32437 */ GIR_EraseRootFromParent_Done,
12430 /* 32438 */ // Label 818: @32438
12431 /* 32438 */ GIM_Try, /*On fail goto*//*Label 819*/ GIMT_Encode4(32500), // Rule ID 18106 //
12432 /* 32443 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
12433 /* 32446 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12434 /* 32450 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12435 /* 32454 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12436 /* 32458 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12437 /* 32462 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12438 /* 32465 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12439 /* 32469 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12440 /* 32473 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12441 /* 32475 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12442 /* 32482 */ // (or:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
12443 /* 32482 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
12444 /* 32485 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12445 /* 32487 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12446 /* 32489 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12447 /* 32493 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12448 /* 32498 */ GIR_RootConstrainSelectedInstOperands,
12449 /* 32499 */ // GIR_Coverage, 18106,
12450 /* 32499 */ GIR_EraseRootFromParent_Done,
12451 /* 32500 */ // Label 819: @32500
12452 /* 32500 */ GIM_Try, /*On fail goto*//*Label 820*/ GIMT_Encode4(32562), // Rule ID 18135 //
12453 /* 32505 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
12454 /* 32508 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12455 /* 32512 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12456 /* 32516 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12457 /* 32520 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12458 /* 32524 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12459 /* 32527 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12460 /* 32531 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12461 /* 32535 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12462 /* 32537 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12463 /* 32544 */ // (or:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VORPSYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
12464 /* 32544 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
12465 /* 32547 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12466 /* 32549 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12467 /* 32551 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12468 /* 32555 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12469 /* 32560 */ GIR_RootConstrainSelectedInstOperands,
12470 /* 32561 */ // GIR_Coverage, 18135,
12471 /* 32561 */ GIR_EraseRootFromParent_Done,
12472 /* 32562 */ // Label 820: @32562
12473 /* 32562 */ GIM_Try, /*On fail goto*//*Label 821*/ GIMT_Encode4(32624), // Rule ID 20043 //
12474 /* 32567 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
12475 /* 32570 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12476 /* 32574 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12477 /* 32578 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12478 /* 32582 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12479 /* 32586 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12480 /* 32589 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12481 /* 32593 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12482 /* 32597 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12483 /* 32599 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12484 /* 32606 */ // (or:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
12485 /* 32606 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rm),
12486 /* 32609 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12487 /* 32611 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12488 /* 32613 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12489 /* 32617 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12490 /* 32622 */ GIR_RootConstrainSelectedInstOperands,
12491 /* 32623 */ // GIR_Coverage, 20043,
12492 /* 32623 */ GIR_EraseRootFromParent_Done,
12493 /* 32624 */ // Label 821: @32624
12494 /* 32624 */ GIM_Try, /*On fail goto*//*Label 822*/ GIMT_Encode4(32651), // Rule ID 18094 //
12495 /* 32629 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
12496 /* 32632 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12497 /* 32636 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12498 /* 32640 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12499 /* 32644 */ // (or:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPORYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
12500 /* 32644 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORYrr),
12501 /* 32649 */ GIR_RootConstrainSelectedInstOperands,
12502 /* 32650 */ // GIR_Coverage, 18094,
12503 /* 32650 */ GIR_Done,
12504 /* 32651 */ // Label 822: @32651
12505 /* 32651 */ GIM_Try, /*On fail goto*//*Label 823*/ GIMT_Encode4(32678), // Rule ID 18119 //
12506 /* 32656 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
12507 /* 32659 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12508 /* 32663 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12509 /* 32667 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12510 /* 32671 */ // (or:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VORPSYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
12511 /* 32671 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VORPSYrr),
12512 /* 32676 */ GIR_RootConstrainSelectedInstOperands,
12513 /* 32677 */ // GIR_Coverage, 18119,
12514 /* 32677 */ GIR_Done,
12515 /* 32678 */ // Label 823: @32678
12516 /* 32678 */ GIM_Try, /*On fail goto*//*Label 824*/ GIMT_Encode4(32705), // Rule ID 20035 //
12517 /* 32683 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
12518 /* 32686 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12519 /* 32690 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12520 /* 32694 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12521 /* 32698 */ // (or:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPORQZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
12522 /* 32698 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rr),
12523 /* 32703 */ GIR_RootConstrainSelectedInstOperands,
12524 /* 32704 */ // GIR_Coverage, 20035,
12525 /* 32704 */ GIR_Done,
12526 /* 32705 */ // Label 824: @32705
12527 /* 32705 */ GIM_Reject,
12528 /* 32706 */ // Label 815: @32706
12529 /* 32706 */ GIM_Reject,
12530 /* 32707 */ // Label 679: @32707
12531 /* 32707 */ GIM_Try, /*On fail goto*//*Label 825*/ GIMT_Encode4(32862),
12532 /* 32712 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
12533 /* 32715 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
12534 /* 32718 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12535 /* 32722 */ GIM_Try, /*On fail goto*//*Label 826*/ GIMT_Encode4(32780), // Rule ID 24191 //
12536 /* 32727 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
12537 /* 32730 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12538 /* 32734 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12539 /* 32738 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12540 /* 32741 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12541 /* 32745 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12542 /* 32749 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12543 /* 32753 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12544 /* 32755 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12545 /* 32762 */ // (or:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPORDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
12546 /* 32762 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORDZrm),
12547 /* 32765 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12548 /* 32767 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12549 /* 32769 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12550 /* 32773 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12551 /* 32778 */ GIR_RootConstrainSelectedInstOperands,
12552 /* 32779 */ // GIR_Coverage, 24191,
12553 /* 32779 */ GIR_EraseRootFromParent_Done,
12554 /* 32780 */ // Label 826: @32780
12555 /* 32780 */ GIM_Try, /*On fail goto*//*Label 827*/ GIMT_Encode4(32838), // Rule ID 5770 //
12556 /* 32785 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
12557 /* 32788 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12558 /* 32792 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12559 /* 32796 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12560 /* 32800 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12561 /* 32803 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12562 /* 32807 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12563 /* 32811 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12564 /* 32813 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12565 /* 32820 */ // (or:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
12566 /* 32820 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORDZrm),
12567 /* 32823 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12568 /* 32825 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12569 /* 32827 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12570 /* 32831 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12571 /* 32836 */ GIR_RootConstrainSelectedInstOperands,
12572 /* 32837 */ // GIR_Coverage, 5770,
12573 /* 32837 */ GIR_EraseRootFromParent_Done,
12574 /* 32838 */ // Label 827: @32838
12575 /* 32838 */ GIM_Try, /*On fail goto*//*Label 828*/ GIMT_Encode4(32861), // Rule ID 5767 //
12576 /* 32843 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
12577 /* 32846 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12578 /* 32850 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12579 /* 32854 */ // (or:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPORDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
12580 /* 32854 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORDZrr),
12581 /* 32859 */ GIR_RootConstrainSelectedInstOperands,
12582 /* 32860 */ // GIR_Coverage, 5767,
12583 /* 32860 */ GIR_Done,
12584 /* 32861 */ // Label 828: @32861
12585 /* 32861 */ GIM_Reject,
12586 /* 32862 */ // Label 825: @32862
12587 /* 32862 */ GIM_Reject,
12588 /* 32863 */ // Label 680: @32863
12589 /* 32863 */ GIM_Try, /*On fail goto*//*Label 829*/ GIMT_Encode4(32896), // Rule ID 4421 //
12590 /* 32868 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
12591 /* 32871 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
12592 /* 32874 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s1,
12593 /* 32877 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
12594 /* 32881 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
12595 /* 32885 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
12596 /* 32889 */ // (or:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2) => (KORDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
12597 /* 32889 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KORDkk),
12598 /* 32894 */ GIR_RootConstrainSelectedInstOperands,
12599 /* 32895 */ // GIR_Coverage, 4421,
12600 /* 32895 */ GIR_Done,
12601 /* 32896 */ // Label 829: @32896
12602 /* 32896 */ GIM_Reject,
12603 /* 32897 */ // Label 681: @32897
12604 /* 32897 */ GIM_Try, /*On fail goto*//*Label 830*/ GIMT_Encode4(33362),
12605 /* 32902 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
12606 /* 32905 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
12607 /* 32908 */ GIM_Try, /*On fail goto*//*Label 831*/ GIMT_Encode4(32970), // Rule ID 25233 //
12608 /* 32913 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
12609 /* 32916 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12610 /* 32920 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12611 /* 32924 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12612 /* 32928 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12613 /* 32931 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12614 /* 32935 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12615 /* 32939 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12616 /* 32943 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12617 /* 32945 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12618 /* 32952 */ // (or:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPORYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
12619 /* 32952 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
12620 /* 32955 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12621 /* 32957 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12622 /* 32959 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12623 /* 32963 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12624 /* 32968 */ GIR_RootConstrainSelectedInstOperands,
12625 /* 32969 */ // GIR_Coverage, 25233,
12626 /* 32969 */ GIR_EraseRootFromParent_Done,
12627 /* 32970 */ // Label 831: @32970
12628 /* 32970 */ GIM_Try, /*On fail goto*//*Label 832*/ GIMT_Encode4(33032), // Rule ID 25243 //
12629 /* 32975 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
12630 /* 32978 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12631 /* 32982 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12632 /* 32986 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12633 /* 32990 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12634 /* 32993 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12635 /* 32997 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12636 /* 33001 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12637 /* 33005 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12638 /* 33007 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12639 /* 33014 */ // (or:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VORPSYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
12640 /* 33014 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
12641 /* 33017 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12642 /* 33019 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12643 /* 33021 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12644 /* 33025 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12645 /* 33030 */ GIR_RootConstrainSelectedInstOperands,
12646 /* 33031 */ // GIR_Coverage, 25243,
12647 /* 33031 */ GIR_EraseRootFromParent_Done,
12648 /* 33032 */ // Label 832: @33032
12649 /* 33032 */ GIM_Try, /*On fail goto*//*Label 833*/ GIMT_Encode4(33094), // Rule ID 25440 //
12650 /* 33037 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
12651 /* 33040 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12652 /* 33044 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12653 /* 33048 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12654 /* 33052 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12655 /* 33055 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12656 /* 33059 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12657 /* 33063 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12658 /* 33067 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12659 /* 33069 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12660 /* 33076 */ // (or:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPORQZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
12661 /* 33076 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rm),
12662 /* 33079 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12663 /* 33081 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12664 /* 33083 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12665 /* 33087 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12666 /* 33092 */ GIR_RootConstrainSelectedInstOperands,
12667 /* 33093 */ // GIR_Coverage, 25440,
12668 /* 33093 */ GIR_EraseRootFromParent_Done,
12669 /* 33094 */ // Label 833: @33094
12670 /* 33094 */ GIM_Try, /*On fail goto*//*Label 834*/ GIMT_Encode4(33156), // Rule ID 18105 //
12671 /* 33099 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
12672 /* 33102 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12673 /* 33106 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12674 /* 33110 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12675 /* 33114 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12676 /* 33118 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12677 /* 33121 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12678 /* 33125 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12679 /* 33129 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12680 /* 33131 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12681 /* 33138 */ // (or:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
12682 /* 33138 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
12683 /* 33141 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12684 /* 33143 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12685 /* 33145 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12686 /* 33149 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12687 /* 33154 */ GIR_RootConstrainSelectedInstOperands,
12688 /* 33155 */ // GIR_Coverage, 18105,
12689 /* 33155 */ GIR_EraseRootFromParent_Done,
12690 /* 33156 */ // Label 834: @33156
12691 /* 33156 */ GIM_Try, /*On fail goto*//*Label 835*/ GIMT_Encode4(33218), // Rule ID 18134 //
12692 /* 33161 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
12693 /* 33164 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12694 /* 33168 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12695 /* 33172 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12696 /* 33176 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12697 /* 33180 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12698 /* 33183 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12699 /* 33187 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12700 /* 33191 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12701 /* 33193 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12702 /* 33200 */ // (or:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VORPSYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
12703 /* 33200 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
12704 /* 33203 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12705 /* 33205 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12706 /* 33207 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12707 /* 33211 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12708 /* 33216 */ GIR_RootConstrainSelectedInstOperands,
12709 /* 33217 */ // GIR_Coverage, 18134,
12710 /* 33217 */ GIR_EraseRootFromParent_Done,
12711 /* 33218 */ // Label 835: @33218
12712 /* 33218 */ GIM_Try, /*On fail goto*//*Label 836*/ GIMT_Encode4(33280), // Rule ID 20042 //
12713 /* 33223 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
12714 /* 33226 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12715 /* 33230 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12716 /* 33234 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12717 /* 33238 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12718 /* 33242 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12719 /* 33245 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12720 /* 33249 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12721 /* 33253 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12722 /* 33255 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12723 /* 33262 */ // (or:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
12724 /* 33262 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rm),
12725 /* 33265 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12726 /* 33267 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12727 /* 33269 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12728 /* 33273 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12729 /* 33278 */ GIR_RootConstrainSelectedInstOperands,
12730 /* 33279 */ // GIR_Coverage, 20042,
12731 /* 33279 */ GIR_EraseRootFromParent_Done,
12732 /* 33280 */ // Label 836: @33280
12733 /* 33280 */ GIM_Try, /*On fail goto*//*Label 837*/ GIMT_Encode4(33307), // Rule ID 18093 //
12734 /* 33285 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
12735 /* 33288 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12736 /* 33292 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12737 /* 33296 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12738 /* 33300 */ // (or:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPORYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
12739 /* 33300 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORYrr),
12740 /* 33305 */ GIR_RootConstrainSelectedInstOperands,
12741 /* 33306 */ // GIR_Coverage, 18093,
12742 /* 33306 */ GIR_Done,
12743 /* 33307 */ // Label 837: @33307
12744 /* 33307 */ GIM_Try, /*On fail goto*//*Label 838*/ GIMT_Encode4(33334), // Rule ID 18118 //
12745 /* 33312 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
12746 /* 33315 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12747 /* 33319 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12748 /* 33323 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12749 /* 33327 */ // (or:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VORPSYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
12750 /* 33327 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VORPSYrr),
12751 /* 33332 */ GIR_RootConstrainSelectedInstOperands,
12752 /* 33333 */ // GIR_Coverage, 18118,
12753 /* 33333 */ GIR_Done,
12754 /* 33334 */ // Label 838: @33334
12755 /* 33334 */ GIM_Try, /*On fail goto*//*Label 839*/ GIMT_Encode4(33361), // Rule ID 20034 //
12756 /* 33339 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
12757 /* 33342 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12758 /* 33346 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12759 /* 33350 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12760 /* 33354 */ // (or:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPORQZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
12761 /* 33354 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rr),
12762 /* 33359 */ GIR_RootConstrainSelectedInstOperands,
12763 /* 33360 */ // GIR_Coverage, 20034,
12764 /* 33360 */ GIR_Done,
12765 /* 33361 */ // Label 839: @33361
12766 /* 33361 */ GIM_Reject,
12767 /* 33362 */ // Label 830: @33362
12768 /* 33362 */ GIM_Reject,
12769 /* 33363 */ // Label 682: @33363
12770 /* 33363 */ GIM_Try, /*On fail goto*//*Label 840*/ GIMT_Encode4(33518),
12771 /* 33368 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
12772 /* 33371 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
12773 /* 33374 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12774 /* 33378 */ GIM_Try, /*On fail goto*//*Label 841*/ GIMT_Encode4(33436), // Rule ID 25447 //
12775 /* 33383 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
12776 /* 33386 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12777 /* 33390 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12778 /* 33394 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12779 /* 33397 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12780 /* 33401 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12781 /* 33405 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12782 /* 33409 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12783 /* 33411 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12784 /* 33418 */ // (or:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPORQZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
12785 /* 33418 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZrm),
12786 /* 33421 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12787 /* 33423 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12788 /* 33425 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12789 /* 33429 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12790 /* 33434 */ GIR_RootConstrainSelectedInstOperands,
12791 /* 33435 */ // GIR_Coverage, 25447,
12792 /* 33435 */ GIR_EraseRootFromParent_Done,
12793 /* 33436 */ // Label 841: @33436
12794 /* 33436 */ GIM_Try, /*On fail goto*//*Label 842*/ GIMT_Encode4(33494), // Rule ID 20059 //
12795 /* 33441 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
12796 /* 33444 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12797 /* 33448 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12798 /* 33452 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12799 /* 33456 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12800 /* 33459 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12801 /* 33463 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12802 /* 33467 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12803 /* 33469 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12804 /* 33476 */ // (or:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
12805 /* 33476 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZrm),
12806 /* 33479 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12807 /* 33481 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12808 /* 33483 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12809 /* 33487 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12810 /* 33492 */ GIR_RootConstrainSelectedInstOperands,
12811 /* 33493 */ // GIR_Coverage, 20059,
12812 /* 33493 */ GIR_EraseRootFromParent_Done,
12813 /* 33494 */ // Label 842: @33494
12814 /* 33494 */ GIM_Try, /*On fail goto*//*Label 843*/ GIMT_Encode4(33517), // Rule ID 20051 //
12815 /* 33499 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
12816 /* 33502 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12817 /* 33506 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12818 /* 33510 */ // (or:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPORQZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
12819 /* 33510 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZrr),
12820 /* 33515 */ GIR_RootConstrainSelectedInstOperands,
12821 /* 33516 */ // GIR_Coverage, 20051,
12822 /* 33516 */ GIR_Done,
12823 /* 33517 */ // Label 843: @33517
12824 /* 33517 */ GIM_Reject,
12825 /* 33518 */ // Label 840: @33518
12826 /* 33518 */ GIM_Reject,
12827 /* 33519 */ // Label 683: @33519
12828 /* 33519 */ GIM_Try, /*On fail goto*//*Label 844*/ GIMT_Encode4(33552), // Rule ID 4422 //
12829 /* 33524 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
12830 /* 33527 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
12831 /* 33530 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s1,
12832 /* 33533 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
12833 /* 33537 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
12834 /* 33541 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
12835 /* 33545 */ // (or:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2) => (KORQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
12836 /* 33545 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KORQkk),
12837 /* 33550 */ GIR_RootConstrainSelectedInstOperands,
12838 /* 33551 */ // GIR_Coverage, 4422,
12839 /* 33551 */ GIR_Done,
12840 /* 33552 */ // Label 844: @33552
12841 /* 33552 */ GIM_Reject,
12842 /* 33553 */ // Label 684: @33553
12843 /* 33553 */ GIM_Try, /*On fail goto*//*Label 845*/ GIMT_Encode4(33708),
12844 /* 33558 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
12845 /* 33561 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
12846 /* 33564 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12847 /* 33568 */ GIM_Try, /*On fail goto*//*Label 846*/ GIMT_Encode4(33626), // Rule ID 25446 //
12848 /* 33573 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
12849 /* 33576 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12850 /* 33580 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12851 /* 33584 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12852 /* 33587 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12853 /* 33591 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12854 /* 33595 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12855 /* 33599 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12856 /* 33601 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12857 /* 33608 */ // (or:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPORQZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
12858 /* 33608 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZrm),
12859 /* 33611 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12860 /* 33613 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12861 /* 33615 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12862 /* 33619 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12863 /* 33624 */ GIR_RootConstrainSelectedInstOperands,
12864 /* 33625 */ // GIR_Coverage, 25446,
12865 /* 33625 */ GIR_EraseRootFromParent_Done,
12866 /* 33626 */ // Label 846: @33626
12867 /* 33626 */ GIM_Try, /*On fail goto*//*Label 847*/ GIMT_Encode4(33684), // Rule ID 20058 //
12868 /* 33631 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
12869 /* 33634 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12870 /* 33638 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12871 /* 33642 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12872 /* 33646 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12873 /* 33649 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12874 /* 33653 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12875 /* 33657 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12876 /* 33659 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12877 /* 33666 */ // (or:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
12878 /* 33666 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZrm),
12879 /* 33669 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12880 /* 33671 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12881 /* 33673 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12882 /* 33677 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12883 /* 33682 */ GIR_RootConstrainSelectedInstOperands,
12884 /* 33683 */ // GIR_Coverage, 20058,
12885 /* 33683 */ GIR_EraseRootFromParent_Done,
12886 /* 33684 */ // Label 847: @33684
12887 /* 33684 */ GIM_Try, /*On fail goto*//*Label 848*/ GIMT_Encode4(33707), // Rule ID 20050 //
12888 /* 33689 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
12889 /* 33692 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12890 /* 33696 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12891 /* 33700 */ // (or:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPORQZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
12892 /* 33700 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZrr),
12893 /* 33705 */ GIR_RootConstrainSelectedInstOperands,
12894 /* 33706 */ // GIR_Coverage, 20050,
12895 /* 33706 */ GIR_Done,
12896 /* 33707 */ // Label 848: @33707
12897 /* 33707 */ GIM_Reject,
12898 /* 33708 */ // Label 845: @33708
12899 /* 33708 */ GIM_Reject,
12900 /* 33709 */ // Label 685: @33709
12901 /* 33709 */ GIM_Reject,
12902 /* 33710 */ // Label 5: @33710
12903 /* 33710 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(25), /*)*//*default:*//*Label 872*/ GIMT_Encode4(46410),
12904 /* 33721 */ /*GILLT_s1*//*Label 849*/ GIMT_Encode4(33821),
12905 /* 33725 */ /*GILLT_s8*//*Label 850*/ GIMT_Encode4(34379),
12906 /* 33729 */ /*GILLT_s16*//*Label 851*/ GIMT_Encode4(34906),
12907 /* 33733 */ /*GILLT_s32*//*Label 852*/ GIMT_Encode4(35651),
12908 /* 33737 */ /*GILLT_s64*//*Label 853*/ GIMT_Encode4(36599), GIMT_Encode4(0), GIMT_Encode4(0),
12909 /* 33749 */ /*GILLT_v2s1*//*Label 854*/ GIMT_Encode4(37506),
12910 /* 33753 */ /*GILLT_v2s64*//*Label 855*/ GIMT_Encode4(38048),
12911 /* 33757 */ /*GILLT_v4s1*//*Label 856*/ GIMT_Encode4(38668),
12912 /* 33761 */ /*GILLT_v4s32*//*Label 857*/ GIMT_Encode4(39210),
12913 /* 33765 */ /*GILLT_v4s64*//*Label 858*/ GIMT_Encode4(39830),
12914 /* 33769 */ /*GILLT_v8s1*//*Label 859*/ GIMT_Encode4(40574),
12915 /* 33773 */ /*GILLT_v8s16*//*Label 860*/ GIMT_Encode4(41372),
12916 /* 33777 */ /*GILLT_v8s32*//*Label 861*/ GIMT_Encode4(41992),
12917 /* 33781 */ /*GILLT_v8s64*//*Label 862*/ GIMT_Encode4(42736),
12918 /* 33785 */ /*GILLT_v16s1*//*Label 863*/ GIMT_Encode4(42934),
12919 /* 33789 */ /*GILLT_v16s8*//*Label 864*/ GIMT_Encode4(43192),
12920 /* 33793 */ /*GILLT_v16s16*//*Label 865*/ GIMT_Encode4(43812),
12921 /* 33797 */ /*GILLT_v16s32*//*Label 866*/ GIMT_Encode4(44556),
12922 /* 33801 */ /*GILLT_v32s1*//*Label 867*/ GIMT_Encode4(44754),
12923 /* 33805 */ /*GILLT_v32s8*//*Label 868*/ GIMT_Encode4(45012),
12924 /* 33809 */ /*GILLT_v32s16*//*Label 869*/ GIMT_Encode4(45756),
12925 /* 33813 */ /*GILLT_v64s1*//*Label 870*/ GIMT_Encode4(45954),
12926 /* 33817 */ /*GILLT_v64s8*//*Label 871*/ GIMT_Encode4(46212),
12927 /* 33821 */ // Label 849: @33821
12928 /* 33821 */ GIM_Try, /*On fail goto*//*Label 873*/ GIMT_Encode4(34378),
12929 /* 33826 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s1,
12930 /* 33829 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s1,
12931 /* 33832 */ GIM_Try, /*On fail goto*//*Label 874*/ GIMT_Encode4(33956), // Rule ID 25372 //
12932 /* 33837 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12933 /* 33841 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12934 /* 33845 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
12935 /* 33849 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s1,
12936 /* 33853 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s1,
12937 /* 33857 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12938 /* 33862 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
12939 /* 33866 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
12940 /* 33872 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
12941 /* 33874 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12942 /* 33878 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
12943 /* 33880 */ // (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] })
12944 /* 33880 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
12945 /* 33883 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12946 /* 33887 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
12947 /* 33892 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
12948 /* 33896 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
12949 /* 33901 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
12950 /* 33904 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12951 /* 33908 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
12952 /* 33913 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
12953 /* 33917 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
12954 /* 33922 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
12955 /* 33925 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
12956 /* 33929 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
12957 /* 33934 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
12958 /* 33937 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
12959 /* 33940 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
12960 /* 33942 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12961 /* 33945 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12962 /* 33947 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
12963 /* 33950 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
12964 /* 33955 */ // GIR_Coverage, 25372,
12965 /* 33955 */ GIR_EraseRootFromParent_Done,
12966 /* 33956 */ // Label 874: @33956
12967 /* 33956 */ GIM_Try, /*On fail goto*//*Label 875*/ GIMT_Encode4(34081), // Rule ID 19496 //
12968 /* 33961 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12969 /* 33965 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12970 /* 33969 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
12971 /* 33973 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s1,
12972 /* 33977 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s1,
12973 /* 33981 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12974 /* 33986 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12975 /* 33991 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
12976 /* 33995 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
12977 /* 34001 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
12978 /* 34003 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
12979 /* 34005 */ // (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] })
12980 /* 34005 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
12981 /* 34008 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12982 /* 34012 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
12983 /* 34017 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/1, /*OpIdx*/2, // src2
12984 /* 34021 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
12985 /* 34026 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
12986 /* 34029 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12987 /* 34033 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
12988 /* 34038 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
12989 /* 34042 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
12990 /* 34047 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
12991 /* 34050 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
12992 /* 34054 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
12993 /* 34059 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
12994 /* 34062 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
12995 /* 34065 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
12996 /* 34067 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12997 /* 34070 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12998 /* 34072 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
12999 /* 34075 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
13000 /* 34080 */ // GIR_Coverage, 19496,
13001 /* 34080 */ GIR_EraseRootFromParent_Done,
13002 /* 34081 */ // Label 875: @34081
13003 /* 34081 */ GIM_Try, /*On fail goto*//*Label 876*/ GIMT_Encode4(34205), // Rule ID 25373 //
13004 /* 34086 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
13005 /* 34090 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
13006 /* 34094 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13007 /* 34098 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13008 /* 34102 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s1,
13009 /* 34106 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s1,
13010 /* 34110 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
13011 /* 34115 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13012 /* 34119 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13013 /* 34125 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13014 /* 34127 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13015 /* 34129 */ // (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] })
13016 /* 34129 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13017 /* 34132 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13018 /* 34136 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
13019 /* 34141 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
13020 /* 34145 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13021 /* 34150 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13022 /* 34153 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13023 /* 34157 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
13024 /* 34162 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
13025 /* 34166 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13026 /* 34171 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13027 /* 34174 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13028 /* 34178 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
13029 /* 34183 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13030 /* 34186 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13031 /* 34189 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13032 /* 34191 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13033 /* 34194 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13034 /* 34196 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13035 /* 34199 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
13036 /* 34204 */ // GIR_Coverage, 25373,
13037 /* 34204 */ GIR_EraseRootFromParent_Done,
13038 /* 34205 */ // Label 876: @34205
13039 /* 34205 */ GIM_Try, /*On fail goto*//*Label 877*/ GIMT_Encode4(34284), // Rule ID 19482 //
13040 /* 34210 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
13041 /* 34214 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
13042 /* 34218 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13043 /* 34222 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13044 /* 34228 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
13045 /* 34230 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13046 /* 34232 */ // (xor:{ *:[v1i1] } VK1:{ *:[v1i1] }:$src, immAllOnesV:{ *:[v1i1] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } (KNOTWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK1:{ *:[v1i1] }:$src, VK16:{ *:[i32] })), VK2:{ *:[i32] })
13047 /* 34232 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13048 /* 34235 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13049 /* 34239 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
13050 /* 34244 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
13051 /* 34248 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13052 /* 34253 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13053 /* 34256 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
13054 /* 34260 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
13055 /* 34265 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13056 /* 34268 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13057 /* 34270 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13058 /* 34273 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13059 /* 34275 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13060 /* 34278 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
13061 /* 34283 */ // GIR_Coverage, 19482,
13062 /* 34283 */ GIR_EraseRootFromParent_Done,
13063 /* 34284 */ // Label 877: @34284
13064 /* 34284 */ GIM_Try, /*On fail goto*//*Label 878*/ GIMT_Encode4(34377), // Rule ID 19500 //
13065 /* 34289 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
13066 /* 34293 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
13067 /* 34297 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
13068 /* 34301 */ // (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] })
13069 /* 34301 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13070 /* 34304 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13071 /* 34308 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
13072 /* 34313 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
13073 /* 34317 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13074 /* 34322 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13075 /* 34325 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13076 /* 34329 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
13077 /* 34334 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
13078 /* 34338 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13079 /* 34343 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13080 /* 34346 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXORWkk),
13081 /* 34350 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
13082 /* 34355 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13083 /* 34358 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13084 /* 34361 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13085 /* 34363 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13086 /* 34366 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13087 /* 34368 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13088 /* 34371 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
13089 /* 34376 */ // GIR_Coverage, 19500,
13090 /* 34376 */ GIR_EraseRootFromParent_Done,
13091 /* 34377 */ // Label 878: @34377
13092 /* 34377 */ GIM_Reject,
13093 /* 34378 */ // Label 873: @34378
13094 /* 34378 */ GIM_Reject,
13095 /* 34379 */ // Label 850: @34379
13096 /* 34379 */ GIM_Try, /*On fail goto*//*Label 879*/ GIMT_Encode4(34905),
13097 /* 34384 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
13098 /* 34387 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
13099 /* 34390 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13100 /* 34394 */ GIM_Try, /*On fail goto*//*Label 880*/ GIMT_Encode4(34450), // Rule ID 273 //
13101 /* 34399 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
13102 /* 34402 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13103 /* 34406 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13104 /* 34410 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13105 /* 34413 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13106 /* 34417 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
13107 /* 34421 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, uint8_t(-1),
13108 /* 34425 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13109 /* 34427 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13110 /* 34434 */ // (xor:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, -1:{ *:[i8] }) => (NOT8m_ND:{ *:[i8] } addr:{ *:[iPTR] }:$src1)
13111 /* 34434 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT8m_ND),
13112 /* 34437 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13113 /* 34439 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
13114 /* 34443 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13115 /* 34448 */ GIR_RootConstrainSelectedInstOperands,
13116 /* 34449 */ // GIR_Coverage, 273,
13117 /* 34449 */ GIR_EraseRootFromParent_Done,
13118 /* 34450 */ // Label 880: @34450
13119 /* 34450 */ GIM_Try, /*On fail goto*//*Label 881*/ GIMT_Encode4(34511), // Rule ID 26065 //
13120 /* 34455 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13121 /* 34458 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13122 /* 34462 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13123 /* 34466 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13124 /* 34469 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13125 /* 34473 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
13126 /* 34477 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13127 /* 34481 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13128 /* 34483 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13129 /* 34490 */ // (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)
13130 /* 34490 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8rm),
13131 /* 34493 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13132 /* 34495 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
13133 /* 34497 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13134 /* 34501 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13135 /* 34504 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13136 /* 34509 */ GIR_RootConstrainSelectedInstOperands,
13137 /* 34510 */ // GIR_Coverage, 26065,
13138 /* 34510 */ GIR_EraseRootFromParent_Done,
13139 /* 34511 */ // Label 881: @34511
13140 /* 34511 */ GIM_Try, /*On fail goto*//*Label 882*/ GIMT_Encode4(34572), // Rule ID 26084 //
13141 /* 34516 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
13142 /* 34519 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13143 /* 34523 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13144 /* 34527 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13145 /* 34530 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13146 /* 34534 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
13147 /* 34538 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13148 /* 34542 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13149 /* 34544 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13150 /* 34551 */ // (xor:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, GR8:{ *:[i8] }:$src1) => (XOR8rm_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, addr:{ *:[iPTR] }:$src2)
13151 /* 34551 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8rm_ND),
13152 /* 34554 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13153 /* 34556 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
13154 /* 34558 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13155 /* 34562 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13156 /* 34565 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13157 /* 34570 */ GIR_RootConstrainSelectedInstOperands,
13158 /* 34571 */ // GIR_Coverage, 26084,
13159 /* 34571 */ GIR_EraseRootFromParent_Done,
13160 /* 34572 */ // Label 882: @34572
13161 /* 34572 */ GIM_Try, /*On fail goto*//*Label 883*/ GIMT_Encode4(34633), // Rule ID 22842 //
13162 /* 34577 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13163 /* 34580 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13164 /* 34584 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13165 /* 34588 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13166 /* 34592 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13167 /* 34595 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13168 /* 34599 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
13169 /* 34603 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13170 /* 34605 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13171 /* 34612 */ // (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)
13172 /* 34612 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8rm),
13173 /* 34615 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13174 /* 34617 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13175 /* 34619 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13176 /* 34623 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13177 /* 34626 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13178 /* 34631 */ GIR_RootConstrainSelectedInstOperands,
13179 /* 34632 */ // GIR_Coverage, 22842,
13180 /* 34632 */ GIR_EraseRootFromParent_Done,
13181 /* 34633 */ // Label 883: @34633
13182 /* 34633 */ GIM_Try, /*On fail goto*//*Label 884*/ GIMT_Encode4(34694), // Rule ID 22932 //
13183 /* 34638 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
13184 /* 34641 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13185 /* 34645 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13186 /* 34649 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13187 /* 34653 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13188 /* 34656 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13189 /* 34660 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
13190 /* 34664 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13191 /* 34666 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13192 /* 34673 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>) => (XOR8rm_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, addr:{ *:[iPTR] }:$src2)
13193 /* 34673 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8rm_ND),
13194 /* 34676 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13195 /* 34678 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13196 /* 34680 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13197 /* 34684 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13198 /* 34687 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13199 /* 34692 */ GIR_RootConstrainSelectedInstOperands,
13200 /* 34693 */ // GIR_Coverage, 22932,
13201 /* 34693 */ GIR_EraseRootFromParent_Done,
13202 /* 34694 */ // Label 884: @34694
13203 /* 34694 */ GIM_Try, /*On fail goto*//*Label 885*/ GIMT_Encode4(34722), // Rule ID 22599 //
13204 /* 34699 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13205 /* 34703 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, uint8_t(-128),
13206 /* 34707 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, -128:{ *:[i8] }) => (ADD8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, -128:{ *:[i8] })
13207 /* 34707 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8ri),
13208 /* 34710 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13209 /* 34712 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13210 /* 34714 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/uint8_t(-128),
13211 /* 34717 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13212 /* 34720 */ GIR_RootConstrainSelectedInstOperands,
13213 /* 34721 */ // GIR_Coverage, 22599,
13214 /* 34721 */ GIR_EraseRootFromParent_Done,
13215 /* 34722 */ // Label 885: @34722
13216 /* 34722 */ GIM_Try, /*On fail goto*//*Label 886*/ GIMT_Encode4(34747), // Rule ID 245 //
13217 /* 34727 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13218 /* 34730 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13219 /* 34734 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, uint8_t(-1),
13220 /* 34738 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, -1:{ *:[i8] }) => (NOT8r:{ *:[i8] } GR8:{ *:[i8] }:$src1)
13221 /* 34738 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT8r),
13222 /* 34741 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13223 /* 34743 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13224 /* 34745 */ GIR_RootConstrainSelectedInstOperands,
13225 /* 34746 */ // GIR_Coverage, 245,
13226 /* 34746 */ GIR_EraseRootFromParent_Done,
13227 /* 34747 */ // Label 886: @34747
13228 /* 34747 */ GIM_Try, /*On fail goto*//*Label 887*/ GIMT_Encode4(34772), // Rule ID 253 //
13229 /* 34752 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
13230 /* 34755 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13231 /* 34759 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, uint8_t(-1),
13232 /* 34763 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, -1:{ *:[i8] }) => (NOT8r_ND:{ *:[i8] } GR8:{ *:[i8] }:$src1)
13233 /* 34763 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT8r_ND),
13234 /* 34766 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13235 /* 34768 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13236 /* 34770 */ GIR_RootConstrainSelectedInstOperands,
13237 /* 34771 */ // GIR_Coverage, 253,
13238 /* 34771 */ GIR_EraseRootFromParent_Done,
13239 /* 34772 */ // Label 887: @34772
13240 /* 34772 */ GIM_Try, /*On fail goto*//*Label 888*/ GIMT_Encode4(34809), // Rule ID 22846 //
13241 /* 34777 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13242 /* 34780 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13243 /* 34784 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13244 /* 34788 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
13245 /* 34792 */ // MIs[1] Operand 1
13246 /* 34792 */ // No operand predicates
13247 /* 34792 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13248 /* 34794 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (XOR8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
13249 /* 34794 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8ri),
13250 /* 34797 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13251 /* 34799 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13252 /* 34801 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
13253 /* 34804 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13254 /* 34807 */ GIR_RootConstrainSelectedInstOperands,
13255 /* 34808 */ // GIR_Coverage, 22846,
13256 /* 34808 */ GIR_EraseRootFromParent_Done,
13257 /* 34809 */ // Label 888: @34809
13258 /* 34809 */ GIM_Try, /*On fail goto*//*Label 889*/ GIMT_Encode4(34846), // Rule ID 22936 //
13259 /* 34814 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
13260 /* 34817 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13261 /* 34821 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13262 /* 34825 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
13263 /* 34829 */ // MIs[1] Operand 1
13264 /* 34829 */ // No operand predicates
13265 /* 34829 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13266 /* 34831 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (XOR8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
13267 /* 34831 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8ri_ND),
13268 /* 34834 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13269 /* 34836 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13270 /* 34838 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
13271 /* 34841 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13272 /* 34844 */ GIR_RootConstrainSelectedInstOperands,
13273 /* 34845 */ // GIR_Coverage, 22936,
13274 /* 34845 */ GIR_EraseRootFromParent_Done,
13275 /* 34846 */ // Label 889: @34846
13276 /* 34846 */ GIM_Try, /*On fail goto*//*Label 890*/ GIMT_Encode4(34875), // Rule ID 22838 //
13277 /* 34851 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13278 /* 34854 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13279 /* 34858 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13280 /* 34862 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (XOR8rr:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
13281 /* 34862 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR8rr),
13282 /* 34867 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
13283 /* 34873 */ GIR_RootConstrainSelectedInstOperands,
13284 /* 34874 */ // GIR_Coverage, 22838,
13285 /* 34874 */ GIR_Done,
13286 /* 34875 */ // Label 890: @34875
13287 /* 34875 */ GIM_Try, /*On fail goto*//*Label 891*/ GIMT_Encode4(34904), // Rule ID 22928 //
13288 /* 34880 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
13289 /* 34883 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13290 /* 34887 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13291 /* 34891 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (XOR8rr_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
13292 /* 34891 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR8rr_ND),
13293 /* 34896 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
13294 /* 34902 */ GIR_RootConstrainSelectedInstOperands,
13295 /* 34903 */ // GIR_Coverage, 22928,
13296 /* 34903 */ GIR_Done,
13297 /* 34904 */ // Label 891: @34904
13298 /* 34904 */ GIM_Reject,
13299 /* 34905 */ // Label 879: @34905
13300 /* 34905 */ GIM_Reject,
13301 /* 34906 */ // Label 851: @34906
13302 /* 34906 */ GIM_Try, /*On fail goto*//*Label 892*/ GIMT_Encode4(35650),
13303 /* 34911 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
13304 /* 34914 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
13305 /* 34917 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
13306 /* 34921 */ GIM_Try, /*On fail goto*//*Label 893*/ GIMT_Encode4(34977), // Rule ID 274 //
13307 /* 34926 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
13308 /* 34929 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13309 /* 34933 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13310 /* 34937 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13311 /* 34940 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13312 /* 34944 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
13313 /* 34948 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, uint8_t(-1),
13314 /* 34952 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13315 /* 34954 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13316 /* 34961 */ // (xor:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, -1:{ *:[i16] }) => (NOT16m_ND:{ *:[i16] } addr:{ *:[iPTR] }:$src1)
13317 /* 34961 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT16m_ND),
13318 /* 34964 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13319 /* 34966 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
13320 /* 34970 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13321 /* 34975 */ GIR_RootConstrainSelectedInstOperands,
13322 /* 34976 */ // GIR_Coverage, 274,
13323 /* 34976 */ GIR_EraseRootFromParent_Done,
13324 /* 34977 */ // Label 893: @34977
13325 /* 34977 */ GIM_Try, /*On fail goto*//*Label 894*/ GIMT_Encode4(35038), // Rule ID 26066 //
13326 /* 34982 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13327 /* 34985 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13328 /* 34989 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13329 /* 34993 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13330 /* 34996 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13331 /* 35000 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
13332 /* 35004 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
13333 /* 35008 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13334 /* 35010 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13335 /* 35017 */ // (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)
13336 /* 35017 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16rm),
13337 /* 35020 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13338 /* 35022 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
13339 /* 35024 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13340 /* 35028 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13341 /* 35031 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13342 /* 35036 */ GIR_RootConstrainSelectedInstOperands,
13343 /* 35037 */ // GIR_Coverage, 26066,
13344 /* 35037 */ GIR_EraseRootFromParent_Done,
13345 /* 35038 */ // Label 894: @35038
13346 /* 35038 */ GIM_Try, /*On fail goto*//*Label 895*/ GIMT_Encode4(35099), // Rule ID 26085 //
13347 /* 35043 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
13348 /* 35046 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13349 /* 35050 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13350 /* 35054 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13351 /* 35057 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13352 /* 35061 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
13353 /* 35065 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
13354 /* 35069 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13355 /* 35071 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13356 /* 35078 */ // (xor:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, GR16:{ *:[i16] }:$src1) => (XOR16rm_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, addr:{ *:[iPTR] }:$src2)
13357 /* 35078 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16rm_ND),
13358 /* 35081 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13359 /* 35083 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
13360 /* 35085 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13361 /* 35089 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13362 /* 35092 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13363 /* 35097 */ GIR_RootConstrainSelectedInstOperands,
13364 /* 35098 */ // GIR_Coverage, 26085,
13365 /* 35098 */ GIR_EraseRootFromParent_Done,
13366 /* 35099 */ // Label 895: @35099
13367 /* 35099 */ GIM_Try, /*On fail goto*//*Label 896*/ GIMT_Encode4(35160), // Rule ID 22843 //
13368 /* 35104 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13369 /* 35107 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
13370 /* 35111 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13371 /* 35115 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13372 /* 35119 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13373 /* 35122 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13374 /* 35126 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
13375 /* 35130 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13376 /* 35132 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13377 /* 35139 */ // (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)
13378 /* 35139 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16rm),
13379 /* 35142 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13380 /* 35144 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13381 /* 35146 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13382 /* 35150 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13383 /* 35153 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13384 /* 35158 */ GIR_RootConstrainSelectedInstOperands,
13385 /* 35159 */ // GIR_Coverage, 22843,
13386 /* 35159 */ GIR_EraseRootFromParent_Done,
13387 /* 35160 */ // Label 896: @35160
13388 /* 35160 */ GIM_Try, /*On fail goto*//*Label 897*/ GIMT_Encode4(35221), // Rule ID 22933 //
13389 /* 35165 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
13390 /* 35168 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
13391 /* 35172 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13392 /* 35176 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13393 /* 35180 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13394 /* 35183 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13395 /* 35187 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
13396 /* 35191 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13397 /* 35193 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13398 /* 35200 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (XOR16rm_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, addr:{ *:[iPTR] }:$src2)
13399 /* 35200 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16rm_ND),
13400 /* 35203 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13401 /* 35205 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13402 /* 35207 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13403 /* 35211 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13404 /* 35214 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13405 /* 35219 */ GIR_RootConstrainSelectedInstOperands,
13406 /* 35220 */ // GIR_Coverage, 22933,
13407 /* 35220 */ GIR_EraseRootFromParent_Done,
13408 /* 35221 */ // Label 897: @35221
13409 /* 35221 */ GIM_Try, /*On fail goto*//*Label 898*/ GIMT_Encode4(35263), // Rule ID 22600 //
13410 /* 35226 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
13411 /* 35230 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(-32768),
13412 /* 35241 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, -32768:{ *:[i16] }) => (ADD16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, -32768:{ *:[i16] })
13413 /* 35241 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16ri),
13414 /* 35244 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13415 /* 35246 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13416 /* 35248 */ GIR_AddImm, /*InsnID*/0, /*Imm*/GIMT_Encode8(-32768),
13417 /* 35258 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13418 /* 35261 */ GIR_RootConstrainSelectedInstOperands,
13419 /* 35262 */ // GIR_Coverage, 22600,
13420 /* 35262 */ GIR_EraseRootFromParent_Done,
13421 /* 35263 */ // Label 898: @35263
13422 /* 35263 */ GIM_Try, /*On fail goto*//*Label 899*/ GIMT_Encode4(35365), // Rule ID 26038 //
13423 /* 35268 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13424 /* 35272 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
13425 /* 35276 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
13426 /* 35280 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
13427 /* 35284 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
13428 /* 35288 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13429 /* 35293 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
13430 /* 35297 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13431 /* 35299 */ // (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] }))
13432 /* 35299 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s16,
13433 /* 35302 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
13434 /* 35306 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
13435 /* 35311 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
13436 /* 35313 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
13437 /* 35316 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
13438 /* 35320 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
13439 /* 35325 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13440 /* 35328 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
13441 /* 35332 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
13442 /* 35335 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
13443 /* 35340 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
13444 /* 35345 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
13445 /* 35350 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTC16rr),
13446 /* 35353 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13447 /* 35355 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
13448 /* 35357 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13449 /* 35360 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13450 /* 35363 */ GIR_RootConstrainSelectedInstOperands,
13451 /* 35364 */ // GIR_Coverage, 26038,
13452 /* 35364 */ GIR_EraseRootFromParent_Done,
13453 /* 35365 */ // Label 899: @35365
13454 /* 35365 */ GIM_Try, /*On fail goto*//*Label 900*/ GIMT_Encode4(35467), // Rule ID 22776 //
13455 /* 35370 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
13456 /* 35374 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13457 /* 35378 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
13458 /* 35382 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
13459 /* 35386 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
13460 /* 35390 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
13461 /* 35394 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13462 /* 35399 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13463 /* 35401 */ // (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] }))
13464 /* 35401 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s16,
13465 /* 35404 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
13466 /* 35408 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
13467 /* 35413 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
13468 /* 35415 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
13469 /* 35418 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
13470 /* 35422 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
13471 /* 35427 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13472 /* 35430 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
13473 /* 35434 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
13474 /* 35437 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
13475 /* 35442 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
13476 /* 35447 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
13477 /* 35452 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTC16rr),
13478 /* 35455 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13479 /* 35457 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13480 /* 35459 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13481 /* 35462 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13482 /* 35465 */ GIR_RootConstrainSelectedInstOperands,
13483 /* 35466 */ // GIR_Coverage, 22776,
13484 /* 35466 */ GIR_EraseRootFromParent_Done,
13485 /* 35467 */ // Label 900: @35467
13486 /* 35467 */ GIM_Try, /*On fail goto*//*Label 901*/ GIMT_Encode4(35492), // Rule ID 246 //
13487 /* 35472 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13488 /* 35475 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
13489 /* 35479 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, uint8_t(-1),
13490 /* 35483 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, -1:{ *:[i16] }) => (NOT16r:{ *:[i16] } GR16:{ *:[i16] }:$src1)
13491 /* 35483 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT16r),
13492 /* 35486 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13493 /* 35488 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13494 /* 35490 */ GIR_RootConstrainSelectedInstOperands,
13495 /* 35491 */ // GIR_Coverage, 246,
13496 /* 35491 */ GIR_EraseRootFromParent_Done,
13497 /* 35492 */ // Label 901: @35492
13498 /* 35492 */ GIM_Try, /*On fail goto*//*Label 902*/ GIMT_Encode4(35517), // Rule ID 254 //
13499 /* 35497 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
13500 /* 35500 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
13501 /* 35504 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, uint8_t(-1),
13502 /* 35508 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, -1:{ *:[i16] }) => (NOT16r_ND:{ *:[i16] } GR16:{ *:[i16] }:$src1)
13503 /* 35508 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT16r_ND),
13504 /* 35511 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13505 /* 35513 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13506 /* 35515 */ GIR_RootConstrainSelectedInstOperands,
13507 /* 35516 */ // GIR_Coverage, 254,
13508 /* 35516 */ GIR_EraseRootFromParent_Done,
13509 /* 35517 */ // Label 902: @35517
13510 /* 35517 */ GIM_Try, /*On fail goto*//*Label 903*/ GIMT_Encode4(35554), // Rule ID 22847 //
13511 /* 35522 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13512 /* 35525 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
13513 /* 35529 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13514 /* 35533 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
13515 /* 35537 */ // MIs[1] Operand 1
13516 /* 35537 */ // No operand predicates
13517 /* 35537 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13518 /* 35539 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (XOR16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
13519 /* 35539 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16ri),
13520 /* 35542 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13521 /* 35544 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13522 /* 35546 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
13523 /* 35549 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13524 /* 35552 */ GIR_RootConstrainSelectedInstOperands,
13525 /* 35553 */ // GIR_Coverage, 22847,
13526 /* 35553 */ GIR_EraseRootFromParent_Done,
13527 /* 35554 */ // Label 903: @35554
13528 /* 35554 */ GIM_Try, /*On fail goto*//*Label 904*/ GIMT_Encode4(35591), // Rule ID 22937 //
13529 /* 35559 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
13530 /* 35562 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
13531 /* 35566 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13532 /* 35570 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
13533 /* 35574 */ // MIs[1] Operand 1
13534 /* 35574 */ // No operand predicates
13535 /* 35574 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13536 /* 35576 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (XOR16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
13537 /* 35576 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16ri_ND),
13538 /* 35579 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13539 /* 35581 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13540 /* 35583 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
13541 /* 35586 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13542 /* 35589 */ GIR_RootConstrainSelectedInstOperands,
13543 /* 35590 */ // GIR_Coverage, 22937,
13544 /* 35590 */ GIR_EraseRootFromParent_Done,
13545 /* 35591 */ // Label 904: @35591
13546 /* 35591 */ GIM_Try, /*On fail goto*//*Label 905*/ GIMT_Encode4(35620), // Rule ID 22839 //
13547 /* 35596 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13548 /* 35599 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
13549 /* 35603 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
13550 /* 35607 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (XOR16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
13551 /* 35607 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR16rr),
13552 /* 35612 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
13553 /* 35618 */ GIR_RootConstrainSelectedInstOperands,
13554 /* 35619 */ // GIR_Coverage, 22839,
13555 /* 35619 */ GIR_Done,
13556 /* 35620 */ // Label 905: @35620
13557 /* 35620 */ GIM_Try, /*On fail goto*//*Label 906*/ GIMT_Encode4(35649), // Rule ID 22929 //
13558 /* 35625 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
13559 /* 35628 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
13560 /* 35632 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
13561 /* 35636 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (XOR16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
13562 /* 35636 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR16rr_ND),
13563 /* 35641 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
13564 /* 35647 */ GIR_RootConstrainSelectedInstOperands,
13565 /* 35648 */ // GIR_Coverage, 22929,
13566 /* 35648 */ GIR_Done,
13567 /* 35649 */ // Label 906: @35649
13568 /* 35649 */ GIM_Reject,
13569 /* 35650 */ // Label 892: @35650
13570 /* 35650 */ GIM_Reject,
13571 /* 35651 */ // Label 852: @35651
13572 /* 35651 */ GIM_Try, /*On fail goto*//*Label 907*/ GIMT_Encode4(36598),
13573 /* 35656 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
13574 /* 35659 */ GIM_Try, /*On fail goto*//*Label 908*/ GIMT_Encode4(35722), // Rule ID 275 //
13575 /* 35664 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
13576 /* 35667 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13577 /* 35670 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13578 /* 35674 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13579 /* 35678 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13580 /* 35682 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13581 /* 35685 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13582 /* 35689 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
13583 /* 35693 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, uint8_t(-1),
13584 /* 35697 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13585 /* 35699 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13586 /* 35706 */ // (xor:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, -1:{ *:[i32] }) => (NOT32m_ND:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
13587 /* 35706 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT32m_ND),
13588 /* 35709 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13589 /* 35711 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
13590 /* 35715 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13591 /* 35720 */ GIR_RootConstrainSelectedInstOperands,
13592 /* 35721 */ // GIR_Coverage, 275,
13593 /* 35721 */ GIR_EraseRootFromParent_Done,
13594 /* 35722 */ // Label 908: @35722
13595 /* 35722 */ GIM_Try, /*On fail goto*//*Label 909*/ GIMT_Encode4(35790), // Rule ID 26067 //
13596 /* 35727 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13597 /* 35730 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13598 /* 35733 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13599 /* 35737 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13600 /* 35741 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13601 /* 35745 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13602 /* 35748 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13603 /* 35752 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
13604 /* 35756 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13605 /* 35760 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13606 /* 35762 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13607 /* 35769 */ // (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)
13608 /* 35769 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32rm),
13609 /* 35772 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13610 /* 35774 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
13611 /* 35776 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13612 /* 35780 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13613 /* 35783 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13614 /* 35788 */ GIR_RootConstrainSelectedInstOperands,
13615 /* 35789 */ // GIR_Coverage, 26067,
13616 /* 35789 */ GIR_EraseRootFromParent_Done,
13617 /* 35790 */ // Label 909: @35790
13618 /* 35790 */ GIM_Try, /*On fail goto*//*Label 910*/ GIMT_Encode4(35858), // Rule ID 26086 //
13619 /* 35795 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
13620 /* 35798 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13621 /* 35801 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13622 /* 35805 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13623 /* 35809 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13624 /* 35813 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13625 /* 35816 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13626 /* 35820 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
13627 /* 35824 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13628 /* 35828 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13629 /* 35830 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13630 /* 35837 */ // (xor:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, GR32:{ *:[i32] }:$src1) => (XOR32rm_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
13631 /* 35837 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32rm_ND),
13632 /* 35840 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13633 /* 35842 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
13634 /* 35844 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13635 /* 35848 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13636 /* 35851 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13637 /* 35856 */ GIR_RootConstrainSelectedInstOperands,
13638 /* 35857 */ // GIR_Coverage, 26086,
13639 /* 35857 */ GIR_EraseRootFromParent_Done,
13640 /* 35858 */ // Label 910: @35858
13641 /* 35858 */ GIM_Try, /*On fail goto*//*Label 911*/ GIMT_Encode4(35926), // Rule ID 22844 //
13642 /* 35863 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13643 /* 35866 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13644 /* 35869 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13645 /* 35873 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13646 /* 35877 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13647 /* 35881 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13648 /* 35885 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13649 /* 35888 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13650 /* 35892 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
13651 /* 35896 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13652 /* 35898 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13653 /* 35905 */ // (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)
13654 /* 35905 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32rm),
13655 /* 35908 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13656 /* 35910 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13657 /* 35912 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13658 /* 35916 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13659 /* 35919 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13660 /* 35924 */ GIR_RootConstrainSelectedInstOperands,
13661 /* 35925 */ // GIR_Coverage, 22844,
13662 /* 35925 */ GIR_EraseRootFromParent_Done,
13663 /* 35926 */ // Label 911: @35926
13664 /* 35926 */ GIM_Try, /*On fail goto*//*Label 912*/ GIMT_Encode4(35994), // Rule ID 22934 //
13665 /* 35931 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
13666 /* 35934 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13667 /* 35937 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13668 /* 35941 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13669 /* 35945 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13670 /* 35949 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13671 /* 35953 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13672 /* 35956 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13673 /* 35960 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
13674 /* 35964 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13675 /* 35966 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13676 /* 35973 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (XOR32rm_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
13677 /* 35973 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32rm_ND),
13678 /* 35976 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13679 /* 35978 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13680 /* 35980 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13681 /* 35984 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13682 /* 35987 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13683 /* 35992 */ GIR_RootConstrainSelectedInstOperands,
13684 /* 35993 */ // GIR_Coverage, 22934,
13685 /* 35993 */ GIR_EraseRootFromParent_Done,
13686 /* 35994 */ // Label 912: @35994
13687 /* 35994 */ GIM_Try, /*On fail goto*//*Label 913*/ GIMT_Encode4(36043), // Rule ID 22601 //
13688 /* 35999 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13689 /* 36002 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13690 /* 36006 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13691 /* 36010 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(-2147483648),
13692 /* 36021 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -2147483648:{ *:[i32] }) => (ADD32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, -2147483648:{ *:[i32] })
13693 /* 36021 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32ri),
13694 /* 36024 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13695 /* 36026 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13696 /* 36028 */ GIR_AddImm, /*InsnID*/0, /*Imm*/GIMT_Encode8(-2147483648),
13697 /* 36038 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13698 /* 36041 */ GIR_RootConstrainSelectedInstOperands,
13699 /* 36042 */ // GIR_Coverage, 22601,
13700 /* 36042 */ GIR_EraseRootFromParent_Done,
13701 /* 36043 */ // Label 913: @36043
13702 /* 36043 */ GIM_Try, /*On fail goto*//*Label 914*/ GIMT_Encode4(36101), // Rule ID 24997 //
13703 /* 36048 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
13704 /* 36051 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13705 /* 36055 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13706 /* 36059 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
13707 /* 36063 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
13708 /* 36067 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
13709 /* 36071 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13710 /* 36076 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
13711 /* 36080 */ // MIs[0] src
13712 /* 36080 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
13713 /* 36085 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13714 /* 36087 */ // (xor:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), GR32:{ *:[i32] }:$src) => (BLCMSK32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
13715 /* 36087 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCMSK32rr),
13716 /* 36090 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13717 /* 36092 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
13718 /* 36096 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13719 /* 36099 */ GIR_RootConstrainSelectedInstOperands,
13720 /* 36100 */ // GIR_Coverage, 24997,
13721 /* 36100 */ GIR_EraseRootFromParent_Done,
13722 /* 36101 */ // Label 914: @36101
13723 /* 36101 */ GIM_Try, /*On fail goto*//*Label 915*/ GIMT_Encode4(36210), // Rule ID 26044 //
13724 /* 36106 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13725 /* 36109 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13726 /* 36113 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13727 /* 36117 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
13728 /* 36121 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
13729 /* 36125 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
13730 /* 36129 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
13731 /* 36133 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13732 /* 36138 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13733 /* 36142 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13734 /* 36144 */ // (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] }))
13735 /* 36144 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
13736 /* 36147 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
13737 /* 36151 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
13738 /* 36156 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
13739 /* 36158 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
13740 /* 36161 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
13741 /* 36165 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
13742 /* 36170 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13743 /* 36173 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
13744 /* 36177 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
13745 /* 36180 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
13746 /* 36185 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
13747 /* 36190 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
13748 /* 36195 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTC32rr),
13749 /* 36198 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13750 /* 36200 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
13751 /* 36202 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13752 /* 36205 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13753 /* 36208 */ GIR_RootConstrainSelectedInstOperands,
13754 /* 36209 */ // GIR_Coverage, 26044,
13755 /* 36209 */ GIR_EraseRootFromParent_Done,
13756 /* 36210 */ // Label 915: @36210
13757 /* 36210 */ GIM_Try, /*On fail goto*//*Label 916*/ GIMT_Encode4(36264), // Rule ID 17358 //
13758 /* 36215 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
13759 /* 36218 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13760 /* 36221 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13761 /* 36225 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13762 /* 36229 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13763 /* 36233 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
13764 /* 36237 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
13765 /* 36241 */ // MIs[1] src
13766 /* 36241 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
13767 /* 36246 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
13768 /* 36250 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13769 /* 36252 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] })) => (BLCMSK32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
13770 /* 36252 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCMSK32rr),
13771 /* 36255 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13772 /* 36257 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
13773 /* 36259 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13774 /* 36262 */ GIR_RootConstrainSelectedInstOperands,
13775 /* 36263 */ // GIR_Coverage, 17358,
13776 /* 36263 */ GIR_EraseRootFromParent_Done,
13777 /* 36264 */ // Label 916: @36264
13778 /* 36264 */ GIM_Try, /*On fail goto*//*Label 917*/ GIMT_Encode4(36373), // Rule ID 22782 //
13779 /* 36269 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13780 /* 36272 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13781 /* 36276 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13782 /* 36280 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13783 /* 36284 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
13784 /* 36288 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
13785 /* 36292 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
13786 /* 36296 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
13787 /* 36300 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13788 /* 36305 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13789 /* 36307 */ // (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] }))
13790 /* 36307 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
13791 /* 36310 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
13792 /* 36314 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
13793 /* 36319 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
13794 /* 36321 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
13795 /* 36324 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
13796 /* 36328 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
13797 /* 36333 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13798 /* 36336 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
13799 /* 36340 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
13800 /* 36343 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
13801 /* 36348 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
13802 /* 36353 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
13803 /* 36358 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTC32rr),
13804 /* 36361 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13805 /* 36363 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13806 /* 36365 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13807 /* 36368 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13808 /* 36371 */ GIR_RootConstrainSelectedInstOperands,
13809 /* 36372 */ // GIR_Coverage, 22782,
13810 /* 36372 */ GIR_EraseRootFromParent_Done,
13811 /* 36373 */ // Label 917: @36373
13812 /* 36373 */ GIM_Try, /*On fail goto*//*Label 918*/ GIMT_Encode4(36405), // Rule ID 247 //
13813 /* 36378 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13814 /* 36381 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13815 /* 36384 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13816 /* 36388 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13817 /* 36392 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, uint8_t(-1),
13818 /* 36396 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -1:{ *:[i32] }) => (NOT32r:{ *:[i32] } GR32:{ *:[i32] }:$src1)
13819 /* 36396 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT32r),
13820 /* 36399 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13821 /* 36401 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13822 /* 36403 */ GIR_RootConstrainSelectedInstOperands,
13823 /* 36404 */ // GIR_Coverage, 247,
13824 /* 36404 */ GIR_EraseRootFromParent_Done,
13825 /* 36405 */ // Label 918: @36405
13826 /* 36405 */ GIM_Try, /*On fail goto*//*Label 919*/ GIMT_Encode4(36437), // Rule ID 255 //
13827 /* 36410 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
13828 /* 36413 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13829 /* 36416 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13830 /* 36420 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13831 /* 36424 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, uint8_t(-1),
13832 /* 36428 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -1:{ *:[i32] }) => (NOT32r_ND:{ *:[i32] } GR32:{ *:[i32] }:$src1)
13833 /* 36428 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT32r_ND),
13834 /* 36431 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13835 /* 36433 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13836 /* 36435 */ GIR_RootConstrainSelectedInstOperands,
13837 /* 36436 */ // GIR_Coverage, 255,
13838 /* 36436 */ GIR_EraseRootFromParent_Done,
13839 /* 36437 */ // Label 919: @36437
13840 /* 36437 */ GIM_Try, /*On fail goto*//*Label 920*/ GIMT_Encode4(36481), // Rule ID 22848 //
13841 /* 36442 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13842 /* 36445 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13843 /* 36448 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13844 /* 36452 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13845 /* 36456 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13846 /* 36460 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
13847 /* 36464 */ // MIs[1] Operand 1
13848 /* 36464 */ // No operand predicates
13849 /* 36464 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13850 /* 36466 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (XOR32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
13851 /* 36466 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32ri),
13852 /* 36469 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13853 /* 36471 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13854 /* 36473 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
13855 /* 36476 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13856 /* 36479 */ GIR_RootConstrainSelectedInstOperands,
13857 /* 36480 */ // GIR_Coverage, 22848,
13858 /* 36480 */ GIR_EraseRootFromParent_Done,
13859 /* 36481 */ // Label 920: @36481
13860 /* 36481 */ GIM_Try, /*On fail goto*//*Label 921*/ GIMT_Encode4(36525), // Rule ID 22938 //
13861 /* 36486 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
13862 /* 36489 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13863 /* 36492 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13864 /* 36496 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13865 /* 36500 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13866 /* 36504 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
13867 /* 36508 */ // MIs[1] Operand 1
13868 /* 36508 */ // No operand predicates
13869 /* 36508 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13870 /* 36510 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (XOR32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
13871 /* 36510 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32ri_ND),
13872 /* 36513 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13873 /* 36515 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13874 /* 36517 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
13875 /* 36520 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13876 /* 36523 */ GIR_RootConstrainSelectedInstOperands,
13877 /* 36524 */ // GIR_Coverage, 22938,
13878 /* 36524 */ GIR_EraseRootFromParent_Done,
13879 /* 36525 */ // Label 921: @36525
13880 /* 36525 */ GIM_Try, /*On fail goto*//*Label 922*/ GIMT_Encode4(36561), // Rule ID 22840 //
13881 /* 36530 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13882 /* 36533 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13883 /* 36536 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13884 /* 36540 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13885 /* 36544 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13886 /* 36548 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (XOR32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
13887 /* 36548 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR32rr),
13888 /* 36553 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
13889 /* 36559 */ GIR_RootConstrainSelectedInstOperands,
13890 /* 36560 */ // GIR_Coverage, 22840,
13891 /* 36560 */ GIR_Done,
13892 /* 36561 */ // Label 922: @36561
13893 /* 36561 */ GIM_Try, /*On fail goto*//*Label 923*/ GIMT_Encode4(36597), // Rule ID 22930 //
13894 /* 36566 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
13895 /* 36569 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13896 /* 36572 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13897 /* 36576 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13898 /* 36580 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13899 /* 36584 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (XOR32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
13900 /* 36584 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR32rr_ND),
13901 /* 36589 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
13902 /* 36595 */ GIR_RootConstrainSelectedInstOperands,
13903 /* 36596 */ // GIR_Coverage, 22930,
13904 /* 36596 */ GIR_Done,
13905 /* 36597 */ // Label 923: @36597
13906 /* 36597 */ GIM_Reject,
13907 /* 36598 */ // Label 907: @36598
13908 /* 36598 */ GIM_Reject,
13909 /* 36599 */ // Label 853: @36599
13910 /* 36599 */ GIM_Try, /*On fail goto*//*Label 924*/ GIMT_Encode4(37505),
13911 /* 36604 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
13912 /* 36607 */ GIM_Try, /*On fail goto*//*Label 925*/ GIMT_Encode4(36670), // Rule ID 276 //
13913 /* 36612 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
13914 /* 36615 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
13915 /* 36618 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13916 /* 36622 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13917 /* 36626 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13918 /* 36630 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13919 /* 36633 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
13920 /* 36637 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13921 /* 36641 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, uint8_t(-1),
13922 /* 36645 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13923 /* 36647 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13924 /* 36654 */ // (xor:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, -1:{ *:[i64] }) => (NOT64m_ND:{ *:[i64] } addr:{ *:[iPTR] }:$src1)
13925 /* 36654 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT64m_ND),
13926 /* 36657 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13927 /* 36659 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
13928 /* 36663 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13929 /* 36668 */ GIR_RootConstrainSelectedInstOperands,
13930 /* 36669 */ // GIR_Coverage, 276,
13931 /* 36669 */ GIR_EraseRootFromParent_Done,
13932 /* 36670 */ // Label 925: @36670
13933 /* 36670 */ GIM_Try, /*On fail goto*//*Label 926*/ GIMT_Encode4(36738), // Rule ID 26068 //
13934 /* 36675 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13935 /* 36678 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
13936 /* 36681 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13937 /* 36685 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13938 /* 36689 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13939 /* 36693 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13940 /* 36696 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
13941 /* 36700 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13942 /* 36704 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13943 /* 36708 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13944 /* 36710 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13945 /* 36717 */ // (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)
13946 /* 36717 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64rm),
13947 /* 36720 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13948 /* 36722 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
13949 /* 36724 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13950 /* 36728 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13951 /* 36731 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13952 /* 36736 */ GIR_RootConstrainSelectedInstOperands,
13953 /* 36737 */ // GIR_Coverage, 26068,
13954 /* 36737 */ GIR_EraseRootFromParent_Done,
13955 /* 36738 */ // Label 926: @36738
13956 /* 36738 */ GIM_Try, /*On fail goto*//*Label 927*/ GIMT_Encode4(36806), // Rule ID 26087 //
13957 /* 36743 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
13958 /* 36746 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
13959 /* 36749 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13960 /* 36753 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13961 /* 36757 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13962 /* 36761 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13963 /* 36764 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
13964 /* 36768 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13965 /* 36772 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13966 /* 36776 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13967 /* 36778 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13968 /* 36785 */ // (xor:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR64:{ *:[i64] }:$src1) => (XOR64rm_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
13969 /* 36785 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64rm_ND),
13970 /* 36788 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13971 /* 36790 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
13972 /* 36792 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13973 /* 36796 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13974 /* 36799 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13975 /* 36804 */ GIR_RootConstrainSelectedInstOperands,
13976 /* 36805 */ // GIR_Coverage, 26087,
13977 /* 36805 */ GIR_EraseRootFromParent_Done,
13978 /* 36806 */ // Label 927: @36806
13979 /* 36806 */ GIM_Try, /*On fail goto*//*Label 928*/ GIMT_Encode4(36874), // Rule ID 22845 //
13980 /* 36811 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13981 /* 36814 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
13982 /* 36817 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13983 /* 36821 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13984 /* 36825 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13985 /* 36829 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13986 /* 36833 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13987 /* 36836 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
13988 /* 36840 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13989 /* 36844 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13990 /* 36846 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13991 /* 36853 */ // (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)
13992 /* 36853 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64rm),
13993 /* 36856 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13994 /* 36858 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13995 /* 36860 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13996 /* 36864 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13997 /* 36867 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13998 /* 36872 */ GIR_RootConstrainSelectedInstOperands,
13999 /* 36873 */ // GIR_Coverage, 22845,
14000 /* 36873 */ GIR_EraseRootFromParent_Done,
14001 /* 36874 */ // Label 928: @36874
14002 /* 36874 */ GIM_Try, /*On fail goto*//*Label 929*/ GIMT_Encode4(36942), // Rule ID 22935 //
14003 /* 36879 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
14004 /* 36882 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
14005 /* 36885 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14006 /* 36889 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14007 /* 36893 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14008 /* 36897 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14009 /* 36901 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14010 /* 36904 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14011 /* 36908 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14012 /* 36912 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14013 /* 36914 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14014 /* 36921 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (XOR64rm_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
14015 /* 36921 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64rm_ND),
14016 /* 36924 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14017 /* 36926 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14018 /* 36928 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14019 /* 36932 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
14020 /* 36935 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14021 /* 36940 */ GIR_RootConstrainSelectedInstOperands,
14022 /* 36941 */ // GIR_Coverage, 22935,
14023 /* 36941 */ GIR_EraseRootFromParent_Done,
14024 /* 36942 */ // Label 929: @36942
14025 /* 36942 */ GIM_Try, /*On fail goto*//*Label 930*/ GIMT_Encode4(37000), // Rule ID 24998 //
14026 /* 36947 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
14027 /* 36950 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14028 /* 36954 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14029 /* 36958 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
14030 /* 36962 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
14031 /* 36966 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
14032 /* 36970 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14033 /* 36975 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
14034 /* 36979 */ // MIs[0] src
14035 /* 36979 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
14036 /* 36984 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14037 /* 36986 */ // (xor:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), GR64:{ *:[i64] }:$src) => (BLCMSK64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
14038 /* 36986 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCMSK64rr),
14039 /* 36989 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14040 /* 36991 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
14041 /* 36995 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
14042 /* 36998 */ GIR_RootConstrainSelectedInstOperands,
14043 /* 36999 */ // GIR_Coverage, 24998,
14044 /* 36999 */ GIR_EraseRootFromParent_Done,
14045 /* 37000 */ // Label 930: @37000
14046 /* 37000 */ GIM_Try, /*On fail goto*//*Label 931*/ GIMT_Encode4(37109), // Rule ID 26050 //
14047 /* 37005 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
14048 /* 37008 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14049 /* 37012 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14050 /* 37016 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
14051 /* 37020 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
14052 /* 37024 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
14053 /* 37028 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
14054 /* 37032 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
14055 /* 37037 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14056 /* 37041 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14057 /* 37043 */ // (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] }))
14058 /* 37043 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
14059 /* 37046 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14060 /* 37050 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14061 /* 37055 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
14062 /* 37057 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
14063 /* 37060 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14064 /* 37064 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14065 /* 37069 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14066 /* 37072 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
14067 /* 37076 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
14068 /* 37079 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
14069 /* 37084 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
14070 /* 37089 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
14071 /* 37094 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTC64rr),
14072 /* 37097 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14073 /* 37099 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14074 /* 37101 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
14075 /* 37104 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
14076 /* 37107 */ GIR_RootConstrainSelectedInstOperands,
14077 /* 37108 */ // GIR_Coverage, 26050,
14078 /* 37108 */ GIR_EraseRootFromParent_Done,
14079 /* 37109 */ // Label 931: @37109
14080 /* 37109 */ GIM_Try, /*On fail goto*//*Label 932*/ GIMT_Encode4(37163), // Rule ID 17359 //
14081 /* 37114 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
14082 /* 37117 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
14083 /* 37120 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14084 /* 37124 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14085 /* 37128 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14086 /* 37132 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
14087 /* 37136 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
14088 /* 37140 */ // MIs[1] src
14089 /* 37140 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
14090 /* 37145 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
14091 /* 37149 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14092 /* 37151 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] })) => (BLCMSK64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
14093 /* 37151 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCMSK64rr),
14094 /* 37154 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14095 /* 37156 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14096 /* 37158 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
14097 /* 37161 */ GIR_RootConstrainSelectedInstOperands,
14098 /* 37162 */ // GIR_Coverage, 17359,
14099 /* 37162 */ GIR_EraseRootFromParent_Done,
14100 /* 37163 */ // Label 932: @37163
14101 /* 37163 */ GIM_Try, /*On fail goto*//*Label 933*/ GIMT_Encode4(37272), // Rule ID 22788 //
14102 /* 37168 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
14103 /* 37171 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14104 /* 37175 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14105 /* 37179 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14106 /* 37183 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
14107 /* 37187 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
14108 /* 37191 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
14109 /* 37195 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
14110 /* 37199 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
14111 /* 37204 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14112 /* 37206 */ // (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] }))
14113 /* 37206 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
14114 /* 37209 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14115 /* 37213 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14116 /* 37218 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
14117 /* 37220 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
14118 /* 37223 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14119 /* 37227 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14120 /* 37232 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14121 /* 37235 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
14122 /* 37239 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
14123 /* 37242 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
14124 /* 37247 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
14125 /* 37252 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
14126 /* 37257 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTC64rr),
14127 /* 37260 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14128 /* 37262 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14129 /* 37264 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
14130 /* 37267 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
14131 /* 37270 */ GIR_RootConstrainSelectedInstOperands,
14132 /* 37271 */ // GIR_Coverage, 22788,
14133 /* 37271 */ GIR_EraseRootFromParent_Done,
14134 /* 37272 */ // Label 933: @37272
14135 /* 37272 */ GIM_Try, /*On fail goto*//*Label 934*/ GIMT_Encode4(37304), // Rule ID 248 //
14136 /* 37277 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
14137 /* 37280 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
14138 /* 37283 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14139 /* 37287 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14140 /* 37291 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, uint8_t(-1),
14141 /* 37295 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, -1:{ *:[i64] }) => (NOT64r:{ *:[i64] } GR64:{ *:[i64] }:$src1)
14142 /* 37295 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT64r),
14143 /* 37298 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14144 /* 37300 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14145 /* 37302 */ GIR_RootConstrainSelectedInstOperands,
14146 /* 37303 */ // GIR_Coverage, 248,
14147 /* 37303 */ GIR_EraseRootFromParent_Done,
14148 /* 37304 */ // Label 934: @37304
14149 /* 37304 */ GIM_Try, /*On fail goto*//*Label 935*/ GIMT_Encode4(37336), // Rule ID 256 //
14150 /* 37309 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
14151 /* 37312 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
14152 /* 37315 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14153 /* 37319 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14154 /* 37323 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, uint8_t(-1),
14155 /* 37327 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, -1:{ *:[i64] }) => (NOT64r_ND:{ *:[i64] } GR64:{ *:[i64] }:$src1)
14156 /* 37327 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT64r_ND),
14157 /* 37330 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14158 /* 37332 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14159 /* 37334 */ GIR_RootConstrainSelectedInstOperands,
14160 /* 37335 */ // GIR_Coverage, 256,
14161 /* 37335 */ GIR_EraseRootFromParent_Done,
14162 /* 37336 */ // Label 935: @37336
14163 /* 37336 */ GIM_Try, /*On fail goto*//*Label 936*/ GIMT_Encode4(37384), // Rule ID 22849 //
14164 /* 37341 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
14165 /* 37344 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
14166 /* 37347 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14167 /* 37351 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14168 /* 37355 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14169 /* 37359 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
14170 /* 37363 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
14171 /* 37367 */ // MIs[1] Operand 1
14172 /* 37367 */ // No operand predicates
14173 /* 37367 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14174 /* 37369 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (XOR64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
14175 /* 37369 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64ri32),
14176 /* 37372 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14177 /* 37374 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14178 /* 37376 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
14179 /* 37379 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
14180 /* 37382 */ GIR_RootConstrainSelectedInstOperands,
14181 /* 37383 */ // GIR_Coverage, 22849,
14182 /* 37383 */ GIR_EraseRootFromParent_Done,
14183 /* 37384 */ // Label 936: @37384
14184 /* 37384 */ GIM_Try, /*On fail goto*//*Label 937*/ GIMT_Encode4(37432), // Rule ID 22939 //
14185 /* 37389 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
14186 /* 37392 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
14187 /* 37395 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14188 /* 37399 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14189 /* 37403 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14190 /* 37407 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
14191 /* 37411 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
14192 /* 37415 */ // MIs[1] Operand 1
14193 /* 37415 */ // No operand predicates
14194 /* 37415 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14195 /* 37417 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (XOR64ri32_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
14196 /* 37417 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64ri32_ND),
14197 /* 37420 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14198 /* 37422 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14199 /* 37424 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
14200 /* 37427 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
14201 /* 37430 */ GIR_RootConstrainSelectedInstOperands,
14202 /* 37431 */ // GIR_Coverage, 22939,
14203 /* 37431 */ GIR_EraseRootFromParent_Done,
14204 /* 37432 */ // Label 937: @37432
14205 /* 37432 */ GIM_Try, /*On fail goto*//*Label 938*/ GIMT_Encode4(37468), // Rule ID 22841 //
14206 /* 37437 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
14207 /* 37440 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
14208 /* 37443 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14209 /* 37447 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14210 /* 37451 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14211 /* 37455 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (XOR64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
14212 /* 37455 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR64rr),
14213 /* 37460 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
14214 /* 37466 */ GIR_RootConstrainSelectedInstOperands,
14215 /* 37467 */ // GIR_Coverage, 22841,
14216 /* 37467 */ GIR_Done,
14217 /* 37468 */ // Label 938: @37468
14218 /* 37468 */ GIM_Try, /*On fail goto*//*Label 939*/ GIMT_Encode4(37504), // Rule ID 22931 //
14219 /* 37473 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
14220 /* 37476 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
14221 /* 37479 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14222 /* 37483 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14223 /* 37487 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14224 /* 37491 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (XOR64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
14225 /* 37491 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR64rr_ND),
14226 /* 37496 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
14227 /* 37502 */ GIR_RootConstrainSelectedInstOperands,
14228 /* 37503 */ // GIR_Coverage, 22931,
14229 /* 37503 */ GIR_Done,
14230 /* 37504 */ // Label 939: @37504
14231 /* 37504 */ GIM_Reject,
14232 /* 37505 */ // Label 924: @37505
14233 /* 37505 */ GIM_Reject,
14234 /* 37506 */ // Label 854: @37506
14235 /* 37506 */ GIM_Try, /*On fail goto*//*Label 940*/ GIMT_Encode4(38047),
14236 /* 37511 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s1,
14237 /* 37514 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s1,
14238 /* 37517 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
14239 /* 37521 */ GIM_Try, /*On fail goto*//*Label 941*/ GIMT_Encode4(37641), // Rule ID 25374 //
14240 /* 37526 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14241 /* 37530 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
14242 /* 37534 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s1,
14243 /* 37538 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s1,
14244 /* 37542 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
14245 /* 37547 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
14246 /* 37551 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14247 /* 37557 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
14248 /* 37559 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
14249 /* 37563 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
14250 /* 37565 */ // (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] })
14251 /* 37565 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
14252 /* 37568 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14253 /* 37572 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14254 /* 37577 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
14255 /* 37581 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14256 /* 37586 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
14257 /* 37589 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14258 /* 37593 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14259 /* 37598 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
14260 /* 37602 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14261 /* 37607 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
14262 /* 37610 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
14263 /* 37614 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14264 /* 37619 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14265 /* 37622 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
14266 /* 37625 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14267 /* 37627 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14268 /* 37630 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14269 /* 37632 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
14270 /* 37635 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
14271 /* 37640 */ // GIR_Coverage, 25374,
14272 /* 37640 */ GIR_EraseRootFromParent_Done,
14273 /* 37641 */ // Label 941: @37641
14274 /* 37641 */ GIM_Try, /*On fail goto*//*Label 942*/ GIMT_Encode4(37762), // Rule ID 19497 //
14275 /* 37646 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14276 /* 37650 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
14277 /* 37654 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s1,
14278 /* 37658 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s1,
14279 /* 37662 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
14280 /* 37667 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
14281 /* 37672 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
14282 /* 37676 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14283 /* 37682 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
14284 /* 37684 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
14285 /* 37686 */ // (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] })
14286 /* 37686 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
14287 /* 37689 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14288 /* 37693 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14289 /* 37698 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/1, /*OpIdx*/2, // src2
14290 /* 37702 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14291 /* 37707 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
14292 /* 37710 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14293 /* 37714 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14294 /* 37719 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
14295 /* 37723 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14296 /* 37728 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
14297 /* 37731 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
14298 /* 37735 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14299 /* 37740 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14300 /* 37743 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
14301 /* 37746 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14302 /* 37748 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14303 /* 37751 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14304 /* 37753 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
14305 /* 37756 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
14306 /* 37761 */ // GIR_Coverage, 19497,
14307 /* 37761 */ GIR_EraseRootFromParent_Done,
14308 /* 37762 */ // Label 942: @37762
14309 /* 37762 */ GIM_Try, /*On fail goto*//*Label 943*/ GIMT_Encode4(37882), // Rule ID 25375 //
14310 /* 37767 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
14311 /* 37771 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14312 /* 37775 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
14313 /* 37779 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s1,
14314 /* 37783 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s1,
14315 /* 37787 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
14316 /* 37792 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
14317 /* 37796 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14318 /* 37802 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
14319 /* 37804 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
14320 /* 37806 */ // (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] })
14321 /* 37806 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
14322 /* 37809 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14323 /* 37813 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14324 /* 37818 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
14325 /* 37822 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14326 /* 37827 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
14327 /* 37830 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14328 /* 37834 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14329 /* 37839 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
14330 /* 37843 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14331 /* 37848 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
14332 /* 37851 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
14333 /* 37855 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14334 /* 37860 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14335 /* 37863 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
14336 /* 37866 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14337 /* 37868 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14338 /* 37871 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14339 /* 37873 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
14340 /* 37876 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
14341 /* 37881 */ // GIR_Coverage, 25375,
14342 /* 37881 */ GIR_EraseRootFromParent_Done,
14343 /* 37882 */ // Label 943: @37882
14344 /* 37882 */ GIM_Try, /*On fail goto*//*Label 944*/ GIMT_Encode4(37957), // Rule ID 19481 //
14345 /* 37887 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
14346 /* 37891 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14347 /* 37895 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14348 /* 37901 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14349 /* 37903 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14350 /* 37905 */ // (xor:{ *:[v2i1] } VK2:{ *:[v2i1] }:$src, immAllOnesV:{ *:[v2i1] }) => (COPY_TO_REGCLASS:{ *:[v2i1] } (KNOTWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK2:{ *:[v2i1] }:$src, VK16:{ *:[i32] })), VK2:{ *:[i32] })
14351 /* 37905 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
14352 /* 37908 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14353 /* 37912 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14354 /* 37917 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
14355 /* 37921 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14356 /* 37926 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
14357 /* 37929 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
14358 /* 37933 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14359 /* 37938 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14360 /* 37941 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14361 /* 37943 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14362 /* 37946 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14363 /* 37948 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
14364 /* 37951 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
14365 /* 37956 */ // GIR_Coverage, 19481,
14366 /* 37956 */ GIR_EraseRootFromParent_Done,
14367 /* 37957 */ // Label 944: @37957
14368 /* 37957 */ GIM_Try, /*On fail goto*//*Label 945*/ GIMT_Encode4(38046), // Rule ID 19501 //
14369 /* 37962 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
14370 /* 37966 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
14371 /* 37970 */ // (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] })
14372 /* 37970 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
14373 /* 37973 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14374 /* 37977 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14375 /* 37982 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
14376 /* 37986 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14377 /* 37991 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
14378 /* 37994 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14379 /* 37998 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14380 /* 38003 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
14381 /* 38007 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14382 /* 38012 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
14383 /* 38015 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXORWkk),
14384 /* 38019 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14385 /* 38024 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14386 /* 38027 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
14387 /* 38030 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14388 /* 38032 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14389 /* 38035 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14390 /* 38037 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
14391 /* 38040 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
14392 /* 38045 */ // GIR_Coverage, 19501,
14393 /* 38045 */ GIR_EraseRootFromParent_Done,
14394 /* 38046 */ // Label 945: @38046
14395 /* 38046 */ GIM_Reject,
14396 /* 38047 */ // Label 940: @38047
14397 /* 38047 */ GIM_Reject,
14398 /* 38048 */ // Label 855: @38048
14399 /* 38048 */ GIM_Try, /*On fail goto*//*Label 946*/ GIMT_Encode4(38667),
14400 /* 38053 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
14401 /* 38056 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
14402 /* 38059 */ GIM_Try, /*On fail goto*//*Label 947*/ GIMT_Encode4(38121), // Rule ID 23366 //
14403 /* 38064 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
14404 /* 38067 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14405 /* 38071 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14406 /* 38075 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14407 /* 38079 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14408 /* 38082 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14409 /* 38086 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14410 /* 38090 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14411 /* 38094 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14412 /* 38096 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14413 /* 38103 */ // (xor:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2i64] }:$src1) => (VPXORrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
14414 /* 38103 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
14415 /* 38106 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14416 /* 38108 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14417 /* 38110 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14418 /* 38114 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14419 /* 38119 */ GIR_RootConstrainSelectedInstOperands,
14420 /* 38120 */ // GIR_Coverage, 23366,
14421 /* 38120 */ GIR_EraseRootFromParent_Done,
14422 /* 38121 */ // Label 947: @38121
14423 /* 38121 */ GIM_Try, /*On fail goto*//*Label 948*/ GIMT_Encode4(38183), // Rule ID 24221 //
14424 /* 38126 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
14425 /* 38129 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14426 /* 38133 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14427 /* 38137 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14428 /* 38141 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14429 /* 38144 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14430 /* 38148 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14431 /* 38152 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14432 /* 38156 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14433 /* 38158 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14434 /* 38165 */ // (xor:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPXORQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
14435 /* 38165 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rm),
14436 /* 38168 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14437 /* 38170 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14438 /* 38172 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14439 /* 38176 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14440 /* 38181 */ GIR_RootConstrainSelectedInstOperands,
14441 /* 38182 */ // GIR_Coverage, 24221,
14442 /* 38182 */ GIR_EraseRootFromParent_Done,
14443 /* 38183 */ // Label 948: @38183
14444 /* 38183 */ GIM_Try, /*On fail goto*//*Label 949*/ GIMT_Encode4(38245), // Rule ID 2123 //
14445 /* 38188 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
14446 /* 38191 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14447 /* 38195 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14448 /* 38199 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14449 /* 38203 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14450 /* 38207 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14451 /* 38210 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14452 /* 38214 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14453 /* 38218 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14454 /* 38220 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14455 /* 38227 */ // (xor:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
14456 /* 38227 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
14457 /* 38230 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14458 /* 38232 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14459 /* 38234 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14460 /* 38238 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14461 /* 38243 */ GIR_RootConstrainSelectedInstOperands,
14462 /* 38244 */ // GIR_Coverage, 2123,
14463 /* 38244 */ GIR_EraseRootFromParent_Done,
14464 /* 38245 */ // Label 949: @38245
14465 /* 38245 */ GIM_Try, /*On fail goto*//*Label 950*/ GIMT_Encode4(38307), // Rule ID 5815 //
14466 /* 38250 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
14467 /* 38253 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14468 /* 38257 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14469 /* 38261 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14470 /* 38265 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14471 /* 38269 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14472 /* 38272 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14473 /* 38276 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14474 /* 38280 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14475 /* 38282 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14476 /* 38289 */ // (xor:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
14477 /* 38289 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rm),
14478 /* 38292 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14479 /* 38294 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14480 /* 38296 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14481 /* 38300 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14482 /* 38305 */ GIR_RootConstrainSelectedInstOperands,
14483 /* 38306 */ // GIR_Coverage, 5815,
14484 /* 38306 */ GIR_EraseRootFromParent_Done,
14485 /* 38307 */ // Label 950: @38307
14486 /* 38307 */ GIM_Try, /*On fail goto*//*Label 951*/ GIMT_Encode4(38539), // Rule ID 21946 //
14487 /* 38312 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
14488 /* 38315 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
14489 /* 38319 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14490 /* 38323 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14491 /* 38327 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14492 /* 38333 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14493 /* 38335 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14494 /* 38337 */ // (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] })
14495 /* 38337 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
14496 /* 38340 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14497 /* 38344 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14498 /* 38349 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
14499 /* 38351 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
14500 /* 38354 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14501 /* 38358 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14502 /* 38363 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
14503 /* 38366 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
14504 /* 38370 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/11,
14505 /* 38373 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14506 /* 38378 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14507 /* 38383 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
14508 /* 38388 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
14509 /* 38391 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14510 /* 38395 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14511 /* 38400 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
14512 /* 38402 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
14513 /* 38405 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14514 /* 38409 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14515 /* 38414 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
14516 /* 38417 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
14517 /* 38421 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/11,
14518 /* 38424 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14519 /* 38429 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14520 /* 38434 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
14521 /* 38439 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
14522 /* 38442 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14523 /* 38446 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14524 /* 38451 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
14525 /* 38453 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
14526 /* 38456 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14527 /* 38460 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14528 /* 38465 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
14529 /* 38468 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
14530 /* 38472 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/11,
14531 /* 38475 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14532 /* 38480 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14533 /* 38485 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
14534 /* 38490 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
14535 /* 38493 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
14536 /* 38497 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14537 /* 38502 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14538 /* 38505 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
14539 /* 38508 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
14540 /* 38511 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
14541 /* 38514 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14542 /* 38516 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14543 /* 38519 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14544 /* 38521 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
14545 /* 38528 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
14546 /* 38533 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14547 /* 38538 */ // GIR_Coverage, 21946,
14548 /* 38538 */ GIR_EraseRootFromParent_Done,
14549 /* 38539 */ // Label 951: @38539
14550 /* 38539 */ GIM_Try, /*On fail goto*//*Label 952*/ GIMT_Encode4(38585), // Rule ID 21954 //
14551 /* 38544 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
14552 /* 38547 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14553 /* 38551 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14554 /* 38555 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14555 /* 38559 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14556 /* 38565 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14557 /* 38567 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14558 /* 38569 */ // (xor:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src, immAllOnesV:{ *:[v2i64] }) => (VPTERNLOGQZ128rri:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src, VR128X:{ *:[v2i64] }:$src, VR128X:{ *:[v2i64] }:$src, 15:{ *:[i8] })
14559 /* 38569 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ128rri),
14560 /* 38572 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14561 /* 38574 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14562 /* 38576 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14563 /* 38578 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14564 /* 38580 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
14565 /* 38583 */ GIR_RootConstrainSelectedInstOperands,
14566 /* 38584 */ // GIR_Coverage, 21954,
14567 /* 38584 */ GIR_EraseRootFromParent_Done,
14568 /* 38585 */ // Label 952: @38585
14569 /* 38585 */ GIM_Try, /*On fail goto*//*Label 953*/ GIMT_Encode4(38612), // Rule ID 2122 //
14570 /* 38590 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
14571 /* 38593 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14572 /* 38597 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14573 /* 38601 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14574 /* 38605 */ // (xor:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPXORrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
14575 /* 38605 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORrr),
14576 /* 38610 */ GIR_RootConstrainSelectedInstOperands,
14577 /* 38611 */ // GIR_Coverage, 2122,
14578 /* 38611 */ GIR_Done,
14579 /* 38612 */ // Label 953: @38612
14580 /* 38612 */ GIM_Try, /*On fail goto*//*Label 954*/ GIMT_Encode4(38639), // Rule ID 2124 //
14581 /* 38617 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
14582 /* 38620 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14583 /* 38624 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14584 /* 38628 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14585 /* 38632 */ // (xor:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (PXORrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
14586 /* 38632 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PXORrr),
14587 /* 38637 */ GIR_RootConstrainSelectedInstOperands,
14588 /* 38638 */ // GIR_Coverage, 2124,
14589 /* 38638 */ GIR_Done,
14590 /* 38639 */ // Label 954: @38639
14591 /* 38639 */ GIM_Try, /*On fail goto*//*Label 955*/ GIMT_Encode4(38666), // Rule ID 5812 //
14592 /* 38644 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
14593 /* 38647 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14594 /* 38651 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14595 /* 38655 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14596 /* 38659 */ // (xor:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPXORQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
14597 /* 38659 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rr),
14598 /* 38664 */ GIR_RootConstrainSelectedInstOperands,
14599 /* 38665 */ // GIR_Coverage, 5812,
14600 /* 38665 */ GIR_Done,
14601 /* 38666 */ // Label 955: @38666
14602 /* 38666 */ GIM_Reject,
14603 /* 38667 */ // Label 946: @38667
14604 /* 38667 */ GIM_Reject,
14605 /* 38668 */ // Label 856: @38668
14606 /* 38668 */ GIM_Try, /*On fail goto*//*Label 956*/ GIMT_Encode4(39209),
14607 /* 38673 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
14608 /* 38676 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s1,
14609 /* 38679 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
14610 /* 38683 */ GIM_Try, /*On fail goto*//*Label 957*/ GIMT_Encode4(38803), // Rule ID 25376 //
14611 /* 38688 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14612 /* 38692 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
14613 /* 38696 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s1,
14614 /* 38700 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s1,
14615 /* 38704 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
14616 /* 38709 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
14617 /* 38713 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14618 /* 38719 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
14619 /* 38721 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
14620 /* 38725 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
14621 /* 38727 */ // (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] })
14622 /* 38727 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
14623 /* 38730 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14624 /* 38734 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14625 /* 38739 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
14626 /* 38743 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14627 /* 38748 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
14628 /* 38751 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14629 /* 38755 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14630 /* 38760 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
14631 /* 38764 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14632 /* 38769 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
14633 /* 38772 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
14634 /* 38776 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14635 /* 38781 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14636 /* 38784 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
14637 /* 38787 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14638 /* 38789 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14639 /* 38792 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14640 /* 38794 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
14641 /* 38797 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
14642 /* 38802 */ // GIR_Coverage, 25376,
14643 /* 38802 */ GIR_EraseRootFromParent_Done,
14644 /* 38803 */ // Label 957: @38803
14645 /* 38803 */ GIM_Try, /*On fail goto*//*Label 958*/ GIMT_Encode4(38924), // Rule ID 19498 //
14646 /* 38808 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14647 /* 38812 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
14648 /* 38816 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s1,
14649 /* 38820 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s1,
14650 /* 38824 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
14651 /* 38829 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
14652 /* 38834 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
14653 /* 38838 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14654 /* 38844 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
14655 /* 38846 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
14656 /* 38848 */ // (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] })
14657 /* 38848 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
14658 /* 38851 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14659 /* 38855 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14660 /* 38860 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/1, /*OpIdx*/2, // src2
14661 /* 38864 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14662 /* 38869 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
14663 /* 38872 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14664 /* 38876 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14665 /* 38881 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
14666 /* 38885 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14667 /* 38890 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
14668 /* 38893 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
14669 /* 38897 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14670 /* 38902 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14671 /* 38905 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
14672 /* 38908 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14673 /* 38910 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14674 /* 38913 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14675 /* 38915 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
14676 /* 38918 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
14677 /* 38923 */ // GIR_Coverage, 19498,
14678 /* 38923 */ GIR_EraseRootFromParent_Done,
14679 /* 38924 */ // Label 958: @38924
14680 /* 38924 */ GIM_Try, /*On fail goto*//*Label 959*/ GIMT_Encode4(39044), // Rule ID 25377 //
14681 /* 38929 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
14682 /* 38933 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14683 /* 38937 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
14684 /* 38941 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s1,
14685 /* 38945 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s1,
14686 /* 38949 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
14687 /* 38954 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
14688 /* 38958 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14689 /* 38964 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
14690 /* 38966 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
14691 /* 38968 */ // (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] })
14692 /* 38968 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
14693 /* 38971 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14694 /* 38975 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14695 /* 38980 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
14696 /* 38984 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14697 /* 38989 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
14698 /* 38992 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14699 /* 38996 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14700 /* 39001 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
14701 /* 39005 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14702 /* 39010 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
14703 /* 39013 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
14704 /* 39017 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14705 /* 39022 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14706 /* 39025 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
14707 /* 39028 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14708 /* 39030 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14709 /* 39033 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14710 /* 39035 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
14711 /* 39038 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
14712 /* 39043 */ // GIR_Coverage, 25377,
14713 /* 39043 */ GIR_EraseRootFromParent_Done,
14714 /* 39044 */ // Label 959: @39044
14715 /* 39044 */ GIM_Try, /*On fail goto*//*Label 960*/ GIMT_Encode4(39119), // Rule ID 19480 //
14716 /* 39049 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
14717 /* 39053 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14718 /* 39057 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14719 /* 39063 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14720 /* 39065 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14721 /* 39067 */ // (xor:{ *:[v4i1] } VK4:{ *:[v4i1] }:$src, immAllOnesV:{ *:[v4i1] }) => (COPY_TO_REGCLASS:{ *:[v4i1] } (KNOTWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK4:{ *:[v4i1] }:$src, VK16:{ *:[i32] })), VK4:{ *:[i32] })
14722 /* 39067 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
14723 /* 39070 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14724 /* 39074 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14725 /* 39079 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
14726 /* 39083 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14727 /* 39088 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
14728 /* 39091 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
14729 /* 39095 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14730 /* 39100 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14731 /* 39103 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14732 /* 39105 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14733 /* 39108 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14734 /* 39110 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
14735 /* 39113 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
14736 /* 39118 */ // GIR_Coverage, 19480,
14737 /* 39118 */ GIR_EraseRootFromParent_Done,
14738 /* 39119 */ // Label 960: @39119
14739 /* 39119 */ GIM_Try, /*On fail goto*//*Label 961*/ GIMT_Encode4(39208), // Rule ID 19502 //
14740 /* 39124 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
14741 /* 39128 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
14742 /* 39132 */ // (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] })
14743 /* 39132 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
14744 /* 39135 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14745 /* 39139 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14746 /* 39144 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
14747 /* 39148 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14748 /* 39153 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
14749 /* 39156 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14750 /* 39160 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14751 /* 39165 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
14752 /* 39169 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14753 /* 39174 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
14754 /* 39177 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXORWkk),
14755 /* 39181 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14756 /* 39186 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14757 /* 39189 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
14758 /* 39192 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14759 /* 39194 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14760 /* 39197 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14761 /* 39199 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
14762 /* 39202 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
14763 /* 39207 */ // GIR_Coverage, 19502,
14764 /* 39207 */ GIR_EraseRootFromParent_Done,
14765 /* 39208 */ // Label 961: @39208
14766 /* 39208 */ GIM_Reject,
14767 /* 39209 */ // Label 956: @39209
14768 /* 39209 */ GIM_Reject,
14769 /* 39210 */ // Label 857: @39210
14770 /* 39210 */ GIM_Try, /*On fail goto*//*Label 962*/ GIMT_Encode4(39829),
14771 /* 39215 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
14772 /* 39218 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
14773 /* 39221 */ GIM_Try, /*On fail goto*//*Label 963*/ GIMT_Encode4(39283), // Rule ID 24239 //
14774 /* 39226 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
14775 /* 39229 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14776 /* 39233 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14777 /* 39237 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14778 /* 39241 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14779 /* 39244 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14780 /* 39248 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14781 /* 39252 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14782 /* 39256 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14783 /* 39258 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14784 /* 39265 */ // (xor:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPXORDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
14785 /* 39265 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORDZ128rm),
14786 /* 39268 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14787 /* 39270 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14788 /* 39272 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14789 /* 39276 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14790 /* 39281 */ GIR_RootConstrainSelectedInstOperands,
14791 /* 39282 */ // GIR_Coverage, 24239,
14792 /* 39282 */ GIR_EraseRootFromParent_Done,
14793 /* 39283 */ // Label 963: @39283
14794 /* 39283 */ GIM_Try, /*On fail goto*//*Label 964*/ GIMT_Encode4(39345), // Rule ID 25259 //
14795 /* 39288 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
14796 /* 39291 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14797 /* 39295 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14798 /* 39299 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14799 /* 39303 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14800 /* 39306 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14801 /* 39310 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14802 /* 39314 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14803 /* 39318 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14804 /* 39320 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14805 /* 39327 */ // (xor:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPXORrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
14806 /* 39327 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
14807 /* 39330 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14808 /* 39332 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14809 /* 39334 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14810 /* 39338 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14811 /* 39343 */ GIR_RootConstrainSelectedInstOperands,
14812 /* 39344 */ // GIR_Coverage, 25259,
14813 /* 39344 */ GIR_EraseRootFromParent_Done,
14814 /* 39345 */ // Label 964: @39345
14815 /* 39345 */ GIM_Try, /*On fail goto*//*Label 965*/ GIMT_Encode4(39407), // Rule ID 5842 //
14816 /* 39350 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
14817 /* 39353 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14818 /* 39357 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14819 /* 39361 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14820 /* 39365 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14821 /* 39369 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14822 /* 39372 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14823 /* 39376 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14824 /* 39380 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14825 /* 39382 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14826 /* 39389 */ // (xor:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
14827 /* 39389 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORDZ128rm),
14828 /* 39392 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14829 /* 39394 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14830 /* 39396 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14831 /* 39400 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14832 /* 39405 */ GIR_RootConstrainSelectedInstOperands,
14833 /* 39406 */ // GIR_Coverage, 5842,
14834 /* 39406 */ GIR_EraseRootFromParent_Done,
14835 /* 39407 */ // Label 965: @39407
14836 /* 39407 */ GIM_Try, /*On fail goto*//*Label 966*/ GIMT_Encode4(39469), // Rule ID 18166 //
14837 /* 39412 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
14838 /* 39415 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14839 /* 39419 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14840 /* 39423 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14841 /* 39427 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14842 /* 39431 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14843 /* 39434 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14844 /* 39438 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14845 /* 39442 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14846 /* 39444 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14847 /* 39451 */ // (xor:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
14848 /* 39451 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
14849 /* 39454 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14850 /* 39456 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14851 /* 39458 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14852 /* 39462 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14853 /* 39467 */ GIR_RootConstrainSelectedInstOperands,
14854 /* 39468 */ // GIR_Coverage, 18166,
14855 /* 39468 */ GIR_EraseRootFromParent_Done,
14856 /* 39469 */ // Label 966: @39469
14857 /* 39469 */ GIM_Try, /*On fail goto*//*Label 967*/ GIMT_Encode4(39701), // Rule ID 21945 //
14858 /* 39474 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
14859 /* 39477 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
14860 /* 39481 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14861 /* 39485 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14862 /* 39489 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14863 /* 39495 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14864 /* 39497 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14865 /* 39499 */ // (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] })
14866 /* 39499 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
14867 /* 39502 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14868 /* 39506 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14869 /* 39511 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
14870 /* 39513 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
14871 /* 39516 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14872 /* 39520 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14873 /* 39525 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
14874 /* 39528 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
14875 /* 39532 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/11,
14876 /* 39535 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14877 /* 39540 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14878 /* 39545 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
14879 /* 39550 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
14880 /* 39553 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14881 /* 39557 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14882 /* 39562 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
14883 /* 39564 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
14884 /* 39567 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14885 /* 39571 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14886 /* 39576 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
14887 /* 39579 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
14888 /* 39583 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/11,
14889 /* 39586 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14890 /* 39591 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14891 /* 39596 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
14892 /* 39601 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
14893 /* 39604 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14894 /* 39608 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14895 /* 39613 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
14896 /* 39615 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
14897 /* 39618 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14898 /* 39622 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14899 /* 39627 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
14900 /* 39630 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
14901 /* 39634 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/11,
14902 /* 39637 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14903 /* 39642 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14904 /* 39647 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
14905 /* 39652 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
14906 /* 39655 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
14907 /* 39659 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
14908 /* 39664 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14909 /* 39667 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
14910 /* 39670 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
14911 /* 39673 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
14912 /* 39676 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14913 /* 39678 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14914 /* 39681 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14915 /* 39683 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
14916 /* 39690 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
14917 /* 39695 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14918 /* 39700 */ // GIR_Coverage, 21945,
14919 /* 39700 */ GIR_EraseRootFromParent_Done,
14920 /* 39701 */ // Label 967: @39701
14921 /* 39701 */ GIM_Try, /*On fail goto*//*Label 968*/ GIMT_Encode4(39747), // Rule ID 21953 //
14922 /* 39706 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
14923 /* 39709 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14924 /* 39713 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14925 /* 39717 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14926 /* 39721 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14927 /* 39727 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14928 /* 39729 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14929 /* 39731 */ // (xor:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src, immAllOnesV:{ *:[v4i32] }) => (VPTERNLOGQZ128rri:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src, VR128X:{ *:[v4i32] }:$src, VR128X:{ *:[v4i32] }:$src, 15:{ *:[i8] })
14930 /* 39731 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ128rri),
14931 /* 39734 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14932 /* 39736 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14933 /* 39738 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14934 /* 39740 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14935 /* 39742 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
14936 /* 39745 */ GIR_RootConstrainSelectedInstOperands,
14937 /* 39746 */ // GIR_Coverage, 21953,
14938 /* 39746 */ GIR_EraseRootFromParent_Done,
14939 /* 39747 */ // Label 968: @39747
14940 /* 39747 */ GIM_Try, /*On fail goto*//*Label 969*/ GIMT_Encode4(39774), // Rule ID 5839 //
14941 /* 39752 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
14942 /* 39755 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14943 /* 39759 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14944 /* 39763 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14945 /* 39767 */ // (xor:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPXORDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
14946 /* 39767 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORDZ128rr),
14947 /* 39772 */ GIR_RootConstrainSelectedInstOperands,
14948 /* 39773 */ // GIR_Coverage, 5839,
14949 /* 39773 */ GIR_Done,
14950 /* 39774 */ // Label 969: @39774
14951 /* 39774 */ GIM_Try, /*On fail goto*//*Label 970*/ GIMT_Encode4(39801), // Rule ID 18154 //
14952 /* 39779 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
14953 /* 39782 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14954 /* 39786 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14955 /* 39790 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14956 /* 39794 */ // (xor:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPXORrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
14957 /* 39794 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORrr),
14958 /* 39799 */ GIR_RootConstrainSelectedInstOperands,
14959 /* 39800 */ // GIR_Coverage, 18154,
14960 /* 39800 */ GIR_Done,
14961 /* 39801 */ // Label 970: @39801
14962 /* 39801 */ GIM_Try, /*On fail goto*//*Label 971*/ GIMT_Encode4(39828), // Rule ID 18178 //
14963 /* 39806 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
14964 /* 39809 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14965 /* 39813 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14966 /* 39817 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14967 /* 39821 */ // (xor:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PXORrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
14968 /* 39821 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PXORrr),
14969 /* 39826 */ GIR_RootConstrainSelectedInstOperands,
14970 /* 39827 */ // GIR_Coverage, 18178,
14971 /* 39827 */ GIR_Done,
14972 /* 39828 */ // Label 971: @39828
14973 /* 39828 */ GIM_Reject,
14974 /* 39829 */ // Label 962: @39829
14975 /* 39829 */ GIM_Reject,
14976 /* 39830 */ // Label 858: @39830
14977 /* 39830 */ GIM_Try, /*On fail goto*//*Label 972*/ GIMT_Encode4(40573),
14978 /* 39835 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
14979 /* 39838 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
14980 /* 39841 */ GIM_Try, /*On fail goto*//*Label 973*/ GIMT_Encode4(39903), // Rule ID 23368 //
14981 /* 39846 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
14982 /* 39849 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14983 /* 39853 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14984 /* 39857 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14985 /* 39861 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14986 /* 39864 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14987 /* 39868 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14988 /* 39872 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14989 /* 39876 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14990 /* 39878 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14991 /* 39885 */ // (xor:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VPXORYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
14992 /* 39885 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
14993 /* 39888 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14994 /* 39890 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14995 /* 39892 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14996 /* 39896 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14997 /* 39901 */ GIR_RootConstrainSelectedInstOperands,
14998 /* 39902 */ // GIR_Coverage, 23368,
14999 /* 39902 */ GIR_EraseRootFromParent_Done,
15000 /* 39903 */ // Label 973: @39903
15001 /* 39903 */ GIM_Try, /*On fail goto*//*Label 974*/ GIMT_Encode4(39965), // Rule ID 24215 //
15002 /* 39908 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
15003 /* 39911 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15004 /* 39915 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15005 /* 39919 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15006 /* 39923 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15007 /* 39926 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15008 /* 39930 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15009 /* 39934 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15010 /* 39938 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15011 /* 39940 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15012 /* 39947 */ // (xor:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPXORQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15013 /* 39947 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rm),
15014 /* 39950 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15015 /* 39952 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15016 /* 39954 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15017 /* 39958 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15018 /* 39963 */ GIR_RootConstrainSelectedInstOperands,
15019 /* 39964 */ // GIR_Coverage, 24215,
15020 /* 39964 */ GIR_EraseRootFromParent_Done,
15021 /* 39965 */ // Label 974: @39965
15022 /* 39965 */ GIM_Try, /*On fail goto*//*Label 975*/ GIMT_Encode4(40027), // Rule ID 25250 //
15023 /* 39970 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
15024 /* 39973 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15025 /* 39977 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15026 /* 39981 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15027 /* 39985 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15028 /* 39988 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15029 /* 39992 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15030 /* 39996 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15031 /* 40000 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15032 /* 40002 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15033 /* 40009 */ // (xor:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VXORPSYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15034 /* 40009 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
15035 /* 40012 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15036 /* 40014 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15037 /* 40016 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15038 /* 40020 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15039 /* 40025 */ GIR_RootConstrainSelectedInstOperands,
15040 /* 40026 */ // GIR_Coverage, 25250,
15041 /* 40026 */ GIR_EraseRootFromParent_Done,
15042 /* 40027 */ // Label 975: @40027
15043 /* 40027 */ GIM_Try, /*On fail goto*//*Label 976*/ GIMT_Encode4(40089), // Rule ID 2127 //
15044 /* 40032 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
15045 /* 40035 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15046 /* 40039 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15047 /* 40043 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15048 /* 40047 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15049 /* 40051 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15050 /* 40054 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15051 /* 40058 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15052 /* 40062 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15053 /* 40064 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15054 /* 40071 */ // (xor:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15055 /* 40071 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
15056 /* 40074 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15057 /* 40076 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15058 /* 40078 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15059 /* 40082 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15060 /* 40087 */ GIR_RootConstrainSelectedInstOperands,
15061 /* 40088 */ // GIR_Coverage, 2127,
15062 /* 40088 */ GIR_EraseRootFromParent_Done,
15063 /* 40089 */ // Label 976: @40089
15064 /* 40089 */ GIM_Try, /*On fail goto*//*Label 977*/ GIMT_Encode4(40151), // Rule ID 5806 //
15065 /* 40094 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
15066 /* 40097 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15067 /* 40101 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15068 /* 40105 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15069 /* 40109 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15070 /* 40113 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15071 /* 40116 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15072 /* 40120 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15073 /* 40124 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15074 /* 40126 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15075 /* 40133 */ // (xor:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15076 /* 40133 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rm),
15077 /* 40136 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15078 /* 40138 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15079 /* 40140 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15080 /* 40144 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15081 /* 40149 */ GIR_RootConstrainSelectedInstOperands,
15082 /* 40150 */ // GIR_Coverage, 5806,
15083 /* 40150 */ GIR_EraseRootFromParent_Done,
15084 /* 40151 */ // Label 977: @40151
15085 /* 40151 */ GIM_Try, /*On fail goto*//*Label 978*/ GIMT_Encode4(40213), // Rule ID 18141 //
15086 /* 40156 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
15087 /* 40159 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15088 /* 40163 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15089 /* 40167 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15090 /* 40171 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15091 /* 40175 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15092 /* 40178 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15093 /* 40182 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15094 /* 40186 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15095 /* 40188 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15096 /* 40195 */ // (xor:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VXORPSYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15097 /* 40195 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
15098 /* 40198 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15099 /* 40200 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15100 /* 40202 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15101 /* 40206 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15102 /* 40211 */ GIR_RootConstrainSelectedInstOperands,
15103 /* 40212 */ // GIR_Coverage, 18141,
15104 /* 40212 */ GIR_EraseRootFromParent_Done,
15105 /* 40213 */ // Label 978: @40213
15106 /* 40213 */ GIM_Try, /*On fail goto*//*Label 979*/ GIMT_Encode4(40445), // Rule ID 21950 //
15107 /* 40218 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
15108 /* 40221 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15109 /* 40225 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15110 /* 40229 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15111 /* 40233 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15112 /* 40239 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15113 /* 40241 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15114 /* 40243 */ // (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] })
15115 /* 40243 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
15116 /* 40246 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15117 /* 40250 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
15118 /* 40255 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
15119 /* 40257 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
15120 /* 40260 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15121 /* 40264 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
15122 /* 40269 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
15123 /* 40272 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
15124 /* 40276 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/12,
15125 /* 40279 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15126 /* 40284 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15127 /* 40289 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
15128 /* 40294 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
15129 /* 40297 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15130 /* 40301 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
15131 /* 40306 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
15132 /* 40308 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
15133 /* 40311 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15134 /* 40315 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
15135 /* 40320 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
15136 /* 40323 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
15137 /* 40327 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/12,
15138 /* 40330 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15139 /* 40335 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15140 /* 40340 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
15141 /* 40345 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
15142 /* 40348 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15143 /* 40352 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
15144 /* 40357 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
15145 /* 40359 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
15146 /* 40362 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15147 /* 40366 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
15148 /* 40371 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
15149 /* 40374 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
15150 /* 40378 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/12,
15151 /* 40381 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15152 /* 40386 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15153 /* 40391 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
15154 /* 40396 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
15155 /* 40399 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
15156 /* 40403 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
15157 /* 40408 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
15158 /* 40411 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
15159 /* 40414 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
15160 /* 40417 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
15161 /* 40420 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15162 /* 40422 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15163 /* 40425 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15164 /* 40427 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
15165 /* 40434 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
15166 /* 40439 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15167 /* 40444 */ // GIR_Coverage, 21950,
15168 /* 40444 */ GIR_EraseRootFromParent_Done,
15169 /* 40445 */ // Label 979: @40445
15170 /* 40445 */ GIM_Try, /*On fail goto*//*Label 980*/ GIMT_Encode4(40491), // Rule ID 21958 //
15171 /* 40450 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
15172 /* 40453 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15173 /* 40457 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15174 /* 40461 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15175 /* 40465 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15176 /* 40471 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15177 /* 40473 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15178 /* 40475 */ // (xor:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src, immAllOnesV:{ *:[v4i64] }) => (VPTERNLOGQZ256rri:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src, VR256X:{ *:[v4i64] }:$src, VR256X:{ *:[v4i64] }:$src, 15:{ *:[i8] })
15179 /* 40475 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ256rri),
15180 /* 40478 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15181 /* 40480 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15182 /* 40482 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15183 /* 40484 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15184 /* 40486 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
15185 /* 40489 */ GIR_RootConstrainSelectedInstOperands,
15186 /* 40490 */ // GIR_Coverage, 21958,
15187 /* 40490 */ GIR_EraseRootFromParent_Done,
15188 /* 40491 */ // Label 980: @40491
15189 /* 40491 */ GIM_Try, /*On fail goto*//*Label 981*/ GIMT_Encode4(40518), // Rule ID 2126 //
15190 /* 40496 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
15191 /* 40499 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15192 /* 40503 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15193 /* 40507 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15194 /* 40511 */ // (xor:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VPXORYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
15195 /* 40511 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORYrr),
15196 /* 40516 */ GIR_RootConstrainSelectedInstOperands,
15197 /* 40517 */ // GIR_Coverage, 2126,
15198 /* 40517 */ GIR_Done,
15199 /* 40518 */ // Label 981: @40518
15200 /* 40518 */ GIM_Try, /*On fail goto*//*Label 982*/ GIMT_Encode4(40545), // Rule ID 5803 //
15201 /* 40523 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
15202 /* 40526 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15203 /* 40530 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15204 /* 40534 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15205 /* 40538 */ // (xor:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPXORQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
15206 /* 40538 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rr),
15207 /* 40543 */ GIR_RootConstrainSelectedInstOperands,
15208 /* 40544 */ // GIR_Coverage, 5803,
15209 /* 40544 */ GIR_Done,
15210 /* 40545 */ // Label 982: @40545
15211 /* 40545 */ GIM_Try, /*On fail goto*//*Label 983*/ GIMT_Encode4(40572), // Rule ID 18125 //
15212 /* 40550 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
15213 /* 40553 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15214 /* 40557 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15215 /* 40561 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15216 /* 40565 */ // (xor:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VXORPSYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
15217 /* 40565 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VXORPSYrr),
15218 /* 40570 */ GIR_RootConstrainSelectedInstOperands,
15219 /* 40571 */ // GIR_Coverage, 18125,
15220 /* 40571 */ GIR_Done,
15221 /* 40572 */ // Label 983: @40572
15222 /* 40572 */ GIM_Reject,
15223 /* 40573 */ // Label 972: @40573
15224 /* 40573 */ GIM_Reject,
15225 /* 40574 */ // Label 859: @40574
15226 /* 40574 */ GIM_Try, /*On fail goto*//*Label 984*/ GIMT_Encode4(41371),
15227 /* 40579 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
15228 /* 40582 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
15229 /* 40585 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
15230 /* 40589 */ GIM_Try, /*On fail goto*//*Label 985*/ GIMT_Encode4(40649), // Rule ID 23684 //
15231 /* 40594 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
15232 /* 40597 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15233 /* 40601 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
15234 /* 40605 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
15235 /* 40609 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
15236 /* 40613 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
15237 /* 40618 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
15238 /* 40622 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15239 /* 40628 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
15240 /* 40630 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
15241 /* 40634 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
15242 /* 40636 */ // (xor:{ *:[v8i1] } (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, immAllOnesV:{ *:[v8i1] }), VK8:{ *:[v8i1] }:$src2) => (KXNORBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
15243 /* 40636 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORBkk),
15244 /* 40639 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15245 /* 40641 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
15246 /* 40645 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
15247 /* 40647 */ GIR_RootConstrainSelectedInstOperands,
15248 /* 40648 */ // GIR_Coverage, 23684,
15249 /* 40648 */ GIR_EraseRootFromParent_Done,
15250 /* 40649 */ // Label 985: @40649
15251 /* 40649 */ GIM_Try, /*On fail goto*//*Label 986*/ GIMT_Encode4(40772), // Rule ID 25370 //
15252 /* 40654 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoDQI),
15253 /* 40657 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15254 /* 40661 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
15255 /* 40665 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
15256 /* 40669 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
15257 /* 40673 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
15258 /* 40678 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
15259 /* 40682 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15260 /* 40688 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
15261 /* 40690 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
15262 /* 40694 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
15263 /* 40696 */ // (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] })
15264 /* 40696 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
15265 /* 40699 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15266 /* 40703 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
15267 /* 40708 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
15268 /* 40712 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
15269 /* 40717 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
15270 /* 40720 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15271 /* 40724 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
15272 /* 40729 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
15273 /* 40733 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
15274 /* 40738 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
15275 /* 40741 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
15276 /* 40745 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
15277 /* 40750 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
15278 /* 40753 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
15279 /* 40756 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15280 /* 40758 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15281 /* 40761 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15282 /* 40763 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
15283 /* 40766 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
15284 /* 40771 */ // GIR_Coverage, 25370,
15285 /* 40771 */ GIR_EraseRootFromParent_Done,
15286 /* 40772 */ // Label 986: @40772
15287 /* 40772 */ GIM_Try, /*On fail goto*//*Label 987*/ GIMT_Encode4(40835), // Rule ID 4423 //
15288 /* 40777 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
15289 /* 40780 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15290 /* 40784 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
15291 /* 40788 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
15292 /* 40792 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
15293 /* 40796 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
15294 /* 40801 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
15295 /* 40806 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
15296 /* 40810 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15297 /* 40816 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
15298 /* 40818 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
15299 /* 40820 */ // (xor:{ *:[v8i1] } (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2), immAllOnesV:{ *:[v8i1] }) => (KXNORBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
15300 /* 40820 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORBkk),
15301 /* 40823 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15302 /* 40825 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
15303 /* 40829 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
15304 /* 40833 */ GIR_RootConstrainSelectedInstOperands,
15305 /* 40834 */ // GIR_Coverage, 4423,
15306 /* 40834 */ GIR_EraseRootFromParent_Done,
15307 /* 40835 */ // Label 987: @40835
15308 /* 40835 */ GIM_Try, /*On fail goto*//*Label 988*/ GIMT_Encode4(40959), // Rule ID 19495 //
15309 /* 40840 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoDQI),
15310 /* 40843 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15311 /* 40847 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
15312 /* 40851 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
15313 /* 40855 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
15314 /* 40859 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
15315 /* 40864 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
15316 /* 40869 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
15317 /* 40873 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15318 /* 40879 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
15319 /* 40881 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
15320 /* 40883 */ // (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] })
15321 /* 40883 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
15322 /* 40886 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15323 /* 40890 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
15324 /* 40895 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/1, /*OpIdx*/2, // src2
15325 /* 40899 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
15326 /* 40904 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
15327 /* 40907 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15328 /* 40911 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
15329 /* 40916 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
15330 /* 40920 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
15331 /* 40925 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
15332 /* 40928 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
15333 /* 40932 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
15334 /* 40937 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
15335 /* 40940 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
15336 /* 40943 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15337 /* 40945 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15338 /* 40948 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15339 /* 40950 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
15340 /* 40953 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
15341 /* 40958 */ // GIR_Coverage, 19495,
15342 /* 40958 */ GIR_EraseRootFromParent_Done,
15343 /* 40959 */ // Label 988: @40959
15344 /* 40959 */ GIM_Try, /*On fail goto*//*Label 989*/ GIMT_Encode4(41019), // Rule ID 23685 //
15345 /* 40964 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
15346 /* 40967 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
15347 /* 40971 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15348 /* 40975 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
15349 /* 40979 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
15350 /* 40983 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
15351 /* 40987 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
15352 /* 40992 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
15353 /* 40996 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15354 /* 41002 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
15355 /* 41004 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
15356 /* 41006 */ // (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src2, (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, immAllOnesV:{ *:[v8i1] })) => (KXNORBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
15357 /* 41006 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORBkk),
15358 /* 41009 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15359 /* 41011 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
15360 /* 41015 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
15361 /* 41017 */ GIR_RootConstrainSelectedInstOperands,
15362 /* 41018 */ // GIR_Coverage, 23685,
15363 /* 41018 */ GIR_EraseRootFromParent_Done,
15364 /* 41019 */ // Label 989: @41019
15365 /* 41019 */ GIM_Try, /*On fail goto*//*Label 990*/ GIMT_Encode4(41142), // Rule ID 25371 //
15366 /* 41024 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoDQI),
15367 /* 41027 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
15368 /* 41031 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15369 /* 41035 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
15370 /* 41039 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
15371 /* 41043 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
15372 /* 41047 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
15373 /* 41052 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
15374 /* 41056 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15375 /* 41062 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
15376 /* 41064 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
15377 /* 41066 */ // (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] })
15378 /* 41066 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
15379 /* 41069 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15380 /* 41073 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
15381 /* 41078 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
15382 /* 41082 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
15383 /* 41087 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
15384 /* 41090 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15385 /* 41094 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
15386 /* 41099 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
15387 /* 41103 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
15388 /* 41108 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
15389 /* 41111 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
15390 /* 41115 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
15391 /* 41120 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
15392 /* 41123 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
15393 /* 41126 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15394 /* 41128 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15395 /* 41131 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15396 /* 41133 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
15397 /* 41136 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
15398 /* 41141 */ // GIR_Coverage, 25371,
15399 /* 41141 */ GIR_EraseRootFromParent_Done,
15400 /* 41142 */ // Label 990: @41142
15401 /* 41142 */ GIM_Try, /*On fail goto*//*Label 991*/ GIMT_Encode4(41177), // Rule ID 4411 //
15402 /* 41147 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
15403 /* 41150 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
15404 /* 41154 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15405 /* 41158 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15406 /* 41164 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15407 /* 41166 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15408 /* 41168 */ // (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src, immAllOnesV:{ *:[v8i1] }) => (KNOTBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src)
15409 /* 41168 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KNOTBkk),
15410 /* 41171 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15411 /* 41173 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15412 /* 41175 */ GIR_RootConstrainSelectedInstOperands,
15413 /* 41176 */ // GIR_Coverage, 4411,
15414 /* 41176 */ GIR_EraseRootFromParent_Done,
15415 /* 41177 */ // Label 991: @41177
15416 /* 41177 */ GIM_Try, /*On fail goto*//*Label 992*/ GIMT_Encode4(41255), // Rule ID 19479 //
15417 /* 41182 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoDQI),
15418 /* 41185 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
15419 /* 41189 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15420 /* 41193 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15421 /* 41199 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15422 /* 41201 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15423 /* 41203 */ // (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src, immAllOnesV:{ *:[v8i1] }) => (COPY_TO_REGCLASS:{ *:[v8i1] } (KNOTWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK8:{ *:[v8i1] }:$src, VK16:{ *:[i32] })), VK8:{ *:[i32] })
15424 /* 41203 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
15425 /* 41206 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15426 /* 41210 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
15427 /* 41215 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
15428 /* 41219 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
15429 /* 41224 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
15430 /* 41227 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
15431 /* 41231 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
15432 /* 41236 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
15433 /* 41239 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15434 /* 41241 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15435 /* 41244 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15436 /* 41246 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
15437 /* 41249 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
15438 /* 41254 */ // GIR_Coverage, 19479,
15439 /* 41254 */ GIR_EraseRootFromParent_Done,
15440 /* 41255 */ // Label 992: @41255
15441 /* 41255 */ GIM_Try, /*On fail goto*//*Label 993*/ GIMT_Encode4(41278), // Rule ID 4427 //
15442 /* 41260 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
15443 /* 41263 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
15444 /* 41267 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
15445 /* 41271 */ // (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2) => (KXORBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
15446 /* 41271 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KXORBkk),
15447 /* 41276 */ GIR_RootConstrainSelectedInstOperands,
15448 /* 41277 */ // GIR_Coverage, 4427,
15449 /* 41277 */ GIR_Done,
15450 /* 41278 */ // Label 993: @41278
15451 /* 41278 */ GIM_Try, /*On fail goto*//*Label 994*/ GIMT_Encode4(41370), // Rule ID 19499 //
15452 /* 41283 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoDQI),
15453 /* 41286 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
15454 /* 41290 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
15455 /* 41294 */ // (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] })
15456 /* 41294 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
15457 /* 41297 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15458 /* 41301 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
15459 /* 41306 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
15460 /* 41310 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
15461 /* 41315 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
15462 /* 41318 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15463 /* 41322 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
15464 /* 41327 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
15465 /* 41331 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
15466 /* 41336 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
15467 /* 41339 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXORWkk),
15468 /* 41343 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
15469 /* 41348 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
15470 /* 41351 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
15471 /* 41354 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15472 /* 41356 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15473 /* 41359 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15474 /* 41361 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
15475 /* 41364 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
15476 /* 41369 */ // GIR_Coverage, 19499,
15477 /* 41369 */ GIR_EraseRootFromParent_Done,
15478 /* 41370 */ // Label 994: @41370
15479 /* 41370 */ GIM_Reject,
15480 /* 41371 */ // Label 984: @41371
15481 /* 41371 */ GIM_Reject,
15482 /* 41372 */ // Label 860: @41372
15483 /* 41372 */ GIM_Try, /*On fail goto*//*Label 995*/ GIMT_Encode4(41991),
15484 /* 41377 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
15485 /* 41380 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
15486 /* 41383 */ GIM_Try, /*On fail goto*//*Label 996*/ GIMT_Encode4(41445), // Rule ID 25258 //
15487 /* 41388 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
15488 /* 41391 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15489 /* 41395 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15490 /* 41399 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15491 /* 41403 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15492 /* 41406 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15493 /* 41410 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15494 /* 41414 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15495 /* 41418 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15496 /* 41420 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15497 /* 41427 */ // (xor:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPXORrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
15498 /* 41427 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
15499 /* 41430 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15500 /* 41432 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15501 /* 41434 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15502 /* 41438 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15503 /* 41443 */ GIR_RootConstrainSelectedInstOperands,
15504 /* 41444 */ // GIR_Coverage, 25258,
15505 /* 41444 */ GIR_EraseRootFromParent_Done,
15506 /* 41445 */ // Label 996: @41445
15507 /* 41445 */ GIM_Try, /*On fail goto*//*Label 997*/ GIMT_Encode4(41507), // Rule ID 25437 //
15508 /* 41450 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
15509 /* 41453 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15510 /* 41457 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15511 /* 41461 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15512 /* 41465 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15513 /* 41468 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15514 /* 41472 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15515 /* 41476 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15516 /* 41480 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15517 /* 41482 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15518 /* 41489 */ // (xor:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPXORQZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
15519 /* 41489 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rm),
15520 /* 41492 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15521 /* 41494 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15522 /* 41496 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15523 /* 41500 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15524 /* 41505 */ GIR_RootConstrainSelectedInstOperands,
15525 /* 41506 */ // GIR_Coverage, 25437,
15526 /* 41506 */ GIR_EraseRootFromParent_Done,
15527 /* 41507 */ // Label 997: @41507
15528 /* 41507 */ GIM_Try, /*On fail goto*//*Label 998*/ GIMT_Encode4(41569), // Rule ID 18165 //
15529 /* 41512 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
15530 /* 41515 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15531 /* 41519 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15532 /* 41523 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15533 /* 41527 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15534 /* 41531 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15535 /* 41534 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15536 /* 41538 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15537 /* 41542 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15538 /* 41544 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15539 /* 41551 */ // (xor:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
15540 /* 41551 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
15541 /* 41554 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15542 /* 41556 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15543 /* 41558 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15544 /* 41562 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15545 /* 41567 */ GIR_RootConstrainSelectedInstOperands,
15546 /* 41568 */ // GIR_Coverage, 18165,
15547 /* 41568 */ GIR_EraseRootFromParent_Done,
15548 /* 41569 */ // Label 998: @41569
15549 /* 41569 */ GIM_Try, /*On fail goto*//*Label 999*/ GIMT_Encode4(41631), // Rule ID 20029 //
15550 /* 41574 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
15551 /* 41577 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15552 /* 41581 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15553 /* 41585 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15554 /* 41589 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15555 /* 41593 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15556 /* 41596 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15557 /* 41600 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15558 /* 41604 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15559 /* 41606 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15560 /* 41613 */ // (xor:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
15561 /* 41613 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rm),
15562 /* 41616 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15563 /* 41618 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15564 /* 41620 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15565 /* 41624 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15566 /* 41629 */ GIR_RootConstrainSelectedInstOperands,
15567 /* 41630 */ // GIR_Coverage, 20029,
15568 /* 41630 */ GIR_EraseRootFromParent_Done,
15569 /* 41631 */ // Label 999: @41631
15570 /* 41631 */ GIM_Try, /*On fail goto*//*Label 1000*/ GIMT_Encode4(41863), // Rule ID 21944 //
15571 /* 41636 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
15572 /* 41639 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
15573 /* 41643 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15574 /* 41647 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15575 /* 41651 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15576 /* 41657 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15577 /* 41659 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15578 /* 41661 */ // (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] })
15579 /* 41661 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
15580 /* 41664 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15581 /* 41668 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
15582 /* 41673 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
15583 /* 41675 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
15584 /* 41678 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15585 /* 41682 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
15586 /* 41687 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
15587 /* 41690 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
15588 /* 41694 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/11,
15589 /* 41697 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15590 /* 41702 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15591 /* 41707 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
15592 /* 41712 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
15593 /* 41715 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15594 /* 41719 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
15595 /* 41724 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
15596 /* 41726 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
15597 /* 41729 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15598 /* 41733 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
15599 /* 41738 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
15600 /* 41741 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
15601 /* 41745 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/11,
15602 /* 41748 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15603 /* 41753 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15604 /* 41758 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
15605 /* 41763 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
15606 /* 41766 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15607 /* 41770 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
15608 /* 41775 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
15609 /* 41777 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
15610 /* 41780 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15611 /* 41784 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
15612 /* 41789 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
15613 /* 41792 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
15614 /* 41796 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/11,
15615 /* 41799 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15616 /* 41804 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15617 /* 41809 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
15618 /* 41814 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
15619 /* 41817 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
15620 /* 41821 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
15621 /* 41826 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
15622 /* 41829 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
15623 /* 41832 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
15624 /* 41835 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
15625 /* 41838 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15626 /* 41840 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15627 /* 41843 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15628 /* 41845 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
15629 /* 41852 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
15630 /* 41857 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15631 /* 41862 */ // GIR_Coverage, 21944,
15632 /* 41862 */ GIR_EraseRootFromParent_Done,
15633 /* 41863 */ // Label 1000: @41863
15634 /* 41863 */ GIM_Try, /*On fail goto*//*Label 1001*/ GIMT_Encode4(41909), // Rule ID 21952 //
15635 /* 41868 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
15636 /* 41871 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15637 /* 41875 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15638 /* 41879 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15639 /* 41883 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15640 /* 41889 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15641 /* 41891 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15642 /* 41893 */ // (xor:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src, immAllOnesV:{ *:[v8i16] }) => (VPTERNLOGQZ128rri:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src, VR128X:{ *:[v8i16] }:$src, VR128X:{ *:[v8i16] }:$src, 15:{ *:[i8] })
15643 /* 41893 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ128rri),
15644 /* 41896 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15645 /* 41898 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15646 /* 41900 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15647 /* 41902 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15648 /* 41904 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
15649 /* 41907 */ GIR_RootConstrainSelectedInstOperands,
15650 /* 41908 */ // GIR_Coverage, 21952,
15651 /* 41908 */ GIR_EraseRootFromParent_Done,
15652 /* 41909 */ // Label 1001: @41909
15653 /* 41909 */ GIM_Try, /*On fail goto*//*Label 1002*/ GIMT_Encode4(41936), // Rule ID 18153 //
15654 /* 41914 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
15655 /* 41917 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15656 /* 41921 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15657 /* 41925 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15658 /* 41929 */ // (xor:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPXORrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
15659 /* 41929 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORrr),
15660 /* 41934 */ GIR_RootConstrainSelectedInstOperands,
15661 /* 41935 */ // GIR_Coverage, 18153,
15662 /* 41935 */ GIR_Done,
15663 /* 41936 */ // Label 1002: @41936
15664 /* 41936 */ GIM_Try, /*On fail goto*//*Label 1003*/ GIMT_Encode4(41963), // Rule ID 18177 //
15665 /* 41941 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
15666 /* 41944 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15667 /* 41948 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15668 /* 41952 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15669 /* 41956 */ // (xor:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PXORrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
15670 /* 41956 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PXORrr),
15671 /* 41961 */ GIR_RootConstrainSelectedInstOperands,
15672 /* 41962 */ // GIR_Coverage, 18177,
15673 /* 41962 */ GIR_Done,
15674 /* 41963 */ // Label 1003: @41963
15675 /* 41963 */ GIM_Try, /*On fail goto*//*Label 1004*/ GIMT_Encode4(41990), // Rule ID 20021 //
15676 /* 41968 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
15677 /* 41971 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15678 /* 41975 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15679 /* 41979 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15680 /* 41983 */ // (xor:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPXORQZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
15681 /* 41983 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rr),
15682 /* 41988 */ GIR_RootConstrainSelectedInstOperands,
15683 /* 41989 */ // GIR_Coverage, 20021,
15684 /* 41989 */ GIR_Done,
15685 /* 41990 */ // Label 1004: @41990
15686 /* 41990 */ GIM_Reject,
15687 /* 41991 */ // Label 995: @41991
15688 /* 41991 */ GIM_Reject,
15689 /* 41992 */ // Label 861: @41992
15690 /* 41992 */ GIM_Try, /*On fail goto*//*Label 1005*/ GIMT_Encode4(42735),
15691 /* 41997 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
15692 /* 42000 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
15693 /* 42003 */ GIM_Try, /*On fail goto*//*Label 1006*/ GIMT_Encode4(42065), // Rule ID 24233 //
15694 /* 42008 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
15695 /* 42011 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15696 /* 42015 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15697 /* 42019 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15698 /* 42023 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15699 /* 42026 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15700 /* 42030 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15701 /* 42034 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15702 /* 42038 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15703 /* 42040 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15704 /* 42047 */ // (xor:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPXORDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15705 /* 42047 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORDZ256rm),
15706 /* 42050 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15707 /* 42052 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15708 /* 42054 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15709 /* 42058 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15710 /* 42063 */ GIR_RootConstrainSelectedInstOperands,
15711 /* 42064 */ // GIR_Coverage, 24233,
15712 /* 42064 */ GIR_EraseRootFromParent_Done,
15713 /* 42065 */ // Label 1006: @42065
15714 /* 42065 */ GIM_Try, /*On fail goto*//*Label 1007*/ GIMT_Encode4(42127), // Rule ID 25238 //
15715 /* 42070 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
15716 /* 42073 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15717 /* 42077 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15718 /* 42081 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15719 /* 42085 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15720 /* 42088 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15721 /* 42092 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15722 /* 42096 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15723 /* 42100 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15724 /* 42102 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15725 /* 42109 */ // (xor:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPXORYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15726 /* 42109 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
15727 /* 42112 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15728 /* 42114 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15729 /* 42116 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15730 /* 42120 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15731 /* 42125 */ GIR_RootConstrainSelectedInstOperands,
15732 /* 42126 */ // GIR_Coverage, 25238,
15733 /* 42126 */ GIR_EraseRootFromParent_Done,
15734 /* 42127 */ // Label 1007: @42127
15735 /* 42127 */ GIM_Try, /*On fail goto*//*Label 1008*/ GIMT_Encode4(42189), // Rule ID 25249 //
15736 /* 42132 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
15737 /* 42135 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15738 /* 42139 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15739 /* 42143 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15740 /* 42147 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15741 /* 42150 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15742 /* 42154 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15743 /* 42158 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15744 /* 42162 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15745 /* 42164 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15746 /* 42171 */ // (xor:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VXORPSYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15747 /* 42171 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
15748 /* 42174 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15749 /* 42176 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15750 /* 42178 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15751 /* 42182 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15752 /* 42187 */ GIR_RootConstrainSelectedInstOperands,
15753 /* 42188 */ // GIR_Coverage, 25249,
15754 /* 42188 */ GIR_EraseRootFromParent_Done,
15755 /* 42189 */ // Label 1008: @42189
15756 /* 42189 */ GIM_Try, /*On fail goto*//*Label 1009*/ GIMT_Encode4(42251), // Rule ID 5833 //
15757 /* 42194 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
15758 /* 42197 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15759 /* 42201 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15760 /* 42205 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15761 /* 42209 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15762 /* 42213 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15763 /* 42216 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15764 /* 42220 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15765 /* 42224 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15766 /* 42226 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15767 /* 42233 */ // (xor:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15768 /* 42233 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORDZ256rm),
15769 /* 42236 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15770 /* 42238 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15771 /* 42240 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15772 /* 42244 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15773 /* 42249 */ GIR_RootConstrainSelectedInstOperands,
15774 /* 42250 */ // GIR_Coverage, 5833,
15775 /* 42250 */ GIR_EraseRootFromParent_Done,
15776 /* 42251 */ // Label 1009: @42251
15777 /* 42251 */ GIM_Try, /*On fail goto*//*Label 1010*/ GIMT_Encode4(42313), // Rule ID 18110 //
15778 /* 42256 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
15779 /* 42259 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15780 /* 42263 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15781 /* 42267 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15782 /* 42271 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15783 /* 42275 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15784 /* 42278 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15785 /* 42282 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15786 /* 42286 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15787 /* 42288 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15788 /* 42295 */ // (xor:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15789 /* 42295 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
15790 /* 42298 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15791 /* 42300 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15792 /* 42302 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15793 /* 42306 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15794 /* 42311 */ GIR_RootConstrainSelectedInstOperands,
15795 /* 42312 */ // GIR_Coverage, 18110,
15796 /* 42312 */ GIR_EraseRootFromParent_Done,
15797 /* 42313 */ // Label 1010: @42313
15798 /* 42313 */ GIM_Try, /*On fail goto*//*Label 1011*/ GIMT_Encode4(42375), // Rule ID 18140 //
15799 /* 42318 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
15800 /* 42321 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15801 /* 42325 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15802 /* 42329 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15803 /* 42333 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15804 /* 42337 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15805 /* 42340 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15806 /* 42344 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15807 /* 42348 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15808 /* 42350 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15809 /* 42357 */ // (xor:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VXORPSYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15810 /* 42357 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
15811 /* 42360 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15812 /* 42362 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15813 /* 42364 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15814 /* 42368 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15815 /* 42373 */ GIR_RootConstrainSelectedInstOperands,
15816 /* 42374 */ // GIR_Coverage, 18140,
15817 /* 42374 */ GIR_EraseRootFromParent_Done,
15818 /* 42375 */ // Label 1011: @42375
15819 /* 42375 */ GIM_Try, /*On fail goto*//*Label 1012*/ GIMT_Encode4(42607), // Rule ID 21949 //
15820 /* 42380 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
15821 /* 42383 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15822 /* 42387 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15823 /* 42391 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15824 /* 42395 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15825 /* 42401 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15826 /* 42403 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15827 /* 42405 */ // (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] })
15828 /* 42405 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
15829 /* 42408 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15830 /* 42412 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
15831 /* 42417 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
15832 /* 42419 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
15833 /* 42422 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15834 /* 42426 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
15835 /* 42431 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
15836 /* 42434 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
15837 /* 42438 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/12,
15838 /* 42441 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15839 /* 42446 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15840 /* 42451 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
15841 /* 42456 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
15842 /* 42459 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15843 /* 42463 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
15844 /* 42468 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
15845 /* 42470 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
15846 /* 42473 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15847 /* 42477 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
15848 /* 42482 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
15849 /* 42485 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
15850 /* 42489 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/12,
15851 /* 42492 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15852 /* 42497 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15853 /* 42502 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
15854 /* 42507 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
15855 /* 42510 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15856 /* 42514 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
15857 /* 42519 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
15858 /* 42521 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
15859 /* 42524 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15860 /* 42528 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
15861 /* 42533 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
15862 /* 42536 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
15863 /* 42540 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/12,
15864 /* 42543 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15865 /* 42548 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15866 /* 42553 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
15867 /* 42558 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
15868 /* 42561 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
15869 /* 42565 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
15870 /* 42570 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
15871 /* 42573 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
15872 /* 42576 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
15873 /* 42579 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
15874 /* 42582 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15875 /* 42584 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15876 /* 42587 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15877 /* 42589 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
15878 /* 42596 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
15879 /* 42601 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15880 /* 42606 */ // GIR_Coverage, 21949,
15881 /* 42606 */ GIR_EraseRootFromParent_Done,
15882 /* 42607 */ // Label 1012: @42607
15883 /* 42607 */ GIM_Try, /*On fail goto*//*Label 1013*/ GIMT_Encode4(42653), // Rule ID 21957 //
15884 /* 42612 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
15885 /* 42615 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15886 /* 42619 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15887 /* 42623 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15888 /* 42627 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15889 /* 42633 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15890 /* 42635 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15891 /* 42637 */ // (xor:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src, immAllOnesV:{ *:[v8i32] }) => (VPTERNLOGQZ256rri:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src, VR256X:{ *:[v8i32] }:$src, VR256X:{ *:[v8i32] }:$src, 15:{ *:[i8] })
15892 /* 42637 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ256rri),
15893 /* 42640 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15894 /* 42642 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15895 /* 42644 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15896 /* 42646 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15897 /* 42648 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
15898 /* 42651 */ GIR_RootConstrainSelectedInstOperands,
15899 /* 42652 */ // GIR_Coverage, 21957,
15900 /* 42652 */ GIR_EraseRootFromParent_Done,
15901 /* 42653 */ // Label 1013: @42653
15902 /* 42653 */ GIM_Try, /*On fail goto*//*Label 1014*/ GIMT_Encode4(42680), // Rule ID 5830 //
15903 /* 42658 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
15904 /* 42661 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15905 /* 42665 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15906 /* 42669 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15907 /* 42673 */ // (xor:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPXORDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
15908 /* 42673 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORDZ256rr),
15909 /* 42678 */ GIR_RootConstrainSelectedInstOperands,
15910 /* 42679 */ // GIR_Coverage, 5830,
15911 /* 42679 */ GIR_Done,
15912 /* 42680 */ // Label 1014: @42680
15913 /* 42680 */ GIM_Try, /*On fail goto*//*Label 1015*/ GIMT_Encode4(42707), // Rule ID 18098 //
15914 /* 42685 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
15915 /* 42688 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15916 /* 42692 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15917 /* 42696 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15918 /* 42700 */ // (xor:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPXORYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
15919 /* 42700 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORYrr),
15920 /* 42705 */ GIR_RootConstrainSelectedInstOperands,
15921 /* 42706 */ // GIR_Coverage, 18098,
15922 /* 42706 */ GIR_Done,
15923 /* 42707 */ // Label 1015: @42707
15924 /* 42707 */ GIM_Try, /*On fail goto*//*Label 1016*/ GIMT_Encode4(42734), // Rule ID 18124 //
15925 /* 42712 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
15926 /* 42715 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15927 /* 42719 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15928 /* 42723 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15929 /* 42727 */ // (xor:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VXORPSYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
15930 /* 42727 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VXORPSYrr),
15931 /* 42732 */ GIR_RootConstrainSelectedInstOperands,
15932 /* 42733 */ // GIR_Coverage, 18124,
15933 /* 42733 */ GIR_Done,
15934 /* 42734 */ // Label 1016: @42734
15935 /* 42734 */ GIM_Reject,
15936 /* 42735 */ // Label 1005: @42735
15937 /* 42735 */ GIM_Reject,
15938 /* 42736 */ // Label 862: @42736
15939 /* 42736 */ GIM_Try, /*On fail goto*//*Label 1017*/ GIMT_Encode4(42933),
15940 /* 42741 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
15941 /* 42744 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
15942 /* 42747 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15943 /* 42751 */ GIM_Try, /*On fail goto*//*Label 1018*/ GIMT_Encode4(42809), // Rule ID 24209 //
15944 /* 42756 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
15945 /* 42759 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15946 /* 42763 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15947 /* 42767 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15948 /* 42770 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15949 /* 42774 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15950 /* 42778 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15951 /* 42782 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15952 /* 42784 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15953 /* 42791 */ // (xor:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPXORQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15954 /* 42791 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZrm),
15955 /* 42794 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15956 /* 42796 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15957 /* 42798 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15958 /* 42802 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15959 /* 42807 */ GIR_RootConstrainSelectedInstOperands,
15960 /* 42808 */ // GIR_Coverage, 24209,
15961 /* 42808 */ GIR_EraseRootFromParent_Done,
15962 /* 42809 */ // Label 1018: @42809
15963 /* 42809 */ GIM_Try, /*On fail goto*//*Label 1019*/ GIMT_Encode4(42867), // Rule ID 5797 //
15964 /* 42814 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
15965 /* 42817 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15966 /* 42821 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15967 /* 42825 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15968 /* 42829 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15969 /* 42832 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15970 /* 42836 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15971 /* 42840 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15972 /* 42842 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15973 /* 42849 */ // (xor:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15974 /* 42849 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZrm),
15975 /* 42852 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15976 /* 42854 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15977 /* 42856 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15978 /* 42860 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15979 /* 42865 */ GIR_RootConstrainSelectedInstOperands,
15980 /* 42866 */ // GIR_Coverage, 5797,
15981 /* 42866 */ GIR_EraseRootFromParent_Done,
15982 /* 42867 */ // Label 1019: @42867
15983 /* 42867 */ GIM_Try, /*On fail goto*//*Label 1020*/ GIMT_Encode4(42909), // Rule ID 21942 //
15984 /* 42872 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
15985 /* 42875 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15986 /* 42879 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15987 /* 42883 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15988 /* 42889 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15989 /* 42891 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15990 /* 42893 */ // (xor:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src, immAllOnesV:{ *:[v8i64] }) => (VPTERNLOGQZrri:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src, VR512:{ *:[v8i64] }:$src, VR512:{ *:[v8i64] }:$src, 15:{ *:[i8] })
15991 /* 42893 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
15992 /* 42896 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15993 /* 42898 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15994 /* 42900 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15995 /* 42902 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15996 /* 42904 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
15997 /* 42907 */ GIR_RootConstrainSelectedInstOperands,
15998 /* 42908 */ // GIR_Coverage, 21942,
15999 /* 42908 */ GIR_EraseRootFromParent_Done,
16000 /* 42909 */ // Label 1020: @42909
16001 /* 42909 */ GIM_Try, /*On fail goto*//*Label 1021*/ GIMT_Encode4(42932), // Rule ID 5794 //
16002 /* 42914 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
16003 /* 42917 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16004 /* 42921 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16005 /* 42925 */ // (xor:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPXORQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
16006 /* 42925 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZrr),
16007 /* 42930 */ GIR_RootConstrainSelectedInstOperands,
16008 /* 42931 */ // GIR_Coverage, 5794,
16009 /* 42931 */ GIR_Done,
16010 /* 42932 */ // Label 1021: @42932
16011 /* 42932 */ GIM_Reject,
16012 /* 42933 */ // Label 1017: @42933
16013 /* 42933 */ GIM_Reject,
16014 /* 42934 */ // Label 863: @42934
16015 /* 42934 */ GIM_Try, /*On fail goto*//*Label 1022*/ GIMT_Encode4(43191),
16016 /* 42939 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
16017 /* 42942 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
16018 /* 42945 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
16019 /* 42949 */ GIM_Try, /*On fail goto*//*Label 1023*/ GIMT_Encode4(43009), // Rule ID 23686 //
16020 /* 42954 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
16021 /* 42957 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16022 /* 42961 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
16023 /* 42965 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
16024 /* 42969 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s1,
16025 /* 42973 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
16026 /* 42978 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
16027 /* 42982 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16028 /* 42988 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
16029 /* 42990 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
16030 /* 42994 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
16031 /* 42996 */ // (xor:{ *:[v16i1] } (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, immAllOnesV:{ *:[v16i1] }), VK16:{ *:[v16i1] }:$src2) => (KXNORWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
16032 /* 42996 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
16033 /* 42999 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16034 /* 43001 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
16035 /* 43005 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
16036 /* 43007 */ GIR_RootConstrainSelectedInstOperands,
16037 /* 43008 */ // GIR_Coverage, 23686,
16038 /* 43008 */ GIR_EraseRootFromParent_Done,
16039 /* 43009 */ // Label 1023: @43009
16040 /* 43009 */ GIM_Try, /*On fail goto*//*Label 1024*/ GIMT_Encode4(43072), // Rule ID 4424 //
16041 /* 43014 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
16042 /* 43017 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16043 /* 43021 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
16044 /* 43025 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
16045 /* 43029 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s1,
16046 /* 43033 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
16047 /* 43038 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
16048 /* 43043 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
16049 /* 43047 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16050 /* 43053 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
16051 /* 43055 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
16052 /* 43057 */ // (xor:{ *:[v16i1] } (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2), immAllOnesV:{ *:[v16i1] }) => (KXNORWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
16053 /* 43057 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
16054 /* 43060 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16055 /* 43062 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
16056 /* 43066 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
16057 /* 43070 */ GIR_RootConstrainSelectedInstOperands,
16058 /* 43071 */ // GIR_Coverage, 4424,
16059 /* 43071 */ GIR_EraseRootFromParent_Done,
16060 /* 43072 */ // Label 1024: @43072
16061 /* 43072 */ GIM_Try, /*On fail goto*//*Label 1025*/ GIMT_Encode4(43132), // Rule ID 23687 //
16062 /* 43077 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
16063 /* 43080 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
16064 /* 43084 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16065 /* 43088 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
16066 /* 43092 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
16067 /* 43096 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s1,
16068 /* 43100 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
16069 /* 43105 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
16070 /* 43109 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16071 /* 43115 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
16072 /* 43117 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
16073 /* 43119 */ // (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src2, (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, immAllOnesV:{ *:[v16i1] })) => (KXNORWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
16074 /* 43119 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
16075 /* 43122 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16076 /* 43124 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
16077 /* 43128 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
16078 /* 43130 */ GIR_RootConstrainSelectedInstOperands,
16079 /* 43131 */ // GIR_Coverage, 23687,
16080 /* 43131 */ GIR_EraseRootFromParent_Done,
16081 /* 43132 */ // Label 1025: @43132
16082 /* 43132 */ GIM_Try, /*On fail goto*//*Label 1026*/ GIMT_Encode4(43167), // Rule ID 4412 //
16083 /* 43137 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
16084 /* 43140 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
16085 /* 43144 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16086 /* 43148 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16087 /* 43154 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
16088 /* 43156 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16089 /* 43158 */ // (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src, immAllOnesV:{ *:[v16i1] }) => (KNOTWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src)
16090 /* 43158 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
16091 /* 43161 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16092 /* 43163 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16093 /* 43165 */ GIR_RootConstrainSelectedInstOperands,
16094 /* 43166 */ // GIR_Coverage, 4412,
16095 /* 43166 */ GIR_EraseRootFromParent_Done,
16096 /* 43167 */ // Label 1026: @43167
16097 /* 43167 */ GIM_Try, /*On fail goto*//*Label 1027*/ GIMT_Encode4(43190), // Rule ID 4428 //
16098 /* 43172 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
16099 /* 43175 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
16100 /* 43179 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
16101 /* 43183 */ // (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2) => (KXORWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
16102 /* 43183 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KXORWkk),
16103 /* 43188 */ GIR_RootConstrainSelectedInstOperands,
16104 /* 43189 */ // GIR_Coverage, 4428,
16105 /* 43189 */ GIR_Done,
16106 /* 43190 */ // Label 1027: @43190
16107 /* 43190 */ GIM_Reject,
16108 /* 43191 */ // Label 1022: @43191
16109 /* 43191 */ GIM_Reject,
16110 /* 43192 */ // Label 864: @43192
16111 /* 43192 */ GIM_Try, /*On fail goto*//*Label 1028*/ GIMT_Encode4(43811),
16112 /* 43197 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
16113 /* 43200 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
16114 /* 43203 */ GIM_Try, /*On fail goto*//*Label 1029*/ GIMT_Encode4(43265), // Rule ID 25257 //
16115 /* 43208 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
16116 /* 43211 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16117 /* 43215 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16118 /* 43219 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16119 /* 43223 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16120 /* 43226 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16121 /* 43230 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16122 /* 43234 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16123 /* 43238 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16124 /* 43240 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16125 /* 43247 */ // (xor:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPXORrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16126 /* 43247 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
16127 /* 43250 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16128 /* 43252 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16129 /* 43254 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16130 /* 43258 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16131 /* 43263 */ GIR_RootConstrainSelectedInstOperands,
16132 /* 43264 */ // GIR_Coverage, 25257,
16133 /* 43264 */ GIR_EraseRootFromParent_Done,
16134 /* 43265 */ // Label 1029: @43265
16135 /* 43265 */ GIM_Try, /*On fail goto*//*Label 1030*/ GIMT_Encode4(43327), // Rule ID 25436 //
16136 /* 43270 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
16137 /* 43273 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16138 /* 43277 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16139 /* 43281 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16140 /* 43285 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16141 /* 43288 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16142 /* 43292 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16143 /* 43296 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16144 /* 43300 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16145 /* 43302 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16146 /* 43309 */ // (xor:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPXORQZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16147 /* 43309 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rm),
16148 /* 43312 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16149 /* 43314 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16150 /* 43316 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16151 /* 43320 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16152 /* 43325 */ GIR_RootConstrainSelectedInstOperands,
16153 /* 43326 */ // GIR_Coverage, 25436,
16154 /* 43326 */ GIR_EraseRootFromParent_Done,
16155 /* 43327 */ // Label 1030: @43327
16156 /* 43327 */ GIM_Try, /*On fail goto*//*Label 1031*/ GIMT_Encode4(43389), // Rule ID 18164 //
16157 /* 43332 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
16158 /* 43335 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16159 /* 43339 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16160 /* 43343 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16161 /* 43347 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16162 /* 43351 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16163 /* 43354 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16164 /* 43358 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16165 /* 43362 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16166 /* 43364 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16167 /* 43371 */ // (xor:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16168 /* 43371 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
16169 /* 43374 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16170 /* 43376 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16171 /* 43378 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16172 /* 43382 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16173 /* 43387 */ GIR_RootConstrainSelectedInstOperands,
16174 /* 43388 */ // GIR_Coverage, 18164,
16175 /* 43388 */ GIR_EraseRootFromParent_Done,
16176 /* 43389 */ // Label 1031: @43389
16177 /* 43389 */ GIM_Try, /*On fail goto*//*Label 1032*/ GIMT_Encode4(43451), // Rule ID 20028 //
16178 /* 43394 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
16179 /* 43397 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16180 /* 43401 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16181 /* 43405 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16182 /* 43409 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16183 /* 43413 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16184 /* 43416 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16185 /* 43420 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16186 /* 43424 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16187 /* 43426 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16188 /* 43433 */ // (xor:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16189 /* 43433 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rm),
16190 /* 43436 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16191 /* 43438 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16192 /* 43440 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16193 /* 43444 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16194 /* 43449 */ GIR_RootConstrainSelectedInstOperands,
16195 /* 43450 */ // GIR_Coverage, 20028,
16196 /* 43450 */ GIR_EraseRootFromParent_Done,
16197 /* 43451 */ // Label 1032: @43451
16198 /* 43451 */ GIM_Try, /*On fail goto*//*Label 1033*/ GIMT_Encode4(43683), // Rule ID 21943 //
16199 /* 43456 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
16200 /* 43459 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
16201 /* 43463 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16202 /* 43467 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16203 /* 43471 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16204 /* 43477 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
16205 /* 43479 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16206 /* 43481 */ // (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] })
16207 /* 43481 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
16208 /* 43484 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16209 /* 43488 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
16210 /* 43493 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
16211 /* 43495 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
16212 /* 43498 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
16213 /* 43502 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
16214 /* 43507 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
16215 /* 43510 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
16216 /* 43514 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/11,
16217 /* 43517 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
16218 /* 43522 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
16219 /* 43527 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
16220 /* 43532 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
16221 /* 43535 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16222 /* 43539 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
16223 /* 43544 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
16224 /* 43546 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
16225 /* 43549 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
16226 /* 43553 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
16227 /* 43558 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
16228 /* 43561 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
16229 /* 43565 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/11,
16230 /* 43568 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
16231 /* 43573 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
16232 /* 43578 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
16233 /* 43583 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
16234 /* 43586 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16235 /* 43590 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
16236 /* 43595 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
16237 /* 43597 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
16238 /* 43600 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
16239 /* 43604 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
16240 /* 43609 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
16241 /* 43612 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
16242 /* 43616 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/11,
16243 /* 43619 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
16244 /* 43624 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
16245 /* 43629 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
16246 /* 43634 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
16247 /* 43637 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
16248 /* 43641 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
16249 /* 43646 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
16250 /* 43649 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
16251 /* 43652 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
16252 /* 43655 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
16253 /* 43658 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
16254 /* 43660 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16255 /* 43663 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16256 /* 43665 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
16257 /* 43672 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
16258 /* 43677 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
16259 /* 43682 */ // GIR_Coverage, 21943,
16260 /* 43682 */ GIR_EraseRootFromParent_Done,
16261 /* 43683 */ // Label 1033: @43683
16262 /* 43683 */ GIM_Try, /*On fail goto*//*Label 1034*/ GIMT_Encode4(43729), // Rule ID 21951 //
16263 /* 43688 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
16264 /* 43691 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16265 /* 43695 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16266 /* 43699 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16267 /* 43703 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16268 /* 43709 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
16269 /* 43711 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16270 /* 43713 */ // (xor:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src, immAllOnesV:{ *:[v16i8] }) => (VPTERNLOGQZ128rri:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src, VR128X:{ *:[v16i8] }:$src, VR128X:{ *:[v16i8] }:$src, 15:{ *:[i8] })
16271 /* 43713 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ128rri),
16272 /* 43716 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16273 /* 43718 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16274 /* 43720 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16275 /* 43722 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16276 /* 43724 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
16277 /* 43727 */ GIR_RootConstrainSelectedInstOperands,
16278 /* 43728 */ // GIR_Coverage, 21951,
16279 /* 43728 */ GIR_EraseRootFromParent_Done,
16280 /* 43729 */ // Label 1034: @43729
16281 /* 43729 */ GIM_Try, /*On fail goto*//*Label 1035*/ GIMT_Encode4(43756), // Rule ID 18152 //
16282 /* 43734 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
16283 /* 43737 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16284 /* 43741 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16285 /* 43745 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16286 /* 43749 */ // (xor:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPXORrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
16287 /* 43749 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORrr),
16288 /* 43754 */ GIR_RootConstrainSelectedInstOperands,
16289 /* 43755 */ // GIR_Coverage, 18152,
16290 /* 43755 */ GIR_Done,
16291 /* 43756 */ // Label 1035: @43756
16292 /* 43756 */ GIM_Try, /*On fail goto*//*Label 1036*/ GIMT_Encode4(43783), // Rule ID 18176 //
16293 /* 43761 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
16294 /* 43764 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16295 /* 43768 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16296 /* 43772 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16297 /* 43776 */ // (xor:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PXORrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
16298 /* 43776 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PXORrr),
16299 /* 43781 */ GIR_RootConstrainSelectedInstOperands,
16300 /* 43782 */ // GIR_Coverage, 18176,
16301 /* 43782 */ GIR_Done,
16302 /* 43783 */ // Label 1036: @43783
16303 /* 43783 */ GIM_Try, /*On fail goto*//*Label 1037*/ GIMT_Encode4(43810), // Rule ID 20020 //
16304 /* 43788 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
16305 /* 43791 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16306 /* 43795 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16307 /* 43799 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16308 /* 43803 */ // (xor:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPXORQZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
16309 /* 43803 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rr),
16310 /* 43808 */ GIR_RootConstrainSelectedInstOperands,
16311 /* 43809 */ // GIR_Coverage, 20020,
16312 /* 43809 */ GIR_Done,
16313 /* 43810 */ // Label 1037: @43810
16314 /* 43810 */ GIM_Reject,
16315 /* 43811 */ // Label 1028: @43811
16316 /* 43811 */ GIM_Reject,
16317 /* 43812 */ // Label 865: @43812
16318 /* 43812 */ GIM_Try, /*On fail goto*//*Label 1038*/ GIMT_Encode4(44555),
16319 /* 43817 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
16320 /* 43820 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
16321 /* 43823 */ GIM_Try, /*On fail goto*//*Label 1039*/ GIMT_Encode4(43885), // Rule ID 25237 //
16322 /* 43828 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
16323 /* 43831 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16324 /* 43835 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16325 /* 43839 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16326 /* 43843 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16327 /* 43846 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16328 /* 43850 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16329 /* 43854 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16330 /* 43858 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16331 /* 43860 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16332 /* 43867 */ // (xor:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPXORYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16333 /* 43867 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
16334 /* 43870 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16335 /* 43872 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16336 /* 43874 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16337 /* 43878 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16338 /* 43883 */ GIR_RootConstrainSelectedInstOperands,
16339 /* 43884 */ // GIR_Coverage, 25237,
16340 /* 43884 */ GIR_EraseRootFromParent_Done,
16341 /* 43885 */ // Label 1039: @43885
16342 /* 43885 */ GIM_Try, /*On fail goto*//*Label 1040*/ GIMT_Encode4(43947), // Rule ID 25248 //
16343 /* 43890 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
16344 /* 43893 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16345 /* 43897 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16346 /* 43901 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16347 /* 43905 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16348 /* 43908 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16349 /* 43912 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16350 /* 43916 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16351 /* 43920 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16352 /* 43922 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16353 /* 43929 */ // (xor:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VXORPSYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16354 /* 43929 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
16355 /* 43932 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16356 /* 43934 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16357 /* 43936 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16358 /* 43940 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16359 /* 43945 */ GIR_RootConstrainSelectedInstOperands,
16360 /* 43946 */ // GIR_Coverage, 25248,
16361 /* 43946 */ GIR_EraseRootFromParent_Done,
16362 /* 43947 */ // Label 1040: @43947
16363 /* 43947 */ GIM_Try, /*On fail goto*//*Label 1041*/ GIMT_Encode4(44009), // Rule ID 25443 //
16364 /* 43952 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
16365 /* 43955 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16366 /* 43959 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16367 /* 43963 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16368 /* 43967 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16369 /* 43970 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16370 /* 43974 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16371 /* 43978 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16372 /* 43982 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16373 /* 43984 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16374 /* 43991 */ // (xor:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPXORQZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16375 /* 43991 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rm),
16376 /* 43994 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16377 /* 43996 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16378 /* 43998 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16379 /* 44002 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16380 /* 44007 */ GIR_RootConstrainSelectedInstOperands,
16381 /* 44008 */ // GIR_Coverage, 25443,
16382 /* 44008 */ GIR_EraseRootFromParent_Done,
16383 /* 44009 */ // Label 1041: @44009
16384 /* 44009 */ GIM_Try, /*On fail goto*//*Label 1042*/ GIMT_Encode4(44071), // Rule ID 18109 //
16385 /* 44014 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
16386 /* 44017 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16387 /* 44021 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16388 /* 44025 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16389 /* 44029 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16390 /* 44033 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16391 /* 44036 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16392 /* 44040 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16393 /* 44044 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16394 /* 44046 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16395 /* 44053 */ // (xor:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16396 /* 44053 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
16397 /* 44056 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16398 /* 44058 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16399 /* 44060 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16400 /* 44064 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16401 /* 44069 */ GIR_RootConstrainSelectedInstOperands,
16402 /* 44070 */ // GIR_Coverage, 18109,
16403 /* 44070 */ GIR_EraseRootFromParent_Done,
16404 /* 44071 */ // Label 1042: @44071
16405 /* 44071 */ GIM_Try, /*On fail goto*//*Label 1043*/ GIMT_Encode4(44133), // Rule ID 18139 //
16406 /* 44076 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
16407 /* 44079 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16408 /* 44083 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16409 /* 44087 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16410 /* 44091 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16411 /* 44095 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16412 /* 44098 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16413 /* 44102 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16414 /* 44106 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16415 /* 44108 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16416 /* 44115 */ // (xor:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VXORPSYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16417 /* 44115 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
16418 /* 44118 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16419 /* 44120 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16420 /* 44122 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16421 /* 44126 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16422 /* 44131 */ GIR_RootConstrainSelectedInstOperands,
16423 /* 44132 */ // GIR_Coverage, 18139,
16424 /* 44132 */ GIR_EraseRootFromParent_Done,
16425 /* 44133 */ // Label 1043: @44133
16426 /* 44133 */ GIM_Try, /*On fail goto*//*Label 1044*/ GIMT_Encode4(44195), // Rule ID 20045 //
16427 /* 44138 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
16428 /* 44141 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16429 /* 44145 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16430 /* 44149 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16431 /* 44153 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16432 /* 44157 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16433 /* 44160 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16434 /* 44164 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16435 /* 44168 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16436 /* 44170 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16437 /* 44177 */ // (xor:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16438 /* 44177 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rm),
16439 /* 44180 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16440 /* 44182 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16441 /* 44184 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16442 /* 44188 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16443 /* 44193 */ GIR_RootConstrainSelectedInstOperands,
16444 /* 44194 */ // GIR_Coverage, 20045,
16445 /* 44194 */ GIR_EraseRootFromParent_Done,
16446 /* 44195 */ // Label 1044: @44195
16447 /* 44195 */ GIM_Try, /*On fail goto*//*Label 1045*/ GIMT_Encode4(44427), // Rule ID 21948 //
16448 /* 44200 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
16449 /* 44203 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16450 /* 44207 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16451 /* 44211 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16452 /* 44215 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16453 /* 44221 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
16454 /* 44223 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16455 /* 44225 */ // (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] })
16456 /* 44225 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
16457 /* 44228 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16458 /* 44232 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
16459 /* 44237 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
16460 /* 44239 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
16461 /* 44242 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
16462 /* 44246 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
16463 /* 44251 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
16464 /* 44254 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
16465 /* 44258 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/12,
16466 /* 44261 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
16467 /* 44266 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
16468 /* 44271 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
16469 /* 44276 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
16470 /* 44279 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16471 /* 44283 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
16472 /* 44288 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
16473 /* 44290 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
16474 /* 44293 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
16475 /* 44297 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
16476 /* 44302 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
16477 /* 44305 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
16478 /* 44309 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/12,
16479 /* 44312 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
16480 /* 44317 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
16481 /* 44322 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
16482 /* 44327 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
16483 /* 44330 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16484 /* 44334 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
16485 /* 44339 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
16486 /* 44341 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
16487 /* 44344 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
16488 /* 44348 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
16489 /* 44353 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
16490 /* 44356 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
16491 /* 44360 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/12,
16492 /* 44363 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
16493 /* 44368 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
16494 /* 44373 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
16495 /* 44378 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
16496 /* 44381 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
16497 /* 44385 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
16498 /* 44390 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
16499 /* 44393 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
16500 /* 44396 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
16501 /* 44399 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
16502 /* 44402 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
16503 /* 44404 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16504 /* 44407 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16505 /* 44409 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
16506 /* 44416 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
16507 /* 44421 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
16508 /* 44426 */ // GIR_Coverage, 21948,
16509 /* 44426 */ GIR_EraseRootFromParent_Done,
16510 /* 44427 */ // Label 1045: @44427
16511 /* 44427 */ GIM_Try, /*On fail goto*//*Label 1046*/ GIMT_Encode4(44473), // Rule ID 21956 //
16512 /* 44432 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
16513 /* 44435 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16514 /* 44439 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16515 /* 44443 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16516 /* 44447 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16517 /* 44453 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
16518 /* 44455 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16519 /* 44457 */ // (xor:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src, immAllOnesV:{ *:[v16i16] }) => (VPTERNLOGQZ256rri:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src, VR256X:{ *:[v16i16] }:$src, VR256X:{ *:[v16i16] }:$src, 15:{ *:[i8] })
16520 /* 44457 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ256rri),
16521 /* 44460 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16522 /* 44462 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16523 /* 44464 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16524 /* 44466 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16525 /* 44468 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
16526 /* 44471 */ GIR_RootConstrainSelectedInstOperands,
16527 /* 44472 */ // GIR_Coverage, 21956,
16528 /* 44472 */ GIR_EraseRootFromParent_Done,
16529 /* 44473 */ // Label 1046: @44473
16530 /* 44473 */ GIM_Try, /*On fail goto*//*Label 1047*/ GIMT_Encode4(44500), // Rule ID 18097 //
16531 /* 44478 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
16532 /* 44481 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16533 /* 44485 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16534 /* 44489 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16535 /* 44493 */ // (xor:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPXORYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
16536 /* 44493 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORYrr),
16537 /* 44498 */ GIR_RootConstrainSelectedInstOperands,
16538 /* 44499 */ // GIR_Coverage, 18097,
16539 /* 44499 */ GIR_Done,
16540 /* 44500 */ // Label 1047: @44500
16541 /* 44500 */ GIM_Try, /*On fail goto*//*Label 1048*/ GIMT_Encode4(44527), // Rule ID 18123 //
16542 /* 44505 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
16543 /* 44508 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16544 /* 44512 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16545 /* 44516 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16546 /* 44520 */ // (xor:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VXORPSYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
16547 /* 44520 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VXORPSYrr),
16548 /* 44525 */ GIR_RootConstrainSelectedInstOperands,
16549 /* 44526 */ // GIR_Coverage, 18123,
16550 /* 44526 */ GIR_Done,
16551 /* 44527 */ // Label 1048: @44527
16552 /* 44527 */ GIM_Try, /*On fail goto*//*Label 1049*/ GIMT_Encode4(44554), // Rule ID 20037 //
16553 /* 44532 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
16554 /* 44535 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16555 /* 44539 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16556 /* 44543 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16557 /* 44547 */ // (xor:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPXORQZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
16558 /* 44547 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rr),
16559 /* 44552 */ GIR_RootConstrainSelectedInstOperands,
16560 /* 44553 */ // GIR_Coverage, 20037,
16561 /* 44553 */ GIR_Done,
16562 /* 44554 */ // Label 1049: @44554
16563 /* 44554 */ GIM_Reject,
16564 /* 44555 */ // Label 1038: @44555
16565 /* 44555 */ GIM_Reject,
16566 /* 44556 */ // Label 866: @44556
16567 /* 44556 */ GIM_Try, /*On fail goto*//*Label 1050*/ GIMT_Encode4(44753),
16568 /* 44561 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
16569 /* 44564 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
16570 /* 44567 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16571 /* 44571 */ GIM_Try, /*On fail goto*//*Label 1051*/ GIMT_Encode4(44629), // Rule ID 24227 //
16572 /* 44576 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
16573 /* 44579 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16574 /* 44583 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16575 /* 44587 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16576 /* 44590 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16577 /* 44594 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16578 /* 44598 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16579 /* 44602 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16580 /* 44604 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16581 /* 44611 */ // (xor:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPXORDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
16582 /* 44611 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORDZrm),
16583 /* 44614 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16584 /* 44616 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16585 /* 44618 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16586 /* 44622 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16587 /* 44627 */ GIR_RootConstrainSelectedInstOperands,
16588 /* 44628 */ // GIR_Coverage, 24227,
16589 /* 44628 */ GIR_EraseRootFromParent_Done,
16590 /* 44629 */ // Label 1051: @44629
16591 /* 44629 */ GIM_Try, /*On fail goto*//*Label 1052*/ GIMT_Encode4(44687), // Rule ID 5824 //
16592 /* 44634 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
16593 /* 44637 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16594 /* 44641 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16595 /* 44645 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16596 /* 44649 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16597 /* 44652 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16598 /* 44656 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16599 /* 44660 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16600 /* 44662 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16601 /* 44669 */ // (xor:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
16602 /* 44669 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORDZrm),
16603 /* 44672 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16604 /* 44674 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16605 /* 44676 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16606 /* 44680 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16607 /* 44685 */ GIR_RootConstrainSelectedInstOperands,
16608 /* 44686 */ // GIR_Coverage, 5824,
16609 /* 44686 */ GIR_EraseRootFromParent_Done,
16610 /* 44687 */ // Label 1052: @44687
16611 /* 44687 */ GIM_Try, /*On fail goto*//*Label 1053*/ GIMT_Encode4(44729), // Rule ID 21941 //
16612 /* 44692 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
16613 /* 44695 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16614 /* 44699 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16615 /* 44703 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16616 /* 44709 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
16617 /* 44711 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16618 /* 44713 */ // (xor:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src, immAllOnesV:{ *:[v16i32] }) => (VPTERNLOGQZrri:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src, VR512:{ *:[v16i32] }:$src, VR512:{ *:[v16i32] }:$src, 15:{ *:[i8] })
16619 /* 44713 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
16620 /* 44716 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16621 /* 44718 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16622 /* 44720 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16623 /* 44722 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16624 /* 44724 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
16625 /* 44727 */ GIR_RootConstrainSelectedInstOperands,
16626 /* 44728 */ // GIR_Coverage, 21941,
16627 /* 44728 */ GIR_EraseRootFromParent_Done,
16628 /* 44729 */ // Label 1053: @44729
16629 /* 44729 */ GIM_Try, /*On fail goto*//*Label 1054*/ GIMT_Encode4(44752), // Rule ID 5821 //
16630 /* 44734 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
16631 /* 44737 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16632 /* 44741 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16633 /* 44745 */ // (xor:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPXORDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
16634 /* 44745 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORDZrr),
16635 /* 44750 */ GIR_RootConstrainSelectedInstOperands,
16636 /* 44751 */ // GIR_Coverage, 5821,
16637 /* 44751 */ GIR_Done,
16638 /* 44752 */ // Label 1054: @44752
16639 /* 44752 */ GIM_Reject,
16640 /* 44753 */ // Label 1050: @44753
16641 /* 44753 */ GIM_Reject,
16642 /* 44754 */ // Label 867: @44754
16643 /* 44754 */ GIM_Try, /*On fail goto*//*Label 1055*/ GIMT_Encode4(45011),
16644 /* 44759 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
16645 /* 44762 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s1,
16646 /* 44765 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
16647 /* 44769 */ GIM_Try, /*On fail goto*//*Label 1056*/ GIMT_Encode4(44829), // Rule ID 23688 //
16648 /* 44774 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
16649 /* 44777 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16650 /* 44781 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
16651 /* 44785 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v32s1,
16652 /* 44789 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v32s1,
16653 /* 44793 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
16654 /* 44798 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
16655 /* 44802 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16656 /* 44808 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
16657 /* 44810 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
16658 /* 44814 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
16659 /* 44816 */ // (xor:{ *:[v32i1] } (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, immAllOnesV:{ *:[v32i1] }), VK32:{ *:[v32i1] }:$src2) => (KXNORDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
16660 /* 44816 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORDkk),
16661 /* 44819 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16662 /* 44821 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
16663 /* 44825 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
16664 /* 44827 */ GIR_RootConstrainSelectedInstOperands,
16665 /* 44828 */ // GIR_Coverage, 23688,
16666 /* 44828 */ GIR_EraseRootFromParent_Done,
16667 /* 44829 */ // Label 1056: @44829
16668 /* 44829 */ GIM_Try, /*On fail goto*//*Label 1057*/ GIMT_Encode4(44892), // Rule ID 4425 //
16669 /* 44834 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
16670 /* 44837 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16671 /* 44841 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
16672 /* 44845 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v32s1,
16673 /* 44849 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v32s1,
16674 /* 44853 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
16675 /* 44858 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
16676 /* 44863 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
16677 /* 44867 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16678 /* 44873 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
16679 /* 44875 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
16680 /* 44877 */ // (xor:{ *:[v32i1] } (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2), immAllOnesV:{ *:[v32i1] }) => (KXNORDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
16681 /* 44877 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORDkk),
16682 /* 44880 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16683 /* 44882 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
16684 /* 44886 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
16685 /* 44890 */ GIR_RootConstrainSelectedInstOperands,
16686 /* 44891 */ // GIR_Coverage, 4425,
16687 /* 44891 */ GIR_EraseRootFromParent_Done,
16688 /* 44892 */ // Label 1057: @44892
16689 /* 44892 */ GIM_Try, /*On fail goto*//*Label 1058*/ GIMT_Encode4(44952), // Rule ID 23689 //
16690 /* 44897 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
16691 /* 44900 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
16692 /* 44904 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16693 /* 44908 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
16694 /* 44912 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v32s1,
16695 /* 44916 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v32s1,
16696 /* 44920 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
16697 /* 44925 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
16698 /* 44929 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16699 /* 44935 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
16700 /* 44937 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
16701 /* 44939 */ // (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src2, (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, immAllOnesV:{ *:[v32i1] })) => (KXNORDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
16702 /* 44939 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORDkk),
16703 /* 44942 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16704 /* 44944 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
16705 /* 44948 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
16706 /* 44950 */ GIR_RootConstrainSelectedInstOperands,
16707 /* 44951 */ // GIR_Coverage, 23689,
16708 /* 44951 */ GIR_EraseRootFromParent_Done,
16709 /* 44952 */ // Label 1058: @44952
16710 /* 44952 */ GIM_Try, /*On fail goto*//*Label 1059*/ GIMT_Encode4(44987), // Rule ID 4413 //
16711 /* 44957 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
16712 /* 44960 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
16713 /* 44964 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16714 /* 44968 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16715 /* 44974 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
16716 /* 44976 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16717 /* 44978 */ // (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src, immAllOnesV:{ *:[v32i1] }) => (KNOTDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src)
16718 /* 44978 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KNOTDkk),
16719 /* 44981 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16720 /* 44983 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16721 /* 44985 */ GIR_RootConstrainSelectedInstOperands,
16722 /* 44986 */ // GIR_Coverage, 4413,
16723 /* 44986 */ GIR_EraseRootFromParent_Done,
16724 /* 44987 */ // Label 1059: @44987
16725 /* 44987 */ GIM_Try, /*On fail goto*//*Label 1060*/ GIMT_Encode4(45010), // Rule ID 4429 //
16726 /* 44992 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
16727 /* 44995 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
16728 /* 44999 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
16729 /* 45003 */ // (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2) => (KXORDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
16730 /* 45003 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KXORDkk),
16731 /* 45008 */ GIR_RootConstrainSelectedInstOperands,
16732 /* 45009 */ // GIR_Coverage, 4429,
16733 /* 45009 */ GIR_Done,
16734 /* 45010 */ // Label 1060: @45010
16735 /* 45010 */ GIM_Reject,
16736 /* 45011 */ // Label 1055: @45011
16737 /* 45011 */ GIM_Reject,
16738 /* 45012 */ // Label 868: @45012
16739 /* 45012 */ GIM_Try, /*On fail goto*//*Label 1061*/ GIMT_Encode4(45755),
16740 /* 45017 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
16741 /* 45020 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
16742 /* 45023 */ GIM_Try, /*On fail goto*//*Label 1062*/ GIMT_Encode4(45085), // Rule ID 25236 //
16743 /* 45028 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
16744 /* 45031 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16745 /* 45035 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16746 /* 45039 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16747 /* 45043 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16748 /* 45046 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16749 /* 45050 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16750 /* 45054 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16751 /* 45058 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16752 /* 45060 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16753 /* 45067 */ // (xor:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPXORYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16754 /* 45067 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
16755 /* 45070 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16756 /* 45072 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16757 /* 45074 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16758 /* 45078 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16759 /* 45083 */ GIR_RootConstrainSelectedInstOperands,
16760 /* 45084 */ // GIR_Coverage, 25236,
16761 /* 45084 */ GIR_EraseRootFromParent_Done,
16762 /* 45085 */ // Label 1062: @45085
16763 /* 45085 */ GIM_Try, /*On fail goto*//*Label 1063*/ GIMT_Encode4(45147), // Rule ID 25247 //
16764 /* 45090 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
16765 /* 45093 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16766 /* 45097 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16767 /* 45101 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16768 /* 45105 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16769 /* 45108 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16770 /* 45112 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16771 /* 45116 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16772 /* 45120 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16773 /* 45122 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16774 /* 45129 */ // (xor:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VXORPSYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16775 /* 45129 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
16776 /* 45132 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16777 /* 45134 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16778 /* 45136 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16779 /* 45140 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16780 /* 45145 */ GIR_RootConstrainSelectedInstOperands,
16781 /* 45146 */ // GIR_Coverage, 25247,
16782 /* 45146 */ GIR_EraseRootFromParent_Done,
16783 /* 45147 */ // Label 1063: @45147
16784 /* 45147 */ GIM_Try, /*On fail goto*//*Label 1064*/ GIMT_Encode4(45209), // Rule ID 25442 //
16785 /* 45152 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
16786 /* 45155 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16787 /* 45159 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16788 /* 45163 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16789 /* 45167 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16790 /* 45170 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16791 /* 45174 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16792 /* 45178 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16793 /* 45182 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16794 /* 45184 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16795 /* 45191 */ // (xor:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPXORQZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16796 /* 45191 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rm),
16797 /* 45194 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16798 /* 45196 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16799 /* 45198 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16800 /* 45202 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16801 /* 45207 */ GIR_RootConstrainSelectedInstOperands,
16802 /* 45208 */ // GIR_Coverage, 25442,
16803 /* 45208 */ GIR_EraseRootFromParent_Done,
16804 /* 45209 */ // Label 1064: @45209
16805 /* 45209 */ GIM_Try, /*On fail goto*//*Label 1065*/ GIMT_Encode4(45271), // Rule ID 18108 //
16806 /* 45214 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
16807 /* 45217 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16808 /* 45221 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16809 /* 45225 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16810 /* 45229 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16811 /* 45233 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16812 /* 45236 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16813 /* 45240 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16814 /* 45244 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16815 /* 45246 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16816 /* 45253 */ // (xor:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16817 /* 45253 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
16818 /* 45256 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16819 /* 45258 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16820 /* 45260 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16821 /* 45264 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16822 /* 45269 */ GIR_RootConstrainSelectedInstOperands,
16823 /* 45270 */ // GIR_Coverage, 18108,
16824 /* 45270 */ GIR_EraseRootFromParent_Done,
16825 /* 45271 */ // Label 1065: @45271
16826 /* 45271 */ GIM_Try, /*On fail goto*//*Label 1066*/ GIMT_Encode4(45333), // Rule ID 18138 //
16827 /* 45276 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
16828 /* 45279 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16829 /* 45283 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16830 /* 45287 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16831 /* 45291 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16832 /* 45295 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16833 /* 45298 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16834 /* 45302 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16835 /* 45306 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16836 /* 45308 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16837 /* 45315 */ // (xor:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VXORPSYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16838 /* 45315 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
16839 /* 45318 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16840 /* 45320 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16841 /* 45322 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16842 /* 45326 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16843 /* 45331 */ GIR_RootConstrainSelectedInstOperands,
16844 /* 45332 */ // GIR_Coverage, 18138,
16845 /* 45332 */ GIR_EraseRootFromParent_Done,
16846 /* 45333 */ // Label 1066: @45333
16847 /* 45333 */ GIM_Try, /*On fail goto*//*Label 1067*/ GIMT_Encode4(45395), // Rule ID 20044 //
16848 /* 45338 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
16849 /* 45341 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16850 /* 45345 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16851 /* 45349 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16852 /* 45353 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16853 /* 45357 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16854 /* 45360 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16855 /* 45364 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16856 /* 45368 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16857 /* 45370 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16858 /* 45377 */ // (xor:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16859 /* 45377 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rm),
16860 /* 45380 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16861 /* 45382 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16862 /* 45384 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16863 /* 45388 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16864 /* 45393 */ GIR_RootConstrainSelectedInstOperands,
16865 /* 45394 */ // GIR_Coverage, 20044,
16866 /* 45394 */ GIR_EraseRootFromParent_Done,
16867 /* 45395 */ // Label 1067: @45395
16868 /* 45395 */ GIM_Try, /*On fail goto*//*Label 1068*/ GIMT_Encode4(45627), // Rule ID 21947 //
16869 /* 45400 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
16870 /* 45403 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16871 /* 45407 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16872 /* 45411 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16873 /* 45415 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16874 /* 45421 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
16875 /* 45423 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16876 /* 45425 */ // (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] })
16877 /* 45425 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
16878 /* 45428 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16879 /* 45432 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
16880 /* 45437 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
16881 /* 45439 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
16882 /* 45442 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
16883 /* 45446 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
16884 /* 45451 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
16885 /* 45454 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
16886 /* 45458 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/12,
16887 /* 45461 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
16888 /* 45466 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
16889 /* 45471 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
16890 /* 45476 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
16891 /* 45479 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16892 /* 45483 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
16893 /* 45488 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
16894 /* 45490 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
16895 /* 45493 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
16896 /* 45497 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
16897 /* 45502 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
16898 /* 45505 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
16899 /* 45509 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/12,
16900 /* 45512 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
16901 /* 45517 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
16902 /* 45522 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
16903 /* 45527 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
16904 /* 45530 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16905 /* 45534 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
16906 /* 45539 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
16907 /* 45541 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
16908 /* 45544 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
16909 /* 45548 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
16910 /* 45553 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
16911 /* 45556 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
16912 /* 45560 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/12,
16913 /* 45563 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
16914 /* 45568 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
16915 /* 45573 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
16916 /* 45578 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
16917 /* 45581 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
16918 /* 45585 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
16919 /* 45590 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
16920 /* 45593 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
16921 /* 45596 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
16922 /* 45599 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
16923 /* 45602 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
16924 /* 45604 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16925 /* 45607 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16926 /* 45609 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
16927 /* 45616 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
16928 /* 45621 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
16929 /* 45626 */ // GIR_Coverage, 21947,
16930 /* 45626 */ GIR_EraseRootFromParent_Done,
16931 /* 45627 */ // Label 1068: @45627
16932 /* 45627 */ GIM_Try, /*On fail goto*//*Label 1069*/ GIMT_Encode4(45673), // Rule ID 21955 //
16933 /* 45632 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
16934 /* 45635 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16935 /* 45639 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16936 /* 45643 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16937 /* 45647 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16938 /* 45653 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
16939 /* 45655 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16940 /* 45657 */ // (xor:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src, immAllOnesV:{ *:[v32i8] }) => (VPTERNLOGQZ256rri:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src, VR256X:{ *:[v32i8] }:$src, VR256X:{ *:[v32i8] }:$src, 15:{ *:[i8] })
16941 /* 45657 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ256rri),
16942 /* 45660 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16943 /* 45662 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16944 /* 45664 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16945 /* 45666 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16946 /* 45668 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
16947 /* 45671 */ GIR_RootConstrainSelectedInstOperands,
16948 /* 45672 */ // GIR_Coverage, 21955,
16949 /* 45672 */ GIR_EraseRootFromParent_Done,
16950 /* 45673 */ // Label 1069: @45673
16951 /* 45673 */ GIM_Try, /*On fail goto*//*Label 1070*/ GIMT_Encode4(45700), // Rule ID 18096 //
16952 /* 45678 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
16953 /* 45681 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16954 /* 45685 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16955 /* 45689 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16956 /* 45693 */ // (xor:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPXORYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
16957 /* 45693 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORYrr),
16958 /* 45698 */ GIR_RootConstrainSelectedInstOperands,
16959 /* 45699 */ // GIR_Coverage, 18096,
16960 /* 45699 */ GIR_Done,
16961 /* 45700 */ // Label 1070: @45700
16962 /* 45700 */ GIM_Try, /*On fail goto*//*Label 1071*/ GIMT_Encode4(45727), // Rule ID 18122 //
16963 /* 45705 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
16964 /* 45708 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16965 /* 45712 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16966 /* 45716 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16967 /* 45720 */ // (xor:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VXORPSYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
16968 /* 45720 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VXORPSYrr),
16969 /* 45725 */ GIR_RootConstrainSelectedInstOperands,
16970 /* 45726 */ // GIR_Coverage, 18122,
16971 /* 45726 */ GIR_Done,
16972 /* 45727 */ // Label 1071: @45727
16973 /* 45727 */ GIM_Try, /*On fail goto*//*Label 1072*/ GIMT_Encode4(45754), // Rule ID 20036 //
16974 /* 45732 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
16975 /* 45735 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16976 /* 45739 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16977 /* 45743 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16978 /* 45747 */ // (xor:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPXORQZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
16979 /* 45747 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rr),
16980 /* 45752 */ GIR_RootConstrainSelectedInstOperands,
16981 /* 45753 */ // GIR_Coverage, 20036,
16982 /* 45753 */ GIR_Done,
16983 /* 45754 */ // Label 1072: @45754
16984 /* 45754 */ GIM_Reject,
16985 /* 45755 */ // Label 1061: @45755
16986 /* 45755 */ GIM_Reject,
16987 /* 45756 */ // Label 869: @45756
16988 /* 45756 */ GIM_Try, /*On fail goto*//*Label 1073*/ GIMT_Encode4(45953),
16989 /* 45761 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
16990 /* 45764 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
16991 /* 45767 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16992 /* 45771 */ GIM_Try, /*On fail goto*//*Label 1074*/ GIMT_Encode4(45829), // Rule ID 25449 //
16993 /* 45776 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
16994 /* 45779 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16995 /* 45783 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16996 /* 45787 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16997 /* 45790 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16998 /* 45794 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16999 /* 45798 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17000 /* 45802 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17001 /* 45804 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17002 /* 45811 */ // (xor:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPXORQZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
17003 /* 45811 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZrm),
17004 /* 45814 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17005 /* 45816 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
17006 /* 45818 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
17007 /* 45822 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17008 /* 45827 */ GIR_RootConstrainSelectedInstOperands,
17009 /* 45828 */ // GIR_Coverage, 25449,
17010 /* 45828 */ GIR_EraseRootFromParent_Done,
17011 /* 45829 */ // Label 1074: @45829
17012 /* 45829 */ GIM_Try, /*On fail goto*//*Label 1075*/ GIMT_Encode4(45887), // Rule ID 20061 //
17013 /* 45834 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17014 /* 45837 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17015 /* 45841 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17016 /* 45845 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17017 /* 45849 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17018 /* 45852 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17019 /* 45856 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17020 /* 45860 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17021 /* 45862 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17022 /* 45869 */ // (xor:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
17023 /* 45869 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZrm),
17024 /* 45872 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17025 /* 45874 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
17026 /* 45876 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
17027 /* 45880 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17028 /* 45885 */ GIR_RootConstrainSelectedInstOperands,
17029 /* 45886 */ // GIR_Coverage, 20061,
17030 /* 45886 */ GIR_EraseRootFromParent_Done,
17031 /* 45887 */ // Label 1075: @45887
17032 /* 45887 */ GIM_Try, /*On fail goto*//*Label 1076*/ GIMT_Encode4(45929), // Rule ID 21940 //
17033 /* 45892 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17034 /* 45895 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17035 /* 45899 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17036 /* 45903 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
17037 /* 45909 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
17038 /* 45911 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17039 /* 45913 */ // (xor:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src, immAllOnesV:{ *:[v32i16] }) => (VPTERNLOGQZrri:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src, VR512:{ *:[v32i16] }:$src, VR512:{ *:[v32i16] }:$src, 15:{ *:[i8] })
17040 /* 45913 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
17041 /* 45916 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17042 /* 45918 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
17043 /* 45920 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
17044 /* 45922 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
17045 /* 45924 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
17046 /* 45927 */ GIR_RootConstrainSelectedInstOperands,
17047 /* 45928 */ // GIR_Coverage, 21940,
17048 /* 45928 */ GIR_EraseRootFromParent_Done,
17049 /* 45929 */ // Label 1076: @45929
17050 /* 45929 */ GIM_Try, /*On fail goto*//*Label 1077*/ GIMT_Encode4(45952), // Rule ID 20053 //
17051 /* 45934 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17052 /* 45937 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17053 /* 45941 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17054 /* 45945 */ // (xor:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPXORQZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
17055 /* 45945 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZrr),
17056 /* 45950 */ GIR_RootConstrainSelectedInstOperands,
17057 /* 45951 */ // GIR_Coverage, 20053,
17058 /* 45951 */ GIR_Done,
17059 /* 45952 */ // Label 1077: @45952
17060 /* 45952 */ GIM_Reject,
17061 /* 45953 */ // Label 1073: @45953
17062 /* 45953 */ GIM_Reject,
17063 /* 45954 */ // Label 870: @45954
17064 /* 45954 */ GIM_Try, /*On fail goto*//*Label 1078*/ GIMT_Encode4(46211),
17065 /* 45959 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
17066 /* 45962 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s1,
17067 /* 45965 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
17068 /* 45969 */ GIM_Try, /*On fail goto*//*Label 1079*/ GIMT_Encode4(46029), // Rule ID 23690 //
17069 /* 45974 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
17070 /* 45977 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17071 /* 45981 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
17072 /* 45985 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v64s1,
17073 /* 45989 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v64s1,
17074 /* 45993 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
17075 /* 45998 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
17076 /* 46002 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
17077 /* 46008 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
17078 /* 46010 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
17079 /* 46014 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
17080 /* 46016 */ // (xor:{ *:[v64i1] } (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, immAllOnesV:{ *:[v64i1] }), VK64:{ *:[v64i1] }:$src2) => (KXNORQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
17081 /* 46016 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORQkk),
17082 /* 46019 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17083 /* 46021 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
17084 /* 46025 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
17085 /* 46027 */ GIR_RootConstrainSelectedInstOperands,
17086 /* 46028 */ // GIR_Coverage, 23690,
17087 /* 46028 */ GIR_EraseRootFromParent_Done,
17088 /* 46029 */ // Label 1079: @46029
17089 /* 46029 */ GIM_Try, /*On fail goto*//*Label 1080*/ GIMT_Encode4(46092), // Rule ID 4426 //
17090 /* 46034 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
17091 /* 46037 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17092 /* 46041 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
17093 /* 46045 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v64s1,
17094 /* 46049 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v64s1,
17095 /* 46053 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
17096 /* 46058 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
17097 /* 46063 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
17098 /* 46067 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
17099 /* 46073 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
17100 /* 46075 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
17101 /* 46077 */ // (xor:{ *:[v64i1] } (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2), immAllOnesV:{ *:[v64i1] }) => (KXNORQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
17102 /* 46077 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORQkk),
17103 /* 46080 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17104 /* 46082 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
17105 /* 46086 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
17106 /* 46090 */ GIR_RootConstrainSelectedInstOperands,
17107 /* 46091 */ // GIR_Coverage, 4426,
17108 /* 46091 */ GIR_EraseRootFromParent_Done,
17109 /* 46092 */ // Label 1080: @46092
17110 /* 46092 */ GIM_Try, /*On fail goto*//*Label 1081*/ GIMT_Encode4(46152), // Rule ID 23691 //
17111 /* 46097 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
17112 /* 46100 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
17113 /* 46104 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17114 /* 46108 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
17115 /* 46112 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v64s1,
17116 /* 46116 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v64s1,
17117 /* 46120 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
17118 /* 46125 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
17119 /* 46129 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
17120 /* 46135 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
17121 /* 46137 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
17122 /* 46139 */ // (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src2, (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, immAllOnesV:{ *:[v64i1] })) => (KXNORQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
17123 /* 46139 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORQkk),
17124 /* 46142 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17125 /* 46144 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
17126 /* 46148 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
17127 /* 46150 */ GIR_RootConstrainSelectedInstOperands,
17128 /* 46151 */ // GIR_Coverage, 23691,
17129 /* 46151 */ GIR_EraseRootFromParent_Done,
17130 /* 46152 */ // Label 1081: @46152
17131 /* 46152 */ GIM_Try, /*On fail goto*//*Label 1082*/ GIMT_Encode4(46187), // Rule ID 4414 //
17132 /* 46157 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
17133 /* 46160 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
17134 /* 46164 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17135 /* 46168 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
17136 /* 46174 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
17137 /* 46176 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17138 /* 46178 */ // (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src, immAllOnesV:{ *:[v64i1] }) => (KNOTQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src)
17139 /* 46178 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KNOTQkk),
17140 /* 46181 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17141 /* 46183 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
17142 /* 46185 */ GIR_RootConstrainSelectedInstOperands,
17143 /* 46186 */ // GIR_Coverage, 4414,
17144 /* 46186 */ GIR_EraseRootFromParent_Done,
17145 /* 46187 */ // Label 1082: @46187
17146 /* 46187 */ GIM_Try, /*On fail goto*//*Label 1083*/ GIMT_Encode4(46210), // Rule ID 4430 //
17147 /* 46192 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
17148 /* 46195 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
17149 /* 46199 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
17150 /* 46203 */ // (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2) => (KXORQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
17151 /* 46203 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KXORQkk),
17152 /* 46208 */ GIR_RootConstrainSelectedInstOperands,
17153 /* 46209 */ // GIR_Coverage, 4430,
17154 /* 46209 */ GIR_Done,
17155 /* 46210 */ // Label 1083: @46210
17156 /* 46210 */ GIM_Reject,
17157 /* 46211 */ // Label 1078: @46211
17158 /* 46211 */ GIM_Reject,
17159 /* 46212 */ // Label 871: @46212
17160 /* 46212 */ GIM_Try, /*On fail goto*//*Label 1084*/ GIMT_Encode4(46409),
17161 /* 46217 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
17162 /* 46220 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
17163 /* 46223 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17164 /* 46227 */ GIM_Try, /*On fail goto*//*Label 1085*/ GIMT_Encode4(46285), // Rule ID 25448 //
17165 /* 46232 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17166 /* 46235 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17167 /* 46239 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17168 /* 46243 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17169 /* 46246 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17170 /* 46250 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17171 /* 46254 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17172 /* 46258 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17173 /* 46260 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17174 /* 46267 */ // (xor:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPXORQZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
17175 /* 46267 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZrm),
17176 /* 46270 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17177 /* 46272 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
17178 /* 46274 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
17179 /* 46278 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17180 /* 46283 */ GIR_RootConstrainSelectedInstOperands,
17181 /* 46284 */ // GIR_Coverage, 25448,
17182 /* 46284 */ GIR_EraseRootFromParent_Done,
17183 /* 46285 */ // Label 1085: @46285
17184 /* 46285 */ GIM_Try, /*On fail goto*//*Label 1086*/ GIMT_Encode4(46343), // Rule ID 20060 //
17185 /* 46290 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17186 /* 46293 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17187 /* 46297 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17188 /* 46301 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17189 /* 46305 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17190 /* 46308 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17191 /* 46312 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17192 /* 46316 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17193 /* 46318 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17194 /* 46325 */ // (xor:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
17195 /* 46325 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZrm),
17196 /* 46328 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17197 /* 46330 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
17198 /* 46332 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
17199 /* 46336 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17200 /* 46341 */ GIR_RootConstrainSelectedInstOperands,
17201 /* 46342 */ // GIR_Coverage, 20060,
17202 /* 46342 */ GIR_EraseRootFromParent_Done,
17203 /* 46343 */ // Label 1086: @46343
17204 /* 46343 */ GIM_Try, /*On fail goto*//*Label 1087*/ GIMT_Encode4(46385), // Rule ID 21939 //
17205 /* 46348 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17206 /* 46351 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17207 /* 46355 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17208 /* 46359 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
17209 /* 46365 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
17210 /* 46367 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17211 /* 46369 */ // (xor:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src, immAllOnesV:{ *:[v64i8] }) => (VPTERNLOGQZrri:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src, VR512:{ *:[v64i8] }:$src, VR512:{ *:[v64i8] }:$src, 15:{ *:[i8] })
17212 /* 46369 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
17213 /* 46372 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17214 /* 46374 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
17215 /* 46376 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
17216 /* 46378 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
17217 /* 46380 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
17218 /* 46383 */ GIR_RootConstrainSelectedInstOperands,
17219 /* 46384 */ // GIR_Coverage, 21939,
17220 /* 46384 */ GIR_EraseRootFromParent_Done,
17221 /* 46385 */ // Label 1087: @46385
17222 /* 46385 */ GIM_Try, /*On fail goto*//*Label 1088*/ GIMT_Encode4(46408), // Rule ID 20052 //
17223 /* 46390 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17224 /* 46393 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17225 /* 46397 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17226 /* 46401 */ // (xor:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPXORQZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
17227 /* 46401 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZrr),
17228 /* 46406 */ GIR_RootConstrainSelectedInstOperands,
17229 /* 46407 */ // GIR_Coverage, 20052,
17230 /* 46407 */ GIR_Done,
17231 /* 46408 */ // Label 1088: @46408
17232 /* 46408 */ GIM_Reject,
17233 /* 46409 */ // Label 1084: @46409
17234 /* 46409 */ GIM_Reject,
17235 /* 46410 */ // Label 872: @46410
17236 /* 46410 */ GIM_Reject,
17237 /* 46411 */ // Label 6: @46411
17238 /* 46411 */ GIM_Try, /*On fail goto*//*Label 1089*/ GIMT_Encode4(46577),
17239 /* 46416 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/3,
17240 /* 46419 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(16), GIMT_Encode2(24), /*)*//*default:*//*Label 1093*/ GIMT_Encode4(46576),
17241 /* 46430 */ /*GILLT_v16s1*//*Label 1090*/ GIMT_Encode4(46462), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
17242 /* 46446 */ /*GILLT_v32s1*//*Label 1091*/ GIMT_Encode4(46500), GIMT_Encode4(0), GIMT_Encode4(0),
17243 /* 46458 */ /*GILLT_v64s1*//*Label 1092*/ GIMT_Encode4(46538),
17244 /* 46462 */ // Label 1090: @46462
17245 /* 46462 */ GIM_Try, /*On fail goto*//*Label 1094*/ GIMT_Encode4(46499), // Rule ID 19503 //
17246 /* 46467 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17247 /* 46470 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
17248 /* 46473 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
17249 /* 46476 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
17250 /* 46480 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
17251 /* 46484 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
17252 /* 46488 */ // (concat_vectors:{ *:[v16i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2) => (KUNPCKBWkk:{ *:[v16i1] } VK8:{ *:[v8i1] }:$src2, VK8:{ *:[v8i1] }:$src1)
17253 /* 46488 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KUNPCKBWkk),
17254 /* 46491 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17255 /* 46493 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
17256 /* 46495 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
17257 /* 46497 */ GIR_RootConstrainSelectedInstOperands,
17258 /* 46498 */ // GIR_Coverage, 19503,
17259 /* 46498 */ GIR_EraseRootFromParent_Done,
17260 /* 46499 */ // Label 1094: @46499
17261 /* 46499 */ GIM_Reject,
17262 /* 46500 */ // Label 1091: @46500
17263 /* 46500 */ GIM_Try, /*On fail goto*//*Label 1095*/ GIMT_Encode4(46537), // Rule ID 19504 //
17264 /* 46505 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
17265 /* 46508 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
17266 /* 46511 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
17267 /* 46514 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
17268 /* 46518 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
17269 /* 46522 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
17270 /* 46526 */ // (concat_vectors:{ *:[v32i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2) => (KUNPCKWDkk:{ *:[v32i1] } VK16:{ *:[v16i1] }:$src2, VK16:{ *:[v16i1] }:$src1)
17271 /* 46526 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KUNPCKWDkk),
17272 /* 46529 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17273 /* 46531 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
17274 /* 46533 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
17275 /* 46535 */ GIR_RootConstrainSelectedInstOperands,
17276 /* 46536 */ // GIR_Coverage, 19504,
17277 /* 46536 */ GIR_EraseRootFromParent_Done,
17278 /* 46537 */ // Label 1095: @46537
17279 /* 46537 */ GIM_Reject,
17280 /* 46538 */ // Label 1092: @46538
17281 /* 46538 */ GIM_Try, /*On fail goto*//*Label 1096*/ GIMT_Encode4(46575), // Rule ID 19505 //
17282 /* 46543 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
17283 /* 46546 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
17284 /* 46549 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s1,
17285 /* 46552 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
17286 /* 46556 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
17287 /* 46560 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
17288 /* 46564 */ // (concat_vectors:{ *:[v64i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2) => (KUNPCKDQkk:{ *:[v64i1] } VK32:{ *:[v32i1] }:$src2, VK32:{ *:[v32i1] }:$src1)
17289 /* 46564 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KUNPCKDQkk),
17290 /* 46567 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17291 /* 46569 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
17292 /* 46571 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
17293 /* 46573 */ GIR_RootConstrainSelectedInstOperands,
17294 /* 46574 */ // GIR_Coverage, 19505,
17295 /* 46574 */ GIR_EraseRootFromParent_Done,
17296 /* 46575 */ // Label 1096: @46575
17297 /* 46575 */ GIM_Reject,
17298 /* 46576 */ // Label 1093: @46576
17299 /* 46576 */ GIM_Reject,
17300 /* 46577 */ // Label 1089: @46577
17301 /* 46577 */ GIM_Reject,
17302 /* 46578 */ // Label 7: @46578
17303 /* 46578 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(24), /*)*//*default:*//*Label 1105*/ GIMT_Encode4(48867),
17304 /* 46589 */ /*GILLT_s8*//*Label 1097*/ GIMT_Encode4(46681),
17305 /* 46593 */ /*GILLT_s16*//*Label 1098*/ GIMT_Encode4(46742),
17306 /* 46597 */ /*GILLT_s32*//*Label 1099*/ GIMT_Encode4(47572),
17307 /* 46601 */ /*GILLT_s64*//*Label 1100*/ GIMT_Encode4(47998), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
17308 /* 46633 */ /*GILLT_v8s1*//*Label 1101*/ GIMT_Encode4(48424), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
17309 /* 46649 */ /*GILLT_v16s1*//*Label 1102*/ GIMT_Encode4(48585), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
17310 /* 46665 */ /*GILLT_v32s1*//*Label 1103*/ GIMT_Encode4(48725), GIMT_Encode4(0), GIMT_Encode4(0),
17311 /* 46677 */ /*GILLT_v64s1*//*Label 1104*/ GIMT_Encode4(48796),
17312 /* 46681 */ // Label 1097: @46681
17313 /* 46681 */ GIM_Try, /*On fail goto*//*Label 1106*/ GIMT_Encode4(46741), // Rule ID 19434 //
17314 /* 46686 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
17315 /* 46689 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
17316 /* 46693 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
17317 /* 46697 */ // (bitconvert:{ *:[i8] } VK8:{ *:[v8i1] }:$src) => (EXTRACT_SUBREG:{ *:[i8] } (COPY_TO_REGCLASS:{ *:[i32] } VK8:{ *:[v8i1] }:$src, GR32:{ *:[i32] }), sub_8bit:{ *:[i32] })
17318 /* 46697 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17319 /* 46700 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17320 /* 46704 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
17321 /* 46709 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
17322 /* 46713 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
17323 /* 46718 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17324 /* 46721 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17325 /* 46723 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_8bit),
17326 /* 46730 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
17327 /* 46735 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
17328 /* 46740 */ // GIR_Coverage, 19434,
17329 /* 46740 */ GIR_EraseRootFromParent_Done,
17330 /* 46741 */ // Label 1106: @46741
17331 /* 46741 */ GIM_Reject,
17332 /* 46742 */ // Label 1098: @46742
17333 /* 46742 */ GIM_Try, /*On fail goto*//*Label 1107*/ GIMT_Encode4(46802), // Rule ID 19431 //
17334 /* 46747 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
17335 /* 46750 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
17336 /* 46754 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
17337 /* 46758 */ // (bitconvert:{ *:[i16] } VK16:{ *:[v16i1] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (COPY_TO_REGCLASS:{ *:[i32] } VK16:{ *:[v16i1] }:$src, GR32:{ *:[i32] }), sub_16bit:{ *:[i32] })
17338 /* 46758 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17339 /* 46761 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17340 /* 46765 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
17341 /* 46770 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
17342 /* 46774 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
17343 /* 46779 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17344 /* 46782 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17345 /* 46784 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
17346 /* 46791 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
17347 /* 46796 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
17348 /* 46801 */ // GIR_Coverage, 19431,
17349 /* 46801 */ GIR_EraseRootFromParent_Done,
17350 /* 46802 */ // Label 1107: @46802
17351 /* 46802 */ GIM_Try, /*On fail goto*//*Label 1108*/ GIMT_Encode4(46903), // Rule ID 22140 //
17352 /* 46807 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
17353 /* 46810 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
17354 /* 46813 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
17355 /* 46817 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
17356 /* 46821 */ // (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] })
17357 /* 46821 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_s32,
17358 /* 46824 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
17359 /* 46828 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
17360 /* 46833 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
17361 /* 46835 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
17362 /* 46838 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
17363 /* 46842 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
17364 /* 46847 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
17365 /* 46850 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
17366 /* 46854 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/4,
17367 /* 46857 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
17368 /* 46862 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
17369 /* 46867 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
17370 /* 46872 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
17371 /* 46875 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVW2SHrr),
17372 /* 46879 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
17373 /* 46884 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
17374 /* 46887 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17375 /* 46889 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17376 /* 46892 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17377 /* 46894 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17378 /* 46897 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
17379 /* 46902 */ // GIR_Coverage, 22140,
17380 /* 46902 */ GIR_EraseRootFromParent_Done,
17381 /* 46903 */ // Label 1108: @46903
17382 /* 46903 */ GIM_Try, /*On fail goto*//*Label 1109*/ GIMT_Encode4(46983), // Rule ID 22153 //
17383 /* 46908 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
17384 /* 46911 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
17385 /* 46914 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
17386 /* 46918 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
17387 /* 46922 */ // (bitconvert:{ *:[i16] } FR16X:{ *:[f16] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (VMOVSH2Wrr:{ *:[i32] } (COPY_TO_REGCLASS:{ *:[f128] } FR16X:{ *:[f16] }:$src, VR128X:{ *:[i32] })), sub_16bit:{ *:[i32] })
17388 /* 46922 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s128,
17389 /* 46925 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17390 /* 46929 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
17391 /* 46934 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
17392 /* 46938 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR128XRegClassID),
17393 /* 46943 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17394 /* 46946 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVSH2Wrr),
17395 /* 46950 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
17396 /* 46955 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
17397 /* 46958 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17398 /* 46960 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17399 /* 46963 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17400 /* 46965 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
17401 /* 46972 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
17402 /* 46977 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
17403 /* 46982 */ // GIR_Coverage, 22153,
17404 /* 46982 */ GIR_EraseRootFromParent_Done,
17405 /* 46983 */ // Label 1109: @46983
17406 /* 46983 */ GIM_Try, /*On fail goto*//*Label 1110*/ GIMT_Encode4(47062), // Rule ID 18340 //
17407 /* 46988 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoBWI),
17408 /* 46991 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
17409 /* 46994 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
17410 /* 46998 */ // (bitconvert:{ *:[i16] } f16:{ *:[f16] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (VPEXTRWrri:{ *:[i32] } (COPY_TO_REGCLASS:{ *:[v8i16] } FR16:{ *:[f16] }:$src, VR128:{ *:[i32] }), 0:{ *:[i8] }), sub_16bit:{ *:[i32] })
17411 /* 46998 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
17412 /* 47001 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17413 /* 47005 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
17414 /* 47010 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
17415 /* 47014 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR128RegClassID),
17416 /* 47019 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17417 /* 47022 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPEXTRWrri),
17418 /* 47026 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
17419 /* 47031 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
17420 /* 47034 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
17421 /* 47037 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17422 /* 47039 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17423 /* 47042 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17424 /* 47044 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
17425 /* 47051 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
17426 /* 47056 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
17427 /* 47061 */ // GIR_Coverage, 18340,
17428 /* 47061 */ GIR_EraseRootFromParent_Done,
17429 /* 47062 */ // Label 1110: @47062
17430 /* 47062 */ GIM_Try, /*On fail goto*//*Label 1111*/ GIMT_Encode4(47179), // Rule ID 18341 //
17431 /* 47067 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoBWI),
17432 /* 47070 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
17433 /* 47073 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
17434 /* 47077 */ // (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] })
17435 /* 47077 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_s32,
17436 /* 47080 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
17437 /* 47084 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
17438 /* 47089 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
17439 /* 47091 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_s32,
17440 /* 47094 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
17441 /* 47098 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
17442 /* 47103 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
17443 /* 47106 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src
17444 /* 47110 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/4,
17445 /* 47113 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
17446 /* 47118 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
17447 /* 47123 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
17448 /* 47128 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
17449 /* 47131 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
17450 /* 47135 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
17451 /* 47140 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
17452 /* 47142 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
17453 /* 47145 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPINSRWrri),
17454 /* 47149 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
17455 /* 47154 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
17456 /* 47157 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
17457 /* 47160 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
17458 /* 47163 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17459 /* 47165 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17460 /* 47168 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17461 /* 47170 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17462 /* 47173 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
17463 /* 47178 */ // GIR_Coverage, 18341,
17464 /* 47178 */ GIR_EraseRootFromParent_Done,
17465 /* 47179 */ // Label 1111: @47179
17466 /* 47179 */ GIM_Try, /*On fail goto*//*Label 1112*/ GIMT_Encode4(47258), // Rule ID 18337 //
17467 /* 47184 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
17468 /* 47187 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
17469 /* 47190 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
17470 /* 47194 */ // (bitconvert:{ *:[i16] } f16:{ *:[f16] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (PEXTRWrri:{ *:[i32] } (COPY_TO_REGCLASS:{ *:[v8i16] } FR16:{ *:[f16] }:$src, VR128:{ *:[i32] }), 0:{ *:[i8] }), sub_16bit:{ *:[i32] })
17471 /* 47194 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
17472 /* 47197 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17473 /* 47201 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
17474 /* 47206 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
17475 /* 47210 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR128RegClassID),
17476 /* 47215 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17477 /* 47218 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::PEXTRWrri),
17478 /* 47222 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
17479 /* 47227 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
17480 /* 47230 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
17481 /* 47233 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17482 /* 47235 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17483 /* 47238 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17484 /* 47240 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
17485 /* 47247 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
17486 /* 47252 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
17487 /* 47257 */ // GIR_Coverage, 18337,
17488 /* 47257 */ GIR_EraseRootFromParent_Done,
17489 /* 47258 */ // Label 1112: @47258
17490 /* 47258 */ GIM_Try, /*On fail goto*//*Label 1113*/ GIMT_Encode4(47375), // Rule ID 18338 //
17491 /* 47263 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
17492 /* 47266 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
17493 /* 47269 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
17494 /* 47273 */ // (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] })
17495 /* 47273 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_s32,
17496 /* 47276 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
17497 /* 47280 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
17498 /* 47285 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
17499 /* 47287 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_s32,
17500 /* 47290 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
17501 /* 47294 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
17502 /* 47299 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
17503 /* 47302 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src
17504 /* 47306 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/4,
17505 /* 47309 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
17506 /* 47314 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
17507 /* 47319 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
17508 /* 47324 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
17509 /* 47327 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
17510 /* 47331 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
17511 /* 47336 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
17512 /* 47338 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
17513 /* 47341 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::PINSRWrri),
17514 /* 47345 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
17515 /* 47350 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
17516 /* 47353 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
17517 /* 47356 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
17518 /* 47359 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17519 /* 47361 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17520 /* 47364 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17521 /* 47366 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17522 /* 47369 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
17523 /* 47374 */ // GIR_Coverage, 18338,
17524 /* 47374 */ GIR_EraseRootFromParent_Done,
17525 /* 47375 */ // Label 1113: @47375
17526 /* 47375 */ GIM_Try, /*On fail goto*//*Label 1114*/ GIMT_Encode4(47454), // Rule ID 21841 //
17527 /* 47380 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
17528 /* 47383 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
17529 /* 47386 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
17530 /* 47390 */ // (bitconvert:{ *:[i16] } f16:{ *:[f16] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (VPEXTRWZrri:{ *:[i32] } (COPY_TO_REGCLASS:{ *:[v8i16] } FR16X:{ *:[f16] }:$src, VR128X:{ *:[i32] }), 0:{ *:[i8] }), sub_16bit:{ *:[i32] })
17531 /* 47390 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
17532 /* 47393 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17533 /* 47397 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
17534 /* 47402 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
17535 /* 47406 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR128XRegClassID),
17536 /* 47411 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17537 /* 47414 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPEXTRWZrri),
17538 /* 47418 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
17539 /* 47423 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
17540 /* 47426 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
17541 /* 47429 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17542 /* 47431 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17543 /* 47434 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17544 /* 47436 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
17545 /* 47443 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
17546 /* 47448 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
17547 /* 47453 */ // GIR_Coverage, 21841,
17548 /* 47453 */ GIR_EraseRootFromParent_Done,
17549 /* 47454 */ // Label 1114: @47454
17550 /* 47454 */ GIM_Try, /*On fail goto*//*Label 1115*/ GIMT_Encode4(47571), // Rule ID 21842 //
17551 /* 47459 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
17552 /* 47462 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
17553 /* 47465 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
17554 /* 47469 */ // (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] })
17555 /* 47469 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_s32,
17556 /* 47472 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
17557 /* 47476 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
17558 /* 47481 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
17559 /* 47483 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_s32,
17560 /* 47486 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
17561 /* 47490 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
17562 /* 47495 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
17563 /* 47498 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src
17564 /* 47502 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/4,
17565 /* 47505 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
17566 /* 47510 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
17567 /* 47515 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
17568 /* 47520 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
17569 /* 47523 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
17570 /* 47527 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
17571 /* 47532 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
17572 /* 47534 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
17573 /* 47537 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPINSRWZrri),
17574 /* 47541 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
17575 /* 47546 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
17576 /* 47549 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
17577 /* 47552 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
17578 /* 47555 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17579 /* 47557 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17580 /* 47560 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17581 /* 47562 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17582 /* 47565 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
17583 /* 47570 */ // GIR_Coverage, 21842,
17584 /* 47570 */ GIR_EraseRootFromParent_Done,
17585 /* 47571 */ // Label 1115: @47571
17586 /* 47571 */ GIM_Reject,
17587 /* 47572 */ // Label 1099: @47572
17588 /* 47572 */ GIM_Try, /*On fail goto*//*Label 1116*/ GIMT_Encode4(47638), // Rule ID 22525 //
17589 /* 47577 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
17590 /* 47580 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
17591 /* 47583 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
17592 /* 47587 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17593 /* 47591 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17594 /* 47595 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::Unordered,
17595 /* 47598 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17596 /* 47602 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
17597 /* 47609 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17598 /* 47613 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17599 /* 47615 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17600 /* 47622 */ // (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)
17601 /* 47622 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSSrm_alt),
17602 /* 47625 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17603 /* 47627 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17604 /* 47631 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17605 /* 47636 */ GIR_RootConstrainSelectedInstOperands,
17606 /* 47637 */ // GIR_Coverage, 22525,
17607 /* 47637 */ GIR_EraseRootFromParent_Done,
17608 /* 47638 */ // Label 1116: @47638
17609 /* 47638 */ GIM_Try, /*On fail goto*//*Label 1117*/ GIMT_Encode4(47704), // Rule ID 22526 //
17610 /* 47643 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
17611 /* 47646 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
17612 /* 47649 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
17613 /* 47653 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17614 /* 47657 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17615 /* 47661 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::Unordered,
17616 /* 47664 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17617 /* 47668 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
17618 /* 47675 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17619 /* 47679 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17620 /* 47681 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17621 /* 47688 */ // (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)
17622 /* 47688 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSrm_alt),
17623 /* 47691 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17624 /* 47693 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17625 /* 47697 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17626 /* 47702 */ GIR_RootConstrainSelectedInstOperands,
17627 /* 47703 */ // GIR_Coverage, 22526,
17628 /* 47703 */ GIR_EraseRootFromParent_Done,
17629 /* 47704 */ // Label 1117: @47704
17630 /* 47704 */ GIM_Try, /*On fail goto*//*Label 1118*/ GIMT_Encode4(47770), // Rule ID 22527 //
17631 /* 47709 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17632 /* 47712 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
17633 /* 47715 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
17634 /* 47719 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17635 /* 47723 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17636 /* 47727 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::Unordered,
17637 /* 47730 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17638 /* 47734 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
17639 /* 47741 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17640 /* 47745 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17641 /* 47747 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17642 /* 47754 */ // (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)
17643 /* 47754 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSZrm_alt),
17644 /* 47757 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17645 /* 47759 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17646 /* 47763 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17647 /* 47768 */ GIR_RootConstrainSelectedInstOperands,
17648 /* 47769 */ // GIR_Coverage, 22527,
17649 /* 47769 */ GIR_EraseRootFromParent_Done,
17650 /* 47770 */ // Label 1118: @47770
17651 /* 47770 */ GIM_Try, /*On fail goto*//*Label 1119*/ GIMT_Encode4(47796), // Rule ID 2915 //
17652 /* 47775 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
17653 /* 47778 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
17654 /* 47781 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
17655 /* 47785 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17656 /* 47789 */ // (bitconvert:{ *:[f32] } GR32:{ *:[i32] }:$src) => (VMOVDI2SSrr:{ *:[f32] } GR32:{ *:[i32] }:$src)
17657 /* 47789 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOVDI2SSrr),
17658 /* 47794 */ GIR_RootConstrainSelectedInstOperands,
17659 /* 47795 */ // GIR_Coverage, 2915,
17660 /* 47795 */ GIR_Done,
17661 /* 47796 */ // Label 1119: @47796
17662 /* 47796 */ GIM_Try, /*On fail goto*//*Label 1120*/ GIMT_Encode4(47822), // Rule ID 2916 //
17663 /* 47801 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
17664 /* 47804 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
17665 /* 47807 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
17666 /* 47811 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17667 /* 47815 */ // (bitconvert:{ *:[f32] } GR32:{ *:[i32] }:$src) => (MOVDI2SSrr:{ *:[f32] } GR32:{ *:[i32] }:$src)
17668 /* 47815 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVDI2SSrr),
17669 /* 47820 */ GIR_RootConstrainSelectedInstOperands,
17670 /* 47821 */ // GIR_Coverage, 2916,
17671 /* 47821 */ GIR_Done,
17672 /* 47822 */ // Label 1120: @47822
17673 /* 47822 */ GIM_Try, /*On fail goto*//*Label 1121*/ GIMT_Encode4(47848), // Rule ID 2925 //
17674 /* 47827 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
17675 /* 47830 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
17676 /* 47833 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17677 /* 47837 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
17678 /* 47841 */ // (bitconvert:{ *:[i32] } FR32:{ *:[f32] }:$src) => (VMOVSS2DIrr:{ *:[i32] } FR32:{ *:[f32] }:$src)
17679 /* 47841 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOVSS2DIrr),
17680 /* 47846 */ GIR_RootConstrainSelectedInstOperands,
17681 /* 47847 */ // GIR_Coverage, 2925,
17682 /* 47847 */ GIR_Done,
17683 /* 47848 */ // Label 1121: @47848
17684 /* 47848 */ GIM_Try, /*On fail goto*//*Label 1122*/ GIMT_Encode4(47874), // Rule ID 2926 //
17685 /* 47853 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
17686 /* 47856 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
17687 /* 47859 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17688 /* 47863 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
17689 /* 47867 */ // (bitconvert:{ *:[i32] } FR32:{ *:[f32] }:$src) => (MOVSS2DIrr:{ *:[i32] } FR32:{ *:[f32] }:$src)
17690 /* 47867 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSS2DIrr),
17691 /* 47872 */ GIR_RootConstrainSelectedInstOperands,
17692 /* 47873 */ // GIR_Coverage, 2926,
17693 /* 47873 */ GIR_Done,
17694 /* 47874 */ // Label 1122: @47874
17695 /* 47874 */ GIM_Try, /*On fail goto*//*Label 1123*/ GIMT_Encode4(47900), // Rule ID 4598 //
17696 /* 47879 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17697 /* 47882 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
17698 /* 47885 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
17699 /* 47889 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17700 /* 47893 */ // (bitconvert:{ *:[f32] } GR32:{ *:[i32] }:$src) => (VMOVDI2SSZrr:{ *:[f32] } GR32:{ *:[i32] }:$src)
17701 /* 47893 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOVDI2SSZrr),
17702 /* 47898 */ GIR_RootConstrainSelectedInstOperands,
17703 /* 47899 */ // GIR_Coverage, 4598,
17704 /* 47899 */ GIR_Done,
17705 /* 47900 */ // Label 1123: @47900
17706 /* 47900 */ GIM_Try, /*On fail goto*//*Label 1124*/ GIMT_Encode4(47926), // Rule ID 4603 //
17707 /* 47905 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17708 /* 47908 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
17709 /* 47911 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17710 /* 47915 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
17711 /* 47919 */ // (bitconvert:{ *:[i32] } FR32X:{ *:[f32] }:$src) => (VMOVSS2DIZrr:{ *:[i32] } FR32X:{ *:[f32] }:$src)
17712 /* 47919 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOVSS2DIZrr),
17713 /* 47924 */ GIR_RootConstrainSelectedInstOperands,
17714 /* 47925 */ // GIR_Coverage, 4603,
17715 /* 47925 */ GIR_Done,
17716 /* 47926 */ // Label 1124: @47926
17717 /* 47926 */ GIM_Try, /*On fail goto*//*Label 1125*/ GIMT_Encode4(47953), // Rule ID 19442 //
17718 /* 47931 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
17719 /* 47934 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17720 /* 47938 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
17721 /* 47942 */ // (bitconvert:{ *:[i32] } VK32:{ *:[v32i1] }:$src) => (COPY_TO_REGCLASS:{ *:[i32] } VK32:{ *:[v32i1] }:$src, GR32:{ *:[i32] })
17722 /* 47942 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17723 /* 47947 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
17724 /* 47952 */ // GIR_Coverage, 19442,
17725 /* 47952 */ GIR_Done,
17726 /* 47953 */ // Label 1125: @47953
17727 /* 47953 */ GIM_Try, /*On fail goto*//*Label 1126*/ GIMT_Encode4(47997), // Rule ID 19876 //
17728 /* 47958 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
17729 /* 47961 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
17730 /* 47965 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
17731 /* 47969 */ // (bitconvert:{ *:[f32] } VK32:{ *:[v32i1] }:$src) => (VMOVDI2SSZrr:{ *:[f32] } (KMOVDrk:{ *:[i32] } VK32:{ *:[v32i1] }:$src))
17732 /* 47969 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17733 /* 47972 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVDrk),
17734 /* 47976 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
17735 /* 47981 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
17736 /* 47985 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17737 /* 47987 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDI2SSZrr),
17738 /* 47990 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17739 /* 47992 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17740 /* 47995 */ GIR_RootConstrainSelectedInstOperands,
17741 /* 47996 */ // GIR_Coverage, 19876,
17742 /* 47996 */ GIR_EraseRootFromParent_Done,
17743 /* 47997 */ // Label 1126: @47997
17744 /* 47997 */ GIM_Reject,
17745 /* 47998 */ // Label 1100: @47998
17746 /* 47998 */ GIM_Try, /*On fail goto*//*Label 1127*/ GIMT_Encode4(48064), // Rule ID 22528 //
17747 /* 48003 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
17748 /* 48006 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
17749 /* 48009 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
17750 /* 48013 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17751 /* 48017 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17752 /* 48021 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::Unordered,
17753 /* 48024 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17754 /* 48028 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
17755 /* 48035 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17756 /* 48039 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17757 /* 48041 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17758 /* 48048 */ // (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)
17759 /* 48048 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSDrm_alt),
17760 /* 48051 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17761 /* 48053 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17762 /* 48057 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17763 /* 48062 */ GIR_RootConstrainSelectedInstOperands,
17764 /* 48063 */ // GIR_Coverage, 22528,
17765 /* 48063 */ GIR_EraseRootFromParent_Done,
17766 /* 48064 */ // Label 1127: @48064
17767 /* 48064 */ GIM_Try, /*On fail goto*//*Label 1128*/ GIMT_Encode4(48130), // Rule ID 22529 //
17768 /* 48069 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
17769 /* 48072 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
17770 /* 48075 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
17771 /* 48079 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17772 /* 48083 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17773 /* 48087 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::Unordered,
17774 /* 48090 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17775 /* 48094 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
17776 /* 48101 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17777 /* 48105 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17778 /* 48107 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17779 /* 48114 */ // (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)
17780 /* 48114 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDrm_alt),
17781 /* 48117 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17782 /* 48119 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17783 /* 48123 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17784 /* 48128 */ GIR_RootConstrainSelectedInstOperands,
17785 /* 48129 */ // GIR_Coverage, 22529,
17786 /* 48129 */ GIR_EraseRootFromParent_Done,
17787 /* 48130 */ // Label 1128: @48130
17788 /* 48130 */ GIM_Try, /*On fail goto*//*Label 1129*/ GIMT_Encode4(48196), // Rule ID 22530 //
17789 /* 48135 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17790 /* 48138 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
17791 /* 48141 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
17792 /* 48145 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17793 /* 48149 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17794 /* 48153 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::Unordered,
17795 /* 48156 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17796 /* 48160 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
17797 /* 48167 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17798 /* 48171 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17799 /* 48173 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17800 /* 48180 */ // (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)
17801 /* 48180 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDZrm_alt),
17802 /* 48183 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17803 /* 48185 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17804 /* 48189 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17805 /* 48194 */ GIR_RootConstrainSelectedInstOperands,
17806 /* 48195 */ // GIR_Coverage, 22530,
17807 /* 48195 */ GIR_EraseRootFromParent_Done,
17808 /* 48196 */ // Label 1129: @48196
17809 /* 48196 */ GIM_Try, /*On fail goto*//*Label 1130*/ GIMT_Encode4(48222), // Rule ID 2910 //
17810 /* 48201 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
17811 /* 48204 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
17812 /* 48207 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
17813 /* 48211 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17814 /* 48215 */ // (bitconvert:{ *:[f64] } GR64:{ *:[i64] }:$src) => (VMOV64toSDrr:{ *:[f64] } GR64:{ *:[i64] }:$src)
17815 /* 48215 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOV64toSDrr),
17816 /* 48220 */ GIR_RootConstrainSelectedInstOperands,
17817 /* 48221 */ // GIR_Coverage, 2910,
17818 /* 48221 */ GIR_Done,
17819 /* 48222 */ // Label 1130: @48222
17820 /* 48222 */ GIM_Try, /*On fail goto*//*Label 1131*/ GIMT_Encode4(48248), // Rule ID 2914 //
17821 /* 48227 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
17822 /* 48230 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
17823 /* 48233 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
17824 /* 48237 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17825 /* 48241 */ // (bitconvert:{ *:[f64] } GR64:{ *:[i64] }:$src) => (MOV64toSDrr:{ *:[f64] } GR64:{ *:[i64] }:$src)
17826 /* 48241 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOV64toSDrr),
17827 /* 48246 */ GIR_RootConstrainSelectedInstOperands,
17828 /* 48247 */ // GIR_Coverage, 2914,
17829 /* 48247 */ GIR_Done,
17830 /* 48248 */ // Label 1131: @48248
17831 /* 48248 */ GIM_Try, /*On fail goto*//*Label 1132*/ GIMT_Encode4(48274), // Rule ID 2923 //
17832 /* 48253 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
17833 /* 48256 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
17834 /* 48259 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17835 /* 48263 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
17836 /* 48267 */ // (bitconvert:{ *:[i64] } FR64:{ *:[f64] }:$src) => (VMOVSDto64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
17837 /* 48267 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOVSDto64rr),
17838 /* 48272 */ GIR_RootConstrainSelectedInstOperands,
17839 /* 48273 */ // GIR_Coverage, 2923,
17840 /* 48273 */ GIR_Done,
17841 /* 48274 */ // Label 1132: @48274
17842 /* 48274 */ GIM_Try, /*On fail goto*//*Label 1133*/ GIMT_Encode4(48300), // Rule ID 2924 //
17843 /* 48279 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
17844 /* 48282 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
17845 /* 48285 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17846 /* 48289 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
17847 /* 48293 */ // (bitconvert:{ *:[i64] } FR64:{ *:[f64] }:$src) => (MOVSDto64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
17848 /* 48293 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSDto64rr),
17849 /* 48298 */ GIR_RootConstrainSelectedInstOperands,
17850 /* 48299 */ // GIR_Coverage, 2924,
17851 /* 48299 */ GIR_Done,
17852 /* 48300 */ // Label 1133: @48300
17853 /* 48300 */ GIM_Try, /*On fail goto*//*Label 1134*/ GIMT_Encode4(48326), // Rule ID 4596 //
17854 /* 48305 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17855 /* 48308 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
17856 /* 48311 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
17857 /* 48315 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17858 /* 48319 */ // (bitconvert:{ *:[f64] } GR64:{ *:[i64] }:$src) => (VMOV64toSDZrr:{ *:[f64] } GR64:{ *:[i64] }:$src)
17859 /* 48319 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOV64toSDZrr),
17860 /* 48324 */ GIR_RootConstrainSelectedInstOperands,
17861 /* 48325 */ // GIR_Coverage, 4596,
17862 /* 48325 */ GIR_Done,
17863 /* 48326 */ // Label 1134: @48326
17864 /* 48326 */ GIM_Try, /*On fail goto*//*Label 1135*/ GIMT_Encode4(48352), // Rule ID 4597 //
17865 /* 48331 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17866 /* 48334 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
17867 /* 48337 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17868 /* 48341 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
17869 /* 48345 */ // (bitconvert:{ *:[i64] } FR64X:{ *:[f64] }:$src) => (VMOVSDto64Zrr:{ *:[i64] } FR64X:{ *:[f64] }:$src)
17870 /* 48345 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOVSDto64Zrr),
17871 /* 48350 */ GIR_RootConstrainSelectedInstOperands,
17872 /* 48351 */ // GIR_Coverage, 4597,
17873 /* 48351 */ GIR_Done,
17874 /* 48352 */ // Label 1135: @48352
17875 /* 48352 */ GIM_Try, /*On fail goto*//*Label 1136*/ GIMT_Encode4(48379), // Rule ID 19444 //
17876 /* 48357 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
17877 /* 48360 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17878 /* 48364 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
17879 /* 48368 */ // (bitconvert:{ *:[i64] } VK64:{ *:[v64i1] }:$src) => (COPY_TO_REGCLASS:{ *:[i64] } VK64:{ *:[v64i1] }:$src, GR64:{ *:[i32] })
17880 /* 48368 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17881 /* 48373 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
17882 /* 48378 */ // GIR_Coverage, 19444,
17883 /* 48378 */ GIR_Done,
17884 /* 48379 */ // Label 1136: @48379
17885 /* 48379 */ GIM_Try, /*On fail goto*//*Label 1137*/ GIMT_Encode4(48423), // Rule ID 19878 //
17886 /* 48384 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
17887 /* 48387 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
17888 /* 48391 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
17889 /* 48395 */ // (bitconvert:{ *:[f64] } VK64:{ *:[v64i1] }:$src) => (VMOV64toSDZrr:{ *:[f64] } (KMOVQrk:{ *:[i64] } VK64:{ *:[v64i1] }:$src))
17890 /* 48395 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
17891 /* 48398 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVQrk),
17892 /* 48402 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
17893 /* 48407 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
17894 /* 48411 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17895 /* 48413 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOV64toSDZrr),
17896 /* 48416 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17897 /* 48418 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17898 /* 48421 */ GIR_RootConstrainSelectedInstOperands,
17899 /* 48422 */ // GIR_Coverage, 19878,
17900 /* 48422 */ GIR_EraseRootFromParent_Done,
17901 /* 48423 */ // Label 1137: @48423
17902 /* 48423 */ GIM_Reject,
17903 /* 48424 */ // Label 1101: @48424
17904 /* 48424 */ GIM_Try, /*On fail goto*//*Label 1138*/ GIMT_Encode4(48584),
17905 /* 48429 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
17906 /* 48432 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
17907 /* 48436 */ GIM_Try, /*On fail goto*//*Label 1139*/ GIMT_Encode4(48509), // Rule ID 19448 //
17908 /* 48441 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17909 /* 48444 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17910 /* 48448 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17911 /* 48452 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17912 /* 48455 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17913 /* 48459 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17914 /* 48463 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17915 /* 48465 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17916 /* 48472 */ // (bitconvert:{ *:[v8i1] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (COPY_TO_REGCLASS:{ *:[v8i1] } (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src), VK8:{ *:[i32] })
17917 /* 48472 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17918 /* 48475 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
17919 /* 48479 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
17920 /* 48484 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
17921 /* 48488 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17922 /* 48493 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17923 /* 48495 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17924 /* 48498 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17925 /* 48500 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17926 /* 48503 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
17927 /* 48508 */ // GIR_Coverage, 19448,
17928 /* 48508 */ GIR_EraseRootFromParent_Done,
17929 /* 48509 */ // Label 1139: @48509
17930 /* 48509 */ GIM_Try, /*On fail goto*//*Label 1140*/ GIMT_Encode4(48583), // Rule ID 19433 //
17931 /* 48514 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
17932 /* 48518 */ // (bitconvert:{ *:[v8i1] } GR8:{ *:[i8] }:$src) => (COPY_TO_REGCLASS:{ *:[v8i1] } (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR8:{ *:[i8] }:$src, sub_8bit:{ *:[i32] }), VK8:{ *:[i32] })
17933 /* 48518 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
17934 /* 48521 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
17935 /* 48525 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
17936 /* 48530 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
17937 /* 48532 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17938 /* 48535 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
17939 /* 48539 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
17940 /* 48544 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
17941 /* 48547 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
17942 /* 48551 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
17943 /* 48554 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
17944 /* 48559 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
17945 /* 48564 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
17946 /* 48569 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17947 /* 48572 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17948 /* 48574 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17949 /* 48577 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
17950 /* 48582 */ // GIR_Coverage, 19433,
17951 /* 48582 */ GIR_EraseRootFromParent_Done,
17952 /* 48583 */ // Label 1140: @48583
17953 /* 48583 */ GIM_Reject,
17954 /* 48584 */ // Label 1138: @48584
17955 /* 48584 */ GIM_Reject,
17956 /* 48585 */ // Label 1102: @48585
17957 /* 48585 */ GIM_Try, /*On fail goto*//*Label 1141*/ GIMT_Encode4(48724),
17958 /* 48590 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
17959 /* 48593 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
17960 /* 48597 */ GIM_Try, /*On fail goto*//*Label 1142*/ GIMT_Encode4(48649), // Rule ID 19449 //
17961 /* 48602 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17962 /* 48605 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17963 /* 48609 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17964 /* 48613 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17965 /* 48616 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17966 /* 48620 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
17967 /* 48624 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17968 /* 48626 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17969 /* 48633 */ // (bitconvert:{ *:[v16i1] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (KMOVWkm:{ *:[v16i1] } addr:{ *:[iPTR] }:$src)
17970 /* 48633 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVWkm),
17971 /* 48636 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17972 /* 48638 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17973 /* 48642 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17974 /* 48647 */ GIR_RootConstrainSelectedInstOperands,
17975 /* 48648 */ // GIR_Coverage, 19449,
17976 /* 48648 */ GIR_EraseRootFromParent_Done,
17977 /* 48649 */ // Label 1142: @48649
17978 /* 48649 */ GIM_Try, /*On fail goto*//*Label 1143*/ GIMT_Encode4(48723), // Rule ID 19430 //
17979 /* 48654 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
17980 /* 48658 */ // (bitconvert:{ *:[v16i1] } GR16:{ *:[i16] }:$src) => (COPY_TO_REGCLASS:{ *:[v16i1] } (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR16:{ *:[i16] }:$src, sub_16bit:{ *:[i32] }), VK16:{ *:[i32] })
17981 /* 48658 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
17982 /* 48661 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
17983 /* 48665 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
17984 /* 48670 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
17985 /* 48672 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17986 /* 48675 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
17987 /* 48679 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
17988 /* 48684 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
17989 /* 48687 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
17990 /* 48691 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/4,
17991 /* 48694 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
17992 /* 48699 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
17993 /* 48704 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
17994 /* 48709 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17995 /* 48712 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17996 /* 48714 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17997 /* 48717 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
17998 /* 48722 */ // GIR_Coverage, 19430,
17999 /* 48722 */ GIR_EraseRootFromParent_Done,
18000 /* 48723 */ // Label 1143: @48723
18001 /* 48723 */ GIM_Reject,
18002 /* 48724 */ // Label 1141: @48724
18003 /* 48724 */ GIM_Reject,
18004 /* 48725 */ // Label 1103: @48725
18005 /* 48725 */ GIM_Try, /*On fail goto*//*Label 1144*/ GIMT_Encode4(48795),
18006 /* 48730 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18007 /* 48733 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
18008 /* 48737 */ GIM_Try, /*On fail goto*//*Label 1145*/ GIMT_Encode4(48757), // Rule ID 19441 //
18009 /* 48742 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18010 /* 48746 */ // (bitconvert:{ *:[v32i1] } GR32:{ *:[i32] }:$src) => (COPY_TO_REGCLASS:{ *:[v32i1] } GR32:{ *:[i32] }:$src, VK32:{ *:[i32] })
18011 /* 48746 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
18012 /* 48751 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK32RegClassID),
18013 /* 48756 */ // GIR_Coverage, 19441,
18014 /* 48756 */ GIR_Done,
18015 /* 48757 */ // Label 1145: @48757
18016 /* 48757 */ GIM_Try, /*On fail goto*//*Label 1146*/ GIMT_Encode4(48794), // Rule ID 19875 //
18017 /* 48762 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
18018 /* 48766 */ // (bitconvert:{ *:[v32i1] } FR32X:{ *:[f32] }:$src) => (KMOVDkr:{ *:[v32i1] } (VMOVSS2DIZrr:{ *:[i32] } FR32X:{ *:[f32] }:$src))
18019 /* 48766 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
18020 /* 48769 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVSS2DIZrr),
18021 /* 48773 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
18022 /* 48778 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
18023 /* 48782 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18024 /* 48784 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVDkr),
18025 /* 48787 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18026 /* 48789 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18027 /* 48792 */ GIR_RootConstrainSelectedInstOperands,
18028 /* 48793 */ // GIR_Coverage, 19875,
18029 /* 48793 */ GIR_EraseRootFromParent_Done,
18030 /* 48794 */ // Label 1146: @48794
18031 /* 48794 */ GIM_Reject,
18032 /* 48795 */ // Label 1144: @48795
18033 /* 48795 */ GIM_Reject,
18034 /* 48796 */ // Label 1104: @48796
18035 /* 48796 */ GIM_Try, /*On fail goto*//*Label 1147*/ GIMT_Encode4(48866),
18036 /* 48801 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18037 /* 48804 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
18038 /* 48808 */ GIM_Try, /*On fail goto*//*Label 1148*/ GIMT_Encode4(48828), // Rule ID 19443 //
18039 /* 48813 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18040 /* 48817 */ // (bitconvert:{ *:[v64i1] } GR64:{ *:[i64] }:$src) => (COPY_TO_REGCLASS:{ *:[v64i1] } GR64:{ *:[i64] }:$src, VK64:{ *:[i32] })
18041 /* 48817 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
18042 /* 48822 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK64RegClassID),
18043 /* 48827 */ // GIR_Coverage, 19443,
18044 /* 48827 */ GIR_Done,
18045 /* 48828 */ // Label 1148: @48828
18046 /* 48828 */ GIM_Try, /*On fail goto*//*Label 1149*/ GIMT_Encode4(48865), // Rule ID 19877 //
18047 /* 48833 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
18048 /* 48837 */ // (bitconvert:{ *:[v64i1] } FR64X:{ *:[f64] }:$src) => (KMOVQkr:{ *:[v64i1] } (VMOVSDto64Zrr:{ *:[i64] } FR64X:{ *:[f64] }:$src))
18049 /* 48837 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
18050 /* 48840 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVSDto64Zrr),
18051 /* 48844 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
18052 /* 48849 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
18053 /* 48853 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18054 /* 48855 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVQkr),
18055 /* 48858 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18056 /* 48860 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18057 /* 48863 */ GIR_RootConstrainSelectedInstOperands,
18058 /* 48864 */ // GIR_Coverage, 19877,
18059 /* 48864 */ GIR_EraseRootFromParent_Done,
18060 /* 48865 */ // Label 1149: @48865
18061 /* 48865 */ GIM_Reject,
18062 /* 48866 */ // Label 1147: @48866
18063 /* 48866 */ GIM_Reject,
18064 /* 48867 */ // Label 1105: @48867
18065 /* 48867 */ GIM_Reject,
18066 /* 48868 */ // Label 8: @48868
18067 /* 48868 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 1162*/ GIMT_Encode4(52045),
18068 /* 48879 */ /*GILLT_s16*//*Label 1150*/ GIMT_Encode4(48963),
18069 /* 48883 */ /*GILLT_s32*//*Label 1151*/ GIMT_Encode4(49024),
18070 /* 48887 */ /*GILLT_s64*//*Label 1152*/ GIMT_Encode4(49648), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
18071 /* 48903 */ /*GILLT_v2s64*//*Label 1153*/ GIMT_Encode4(50272), GIMT_Encode4(0),
18072 /* 48911 */ /*GILLT_v4s32*//*Label 1154*/ GIMT_Encode4(50361),
18073 /* 48915 */ /*GILLT_v4s64*//*Label 1155*/ GIMT_Encode4(50807), GIMT_Encode4(0),
18074 /* 48923 */ /*GILLT_v8s16*//*Label 1156*/ GIMT_Encode4(50986),
18075 /* 48927 */ /*GILLT_v8s32*//*Label 1157*/ GIMT_Encode4(51075),
18076 /* 48931 */ /*GILLT_v8s64*//*Label 1158*/ GIMT_Encode4(51426), GIMT_Encode4(0), GIMT_Encode4(0),
18077 /* 48943 */ /*GILLT_v16s16*//*Label 1159*/ GIMT_Encode4(51694),
18078 /* 48947 */ /*GILLT_v16s32*//*Label 1160*/ GIMT_Encode4(51783), GIMT_Encode4(0), GIMT_Encode4(0),
18079 /* 48959 */ /*GILLT_v32s16*//*Label 1161*/ GIMT_Encode4(51956),
18080 /* 48963 */ // Label 1150: @48963
18081 /* 48963 */ GIM_Try, /*On fail goto*//*Label 1163*/ GIMT_Encode4(49023), // Rule ID 22169 //
18082 /* 48968 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
18083 /* 48971 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
18084 /* 48974 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
18085 /* 48978 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
18086 /* 48982 */ // (lrint:{ *:[i16] } FR16:{ *:[f16] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (VCVTTSH2SIZrr:{ *:[i32] } FR16:{ *:[f16] }:$src), sub_16bit:{ *:[i32] })
18087 /* 48982 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
18088 /* 48985 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SIZrr),
18089 /* 48989 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
18090 /* 48994 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
18091 /* 48998 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18092 /* 49000 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
18093 /* 49003 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18094 /* 49005 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
18095 /* 49012 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
18096 /* 49017 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
18097 /* 49022 */ // GIR_Coverage, 22169,
18098 /* 49022 */ GIR_EraseRootFromParent_Done,
18099 /* 49023 */ // Label 1163: @49023
18100 /* 49023 */ GIM_Reject,
18101 /* 49024 */ // Label 1151: @49024
18102 /* 49024 */ GIM_Try, /*On fail goto*//*Label 1164*/ GIMT_Encode4(49083), // Rule ID 1756 //
18103 /* 49029 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
18104 /* 49032 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18105 /* 49035 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18106 /* 49039 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18107 /* 49043 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18108 /* 49047 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18109 /* 49050 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18110 /* 49054 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18111 /* 49058 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18112 /* 49060 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18113 /* 49067 */ // (lrint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
18114 /* 49067 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SIrm),
18115 /* 49070 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18116 /* 49072 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18117 /* 49076 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18118 /* 49081 */ GIR_RootConstrainSelectedInstOperands,
18119 /* 49082 */ // GIR_Coverage, 1756,
18120 /* 49082 */ GIR_EraseRootFromParent_Done,
18121 /* 49083 */ // Label 1164: @49083
18122 /* 49083 */ GIM_Try, /*On fail goto*//*Label 1165*/ GIMT_Encode4(49142), // Rule ID 1760 //
18123 /* 49088 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
18124 /* 49091 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18125 /* 49094 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18126 /* 49098 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18127 /* 49102 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18128 /* 49106 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18129 /* 49109 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18130 /* 49113 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18131 /* 49117 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18132 /* 49119 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18133 /* 49126 */ // (lrint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSD2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
18134 /* 49126 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SIrm),
18135 /* 49129 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18136 /* 49131 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18137 /* 49135 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18138 /* 49140 */ GIR_RootConstrainSelectedInstOperands,
18139 /* 49141 */ // GIR_Coverage, 1760,
18140 /* 49141 */ GIR_EraseRootFromParent_Done,
18141 /* 49142 */ // Label 1165: @49142
18142 /* 49142 */ GIM_Try, /*On fail goto*//*Label 1166*/ GIMT_Encode4(49201), // Rule ID 1780 //
18143 /* 49147 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
18144 /* 49150 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18145 /* 49153 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18146 /* 49157 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18147 /* 49161 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18148 /* 49165 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18149 /* 49168 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18150 /* 49172 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18151 /* 49176 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18152 /* 49178 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18153 /* 49185 */ // (lrint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSS2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
18154 /* 49185 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSS2SIrm),
18155 /* 49188 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18156 /* 49190 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18157 /* 49194 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18158 /* 49199 */ GIR_RootConstrainSelectedInstOperands,
18159 /* 49200 */ // GIR_Coverage, 1780,
18160 /* 49200 */ GIR_EraseRootFromParent_Done,
18161 /* 49201 */ // Label 1166: @49201
18162 /* 49201 */ GIM_Try, /*On fail goto*//*Label 1167*/ GIMT_Encode4(49260), // Rule ID 1784 //
18163 /* 49206 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
18164 /* 49209 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18165 /* 49212 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18166 /* 49216 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18167 /* 49220 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18168 /* 49224 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18169 /* 49227 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18170 /* 49231 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18171 /* 49235 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18172 /* 49237 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18173 /* 49244 */ // (lrint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSD2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
18174 /* 49244 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSD2SIrm),
18175 /* 49247 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18176 /* 49249 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18177 /* 49253 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18178 /* 49258 */ GIR_RootConstrainSelectedInstOperands,
18179 /* 49259 */ // GIR_Coverage, 1784,
18180 /* 49259 */ GIR_EraseRootFromParent_Done,
18181 /* 49260 */ // Label 1167: @49260
18182 /* 49260 */ GIM_Try, /*On fail goto*//*Label 1168*/ GIMT_Encode4(49319), // Rule ID 10353 //
18183 /* 49265 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
18184 /* 49268 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18185 /* 49271 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18186 /* 49275 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18187 /* 49279 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18188 /* 49283 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18189 /* 49286 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18190 /* 49290 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18191 /* 49294 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18192 /* 49296 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18193 /* 49303 */ // (lrint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
18194 /* 49303 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SIZrm),
18195 /* 49306 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18196 /* 49308 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18197 /* 49312 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18198 /* 49317 */ GIR_RootConstrainSelectedInstOperands,
18199 /* 49318 */ // GIR_Coverage, 10353,
18200 /* 49318 */ GIR_EraseRootFromParent_Done,
18201 /* 49319 */ // Label 1168: @49319
18202 /* 49319 */ GIM_Try, /*On fail goto*//*Label 1169*/ GIMT_Encode4(49378), // Rule ID 10357 //
18203 /* 49324 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
18204 /* 49327 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18205 /* 49330 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18206 /* 49334 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18207 /* 49338 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18208 /* 49342 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18209 /* 49345 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18210 /* 49349 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18211 /* 49353 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18212 /* 49355 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18213 /* 49362 */ // (lrint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSD2SIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
18214 /* 49362 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SIZrm),
18215 /* 49365 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18216 /* 49367 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18217 /* 49371 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18218 /* 49376 */ GIR_RootConstrainSelectedInstOperands,
18219 /* 49377 */ // GIR_Coverage, 10357,
18220 /* 49377 */ GIR_EraseRootFromParent_Done,
18221 /* 49378 */ // Label 1169: @49378
18222 /* 49378 */ GIM_Try, /*On fail goto*//*Label 1170*/ GIMT_Encode4(49437), // Rule ID 22171 //
18223 /* 49383 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
18224 /* 49386 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
18225 /* 49389 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18226 /* 49393 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18227 /* 49397 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18228 /* 49401 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18229 /* 49404 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18230 /* 49408 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18231 /* 49412 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18232 /* 49414 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18233 /* 49421 */ // (lrint:{ *:[i32] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2SIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
18234 /* 49421 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SIZrm),
18235 /* 49424 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18236 /* 49426 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18237 /* 49430 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18238 /* 49435 */ GIR_RootConstrainSelectedInstOperands,
18239 /* 49436 */ // GIR_Coverage, 22171,
18240 /* 49436 */ GIR_EraseRootFromParent_Done,
18241 /* 49437 */ // Label 1170: @49437
18242 /* 49437 */ GIM_Try, /*On fail goto*//*Label 1171*/ GIMT_Encode4(49467), // Rule ID 1755 //
18243 /* 49442 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
18244 /* 49445 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18245 /* 49448 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18246 /* 49452 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
18247 /* 49456 */ // (lrint:{ *:[i32] } FR32:{ *:[f32] }:$src) => (VCVTSS2SIrr:{ *:[i32] } FR32:{ *:[f32] }:$src)
18248 /* 49456 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SIrr),
18249 /* 49461 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18250 /* 49465 */ GIR_RootConstrainSelectedInstOperands,
18251 /* 49466 */ // GIR_Coverage, 1755,
18252 /* 49466 */ GIR_Done,
18253 /* 49467 */ // Label 1171: @49467
18254 /* 49467 */ GIM_Try, /*On fail goto*//*Label 1172*/ GIMT_Encode4(49497), // Rule ID 1759 //
18255 /* 49472 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
18256 /* 49475 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18257 /* 49478 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18258 /* 49482 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
18259 /* 49486 */ // (lrint:{ *:[i32] } FR64:{ *:[f64] }:$src) => (VCVTSD2SIrr:{ *:[i32] } FR64:{ *:[f64] }:$src)
18260 /* 49486 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SIrr),
18261 /* 49491 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18262 /* 49495 */ GIR_RootConstrainSelectedInstOperands,
18263 /* 49496 */ // GIR_Coverage, 1759,
18264 /* 49496 */ GIR_Done,
18265 /* 49497 */ // Label 1172: @49497
18266 /* 49497 */ GIM_Try, /*On fail goto*//*Label 1173*/ GIMT_Encode4(49527), // Rule ID 1779 //
18267 /* 49502 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
18268 /* 49505 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18269 /* 49508 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18270 /* 49512 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
18271 /* 49516 */ // (lrint:{ *:[i32] } FR32:{ *:[f32] }:$src) => (CVTSS2SIrr:{ *:[i32] } FR32:{ *:[f32] }:$src)
18272 /* 49516 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSS2SIrr),
18273 /* 49521 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18274 /* 49525 */ GIR_RootConstrainSelectedInstOperands,
18275 /* 49526 */ // GIR_Coverage, 1779,
18276 /* 49526 */ GIR_Done,
18277 /* 49527 */ // Label 1173: @49527
18278 /* 49527 */ GIM_Try, /*On fail goto*//*Label 1174*/ GIMT_Encode4(49557), // Rule ID 1783 //
18279 /* 49532 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
18280 /* 49535 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18281 /* 49538 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18282 /* 49542 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
18283 /* 49546 */ // (lrint:{ *:[i32] } FR64:{ *:[f64] }:$src) => (CVTSD2SIrr:{ *:[i32] } FR64:{ *:[f64] }:$src)
18284 /* 49546 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSD2SIrr),
18285 /* 49551 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18286 /* 49555 */ GIR_RootConstrainSelectedInstOperands,
18287 /* 49556 */ // GIR_Coverage, 1783,
18288 /* 49556 */ GIR_Done,
18289 /* 49557 */ // Label 1174: @49557
18290 /* 49557 */ GIM_Try, /*On fail goto*//*Label 1175*/ GIMT_Encode4(49587), // Rule ID 10352 //
18291 /* 49562 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
18292 /* 49565 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18293 /* 49568 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18294 /* 49572 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
18295 /* 49576 */ // (lrint:{ *:[i32] } FR32X:{ *:[f32] }:$src) => (VCVTSS2SIZrr:{ *:[i32] } FR32X:{ *:[f32] }:$src)
18296 /* 49576 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SIZrr),
18297 /* 49581 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18298 /* 49585 */ GIR_RootConstrainSelectedInstOperands,
18299 /* 49586 */ // GIR_Coverage, 10352,
18300 /* 49586 */ GIR_Done,
18301 /* 49587 */ // Label 1175: @49587
18302 /* 49587 */ GIM_Try, /*On fail goto*//*Label 1176*/ GIMT_Encode4(49617), // Rule ID 10356 //
18303 /* 49592 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
18304 /* 49595 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18305 /* 49598 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18306 /* 49602 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
18307 /* 49606 */ // (lrint:{ *:[i32] } FR64X:{ *:[f64] }:$src) => (VCVTSD2SIZrr:{ *:[i32] } FR64X:{ *:[f64] }:$src)
18308 /* 49606 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SIZrr),
18309 /* 49611 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18310 /* 49615 */ GIR_RootConstrainSelectedInstOperands,
18311 /* 49616 */ // GIR_Coverage, 10356,
18312 /* 49616 */ GIR_Done,
18313 /* 49617 */ // Label 1176: @49617
18314 /* 49617 */ GIM_Try, /*On fail goto*//*Label 1177*/ GIMT_Encode4(49647), // Rule ID 22170 //
18315 /* 49622 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
18316 /* 49625 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
18317 /* 49628 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18318 /* 49632 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
18319 /* 49636 */ // (lrint:{ *:[i32] } FR16:{ *:[f16] }:$src) => (VCVTTSH2SIZrr:{ *:[i32] } FR16:{ *:[f16] }:$src)
18320 /* 49636 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SIZrr),
18321 /* 49641 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18322 /* 49645 */ GIR_RootConstrainSelectedInstOperands,
18323 /* 49646 */ // GIR_Coverage, 22170,
18324 /* 49646 */ GIR_Done,
18325 /* 49647 */ // Label 1177: @49647
18326 /* 49647 */ GIM_Reject,
18327 /* 49648 */ // Label 1152: @49648
18328 /* 49648 */ GIM_Try, /*On fail goto*//*Label 1178*/ GIMT_Encode4(49707), // Rule ID 17990 //
18329 /* 49653 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
18330 /* 49656 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18331 /* 49659 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18332 /* 49663 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18333 /* 49667 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18334 /* 49671 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18335 /* 49674 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18336 /* 49678 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18337 /* 49682 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18338 /* 49684 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18339 /* 49691 */ // (lrint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
18340 /* 49691 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64rm),
18341 /* 49694 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18342 /* 49696 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18343 /* 49700 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18344 /* 49705 */ GIR_RootConstrainSelectedInstOperands,
18345 /* 49706 */ // GIR_Coverage, 17990,
18346 /* 49706 */ GIR_EraseRootFromParent_Done,
18347 /* 49707 */ // Label 1178: @49707
18348 /* 49707 */ GIM_Try, /*On fail goto*//*Label 1179*/ GIMT_Encode4(49766), // Rule ID 17992 //
18349 /* 49712 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
18350 /* 49715 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18351 /* 49718 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18352 /* 49722 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18353 /* 49726 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18354 /* 49730 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18355 /* 49733 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18356 /* 49737 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18357 /* 49741 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18358 /* 49743 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18359 /* 49750 */ // (lrint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSD2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
18360 /* 49750 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64rm),
18361 /* 49753 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18362 /* 49755 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18363 /* 49759 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18364 /* 49764 */ GIR_RootConstrainSelectedInstOperands,
18365 /* 49765 */ // GIR_Coverage, 17992,
18366 /* 49765 */ GIR_EraseRootFromParent_Done,
18367 /* 49766 */ // Label 1179: @49766
18368 /* 49766 */ GIM_Try, /*On fail goto*//*Label 1180*/ GIMT_Encode4(49825), // Rule ID 17994 //
18369 /* 49771 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
18370 /* 49774 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18371 /* 49777 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18372 /* 49781 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18373 /* 49785 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18374 /* 49789 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18375 /* 49792 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18376 /* 49796 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18377 /* 49800 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18378 /* 49802 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18379 /* 49809 */ // (lrint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSS2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
18380 /* 49809 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSS2SI64rm),
18381 /* 49812 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18382 /* 49814 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18383 /* 49818 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18384 /* 49823 */ GIR_RootConstrainSelectedInstOperands,
18385 /* 49824 */ // GIR_Coverage, 17994,
18386 /* 49824 */ GIR_EraseRootFromParent_Done,
18387 /* 49825 */ // Label 1180: @49825
18388 /* 49825 */ GIM_Try, /*On fail goto*//*Label 1181*/ GIMT_Encode4(49884), // Rule ID 17996 //
18389 /* 49830 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
18390 /* 49833 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18391 /* 49836 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18392 /* 49840 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18393 /* 49844 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18394 /* 49848 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18395 /* 49851 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18396 /* 49855 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18397 /* 49859 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18398 /* 49861 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18399 /* 49868 */ // (lrint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSD2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
18400 /* 49868 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSD2SI64rm),
18401 /* 49871 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18402 /* 49873 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18403 /* 49877 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18404 /* 49882 */ GIR_RootConstrainSelectedInstOperands,
18405 /* 49883 */ // GIR_Coverage, 17996,
18406 /* 49883 */ GIR_EraseRootFromParent_Done,
18407 /* 49884 */ // Label 1181: @49884
18408 /* 49884 */ GIM_Try, /*On fail goto*//*Label 1182*/ GIMT_Encode4(49943), // Rule ID 21160 //
18409 /* 49889 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
18410 /* 49892 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18411 /* 49895 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18412 /* 49899 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18413 /* 49903 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18414 /* 49907 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18415 /* 49910 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18416 /* 49914 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18417 /* 49918 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18418 /* 49920 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18419 /* 49927 */ // (lrint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
18420 /* 49927 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64Zrm),
18421 /* 49930 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18422 /* 49932 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18423 /* 49936 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18424 /* 49941 */ GIR_RootConstrainSelectedInstOperands,
18425 /* 49942 */ // GIR_Coverage, 21160,
18426 /* 49942 */ GIR_EraseRootFromParent_Done,
18427 /* 49943 */ // Label 1182: @49943
18428 /* 49943 */ GIM_Try, /*On fail goto*//*Label 1183*/ GIMT_Encode4(50002), // Rule ID 21162 //
18429 /* 49948 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
18430 /* 49951 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18431 /* 49954 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18432 /* 49958 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18433 /* 49962 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18434 /* 49966 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18435 /* 49969 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18436 /* 49973 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18437 /* 49977 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18438 /* 49979 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18439 /* 49986 */ // (lrint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSD2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
18440 /* 49986 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64Zrm),
18441 /* 49989 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18442 /* 49991 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18443 /* 49995 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18444 /* 50000 */ GIR_RootConstrainSelectedInstOperands,
18445 /* 50001 */ // GIR_Coverage, 21162,
18446 /* 50001 */ GIR_EraseRootFromParent_Done,
18447 /* 50002 */ // Label 1183: @50002
18448 /* 50002 */ GIM_Try, /*On fail goto*//*Label 1184*/ GIMT_Encode4(50061), // Rule ID 22173 //
18449 /* 50007 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_In64BitMode),
18450 /* 50010 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
18451 /* 50013 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18452 /* 50017 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18453 /* 50021 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18454 /* 50025 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18455 /* 50028 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18456 /* 50032 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18457 /* 50036 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18458 /* 50038 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18459 /* 50045 */ // (lrint:{ *:[i64] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
18460 /* 50045 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SI64Zrm),
18461 /* 50048 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18462 /* 50050 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18463 /* 50054 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18464 /* 50059 */ GIR_RootConstrainSelectedInstOperands,
18465 /* 50060 */ // GIR_Coverage, 22173,
18466 /* 50060 */ GIR_EraseRootFromParent_Done,
18467 /* 50061 */ // Label 1184: @50061
18468 /* 50061 */ GIM_Try, /*On fail goto*//*Label 1185*/ GIMT_Encode4(50091), // Rule ID 17989 //
18469 /* 50066 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
18470 /* 50069 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18471 /* 50072 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18472 /* 50076 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
18473 /* 50080 */ // (lrint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (VCVTSS2SI64rr:{ *:[i64] } FR32:{ *:[f32] }:$src)
18474 /* 50080 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64rr),
18475 /* 50085 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18476 /* 50089 */ GIR_RootConstrainSelectedInstOperands,
18477 /* 50090 */ // GIR_Coverage, 17989,
18478 /* 50090 */ GIR_Done,
18479 /* 50091 */ // Label 1185: @50091
18480 /* 50091 */ GIM_Try, /*On fail goto*//*Label 1186*/ GIMT_Encode4(50121), // Rule ID 17991 //
18481 /* 50096 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
18482 /* 50099 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18483 /* 50102 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18484 /* 50106 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
18485 /* 50110 */ // (lrint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (VCVTSD2SI64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
18486 /* 50110 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64rr),
18487 /* 50115 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18488 /* 50119 */ GIR_RootConstrainSelectedInstOperands,
18489 /* 50120 */ // GIR_Coverage, 17991,
18490 /* 50120 */ GIR_Done,
18491 /* 50121 */ // Label 1186: @50121
18492 /* 50121 */ GIM_Try, /*On fail goto*//*Label 1187*/ GIMT_Encode4(50151), // Rule ID 17993 //
18493 /* 50126 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
18494 /* 50129 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18495 /* 50132 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18496 /* 50136 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
18497 /* 50140 */ // (lrint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (CVTSS2SI64rr:{ *:[i64] } FR32:{ *:[f32] }:$src)
18498 /* 50140 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSS2SI64rr),
18499 /* 50145 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18500 /* 50149 */ GIR_RootConstrainSelectedInstOperands,
18501 /* 50150 */ // GIR_Coverage, 17993,
18502 /* 50150 */ GIR_Done,
18503 /* 50151 */ // Label 1187: @50151
18504 /* 50151 */ GIM_Try, /*On fail goto*//*Label 1188*/ GIMT_Encode4(50181), // Rule ID 17995 //
18505 /* 50156 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
18506 /* 50159 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18507 /* 50162 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18508 /* 50166 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
18509 /* 50170 */ // (lrint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (CVTSD2SI64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
18510 /* 50170 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSD2SI64rr),
18511 /* 50175 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18512 /* 50179 */ GIR_RootConstrainSelectedInstOperands,
18513 /* 50180 */ // GIR_Coverage, 17995,
18514 /* 50180 */ GIR_Done,
18515 /* 50181 */ // Label 1188: @50181
18516 /* 50181 */ GIM_Try, /*On fail goto*//*Label 1189*/ GIMT_Encode4(50211), // Rule ID 21159 //
18517 /* 50186 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
18518 /* 50189 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18519 /* 50192 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18520 /* 50196 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
18521 /* 50200 */ // (lrint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (VCVTSS2SI64Zrr:{ *:[i64] } FR32:{ *:[f32] }:$src)
18522 /* 50200 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64Zrr),
18523 /* 50205 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18524 /* 50209 */ GIR_RootConstrainSelectedInstOperands,
18525 /* 50210 */ // GIR_Coverage, 21159,
18526 /* 50210 */ GIR_Done,
18527 /* 50211 */ // Label 1189: @50211
18528 /* 50211 */ GIM_Try, /*On fail goto*//*Label 1190*/ GIMT_Encode4(50241), // Rule ID 21161 //
18529 /* 50216 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
18530 /* 50219 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18531 /* 50222 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18532 /* 50226 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
18533 /* 50230 */ // (lrint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (VCVTSD2SI64Zrr:{ *:[i64] } FR64:{ *:[f64] }:$src)
18534 /* 50230 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64Zrr),
18535 /* 50235 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18536 /* 50239 */ GIR_RootConstrainSelectedInstOperands,
18537 /* 50240 */ // GIR_Coverage, 21161,
18538 /* 50240 */ GIR_Done,
18539 /* 50241 */ // Label 1190: @50241
18540 /* 50241 */ GIM_Try, /*On fail goto*//*Label 1191*/ GIMT_Encode4(50271), // Rule ID 22172 //
18541 /* 50246 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_In64BitMode),
18542 /* 50249 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
18543 /* 50252 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18544 /* 50256 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
18545 /* 50260 */ // (lrint:{ *:[i64] } FR16:{ *:[f16] }:$src) => (VCVTTSH2SI64Zrr:{ *:[i64] } FR16:{ *:[f16] }:$src)
18546 /* 50260 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SI64Zrr),
18547 /* 50265 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18548 /* 50269 */ GIR_RootConstrainSelectedInstOperands,
18549 /* 50270 */ // GIR_Coverage, 22172,
18550 /* 50270 */ GIR_Done,
18551 /* 50271 */ // Label 1191: @50271
18552 /* 50271 */ GIM_Reject,
18553 /* 50272 */ // Label 1153: @50272
18554 /* 50272 */ GIM_Try, /*On fail goto*//*Label 1192*/ GIMT_Encode4(50360),
18555 /* 50277 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
18556 /* 50280 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18557 /* 50284 */ GIM_Try, /*On fail goto*//*Label 1193*/ GIMT_Encode4(50336), // Rule ID 21385 //
18558 /* 50289 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
18559 /* 50292 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18560 /* 50296 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18561 /* 50300 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18562 /* 50303 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18563 /* 50307 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18564 /* 50311 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18565 /* 50313 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18566 /* 50320 */ // (lrint:{ *:[v2i64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2QQZ128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
18567 /* 50320 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ128rm),
18568 /* 50323 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18569 /* 50325 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18570 /* 50329 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18571 /* 50334 */ GIR_RootConstrainSelectedInstOperands,
18572 /* 50335 */ // GIR_Coverage, 21385,
18573 /* 50335 */ GIR_EraseRootFromParent_Done,
18574 /* 50336 */ // Label 1193: @50336
18575 /* 50336 */ GIM_Try, /*On fail goto*//*Label 1194*/ GIMT_Encode4(50359), // Rule ID 21384 //
18576 /* 50341 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
18577 /* 50344 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18578 /* 50348 */ // (lrint:{ *:[v2i64] } VR128X:{ *:[v2f64] }:$src) => (VCVTPD2QQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2f64] }:$src)
18579 /* 50348 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ128rr),
18580 /* 50353 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18581 /* 50357 */ GIR_RootConstrainSelectedInstOperands,
18582 /* 50358 */ // GIR_Coverage, 21384,
18583 /* 50358 */ GIR_Done,
18584 /* 50359 */ // Label 1194: @50359
18585 /* 50359 */ GIM_Reject,
18586 /* 50360 */ // Label 1192: @50360
18587 /* 50360 */ GIM_Reject,
18588 /* 50361 */ // Label 1154: @50361
18589 /* 50361 */ GIM_Try, /*On fail goto*//*Label 1195*/ GIMT_Encode4(50420), // Rule ID 18044 //
18590 /* 50366 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
18591 /* 50369 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
18592 /* 50372 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
18593 /* 50376 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18594 /* 50380 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18595 /* 50384 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18596 /* 50387 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18597 /* 50391 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18598 /* 50395 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18599 /* 50397 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18600 /* 50404 */ // (lrint:{ *:[v4i32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2DQrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
18601 /* 50404 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQrm),
18602 /* 50407 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18603 /* 50409 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18604 /* 50413 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18605 /* 50418 */ GIR_RootConstrainSelectedInstOperands,
18606 /* 50419 */ // GIR_Coverage, 18044,
18607 /* 50419 */ GIR_EraseRootFromParent_Done,
18608 /* 50420 */ // Label 1195: @50420
18609 /* 50420 */ GIM_Try, /*On fail goto*//*Label 1196*/ GIMT_Encode4(50479), // Rule ID 18048 //
18610 /* 50425 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
18611 /* 50428 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
18612 /* 50431 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
18613 /* 50435 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18614 /* 50439 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18615 /* 50443 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18616 /* 50446 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18617 /* 50450 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18618 /* 50454 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18619 /* 50456 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18620 /* 50463 */ // (lrint:{ *:[v4i32] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2DQYrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
18621 /* 50463 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2DQYrm),
18622 /* 50466 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18623 /* 50468 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18624 /* 50472 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18625 /* 50477 */ GIR_RootConstrainSelectedInstOperands,
18626 /* 50478 */ // GIR_Coverage, 18048,
18627 /* 50478 */ GIR_EraseRootFromParent_Done,
18628 /* 50479 */ // Label 1196: @50479
18629 /* 50479 */ GIM_Try, /*On fail goto*//*Label 1197*/ GIMT_Encode4(50538), // Rule ID 18050 //
18630 /* 50484 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
18631 /* 50487 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
18632 /* 50490 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
18633 /* 50494 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18634 /* 50498 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18635 /* 50502 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18636 /* 50505 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18637 /* 50509 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18638 /* 50513 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18639 /* 50515 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18640 /* 50522 */ // (lrint:{ *:[v4i32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTPS2DQrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
18641 /* 50522 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTPS2DQrm),
18642 /* 50525 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18643 /* 50527 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18644 /* 50531 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18645 /* 50536 */ GIR_RootConstrainSelectedInstOperands,
18646 /* 50537 */ // GIR_Coverage, 18050,
18647 /* 50537 */ GIR_EraseRootFromParent_Done,
18648 /* 50538 */ // Label 1197: @50538
18649 /* 50538 */ GIM_Try, /*On fail goto*//*Label 1198*/ GIMT_Encode4(50597), // Rule ID 21357 //
18650 /* 50543 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
18651 /* 50546 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
18652 /* 50549 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18653 /* 50553 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18654 /* 50557 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18655 /* 50561 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18656 /* 50564 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18657 /* 50568 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18658 /* 50572 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18659 /* 50574 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18660 /* 50581 */ // (lrint:{ *:[v4i32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2DQZ128rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
18661 /* 50581 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQZ128rm),
18662 /* 50584 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18663 /* 50586 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18664 /* 50590 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18665 /* 50595 */ GIR_RootConstrainSelectedInstOperands,
18666 /* 50596 */ // GIR_Coverage, 21357,
18667 /* 50596 */ GIR_EraseRootFromParent_Done,
18668 /* 50597 */ // Label 1198: @50597
18669 /* 50597 */ GIM_Try, /*On fail goto*//*Label 1199*/ GIMT_Encode4(50656), // Rule ID 21361 //
18670 /* 50602 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
18671 /* 50605 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
18672 /* 50608 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18673 /* 50612 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18674 /* 50616 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18675 /* 50620 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18676 /* 50623 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18677 /* 50627 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18678 /* 50631 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18679 /* 50633 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18680 /* 50640 */ // (lrint:{ *:[v4i32] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2DQZ256rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
18681 /* 50640 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2DQZ256rm),
18682 /* 50643 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18683 /* 50645 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18684 /* 50649 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18685 /* 50654 */ GIR_RootConstrainSelectedInstOperands,
18686 /* 50655 */ // GIR_Coverage, 21361,
18687 /* 50655 */ GIR_EraseRootFromParent_Done,
18688 /* 50656 */ // Label 1199: @50656
18689 /* 50656 */ GIM_Try, /*On fail goto*//*Label 1200*/ GIMT_Encode4(50686), // Rule ID 18043 //
18690 /* 50661 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
18691 /* 50664 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
18692 /* 50667 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
18693 /* 50671 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
18694 /* 50675 */ // (lrint:{ *:[v4i32] } VR128:{ *:[v4f32] }:$src) => (VCVTPS2DQrr:{ *:[v4i32] } VR128:{ *:[v4f32] }:$src)
18695 /* 50675 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQrr),
18696 /* 50680 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18697 /* 50684 */ GIR_RootConstrainSelectedInstOperands,
18698 /* 50685 */ // GIR_Coverage, 18043,
18699 /* 50685 */ GIR_Done,
18700 /* 50686 */ // Label 1200: @50686
18701 /* 50686 */ GIM_Try, /*On fail goto*//*Label 1201*/ GIMT_Encode4(50716), // Rule ID 18047 //
18702 /* 50691 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
18703 /* 50694 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
18704 /* 50697 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
18705 /* 50701 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
18706 /* 50705 */ // (lrint:{ *:[v4i32] } VR256:{ *:[v4f64] }:$src) => (VCVTPD2DQYrr:{ *:[v4i32] } VR256:{ *:[v4f64] }:$src)
18707 /* 50705 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2DQYrr),
18708 /* 50710 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18709 /* 50714 */ GIR_RootConstrainSelectedInstOperands,
18710 /* 50715 */ // GIR_Coverage, 18047,
18711 /* 50715 */ GIR_Done,
18712 /* 50716 */ // Label 1201: @50716
18713 /* 50716 */ GIM_Try, /*On fail goto*//*Label 1202*/ GIMT_Encode4(50746), // Rule ID 18049 //
18714 /* 50721 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
18715 /* 50724 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
18716 /* 50727 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
18717 /* 50731 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
18718 /* 50735 */ // (lrint:{ *:[v4i32] } VR128:{ *:[v4f32] }:$src) => (CVTPS2DQrr:{ *:[v4i32] } VR128:{ *:[v4f32] }:$src)
18719 /* 50735 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTPS2DQrr),
18720 /* 50740 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18721 /* 50744 */ GIR_RootConstrainSelectedInstOperands,
18722 /* 50745 */ // GIR_Coverage, 18049,
18723 /* 50745 */ GIR_Done,
18724 /* 50746 */ // Label 1202: @50746
18725 /* 50746 */ GIM_Try, /*On fail goto*//*Label 1203*/ GIMT_Encode4(50776), // Rule ID 21356 //
18726 /* 50751 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
18727 /* 50754 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
18728 /* 50757 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18729 /* 50761 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18730 /* 50765 */ // (lrint:{ *:[v4i32] } VR128X:{ *:[v4f32] }:$src) => (VCVTPS2DQZ128rr:{ *:[v4i32] } VR128X:{ *:[v4f32] }:$src)
18731 /* 50765 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQZ128rr),
18732 /* 50770 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18733 /* 50774 */ GIR_RootConstrainSelectedInstOperands,
18734 /* 50775 */ // GIR_Coverage, 21356,
18735 /* 50775 */ GIR_Done,
18736 /* 50776 */ // Label 1203: @50776
18737 /* 50776 */ GIM_Try, /*On fail goto*//*Label 1204*/ GIMT_Encode4(50806), // Rule ID 21360 //
18738 /* 50781 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
18739 /* 50784 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
18740 /* 50787 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18741 /* 50791 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18742 /* 50795 */ // (lrint:{ *:[v4i32] } VR256X:{ *:[v4f64] }:$src) => (VCVTPD2DQZ256rr:{ *:[v4i32] } VR256X:{ *:[v4f64] }:$src)
18743 /* 50795 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2DQZ256rr),
18744 /* 50800 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18745 /* 50804 */ GIR_RootConstrainSelectedInstOperands,
18746 /* 50805 */ // GIR_Coverage, 21360,
18747 /* 50805 */ GIR_Done,
18748 /* 50806 */ // Label 1204: @50806
18749 /* 50806 */ GIM_Reject,
18750 /* 50807 */ // Label 1155: @50807
18751 /* 50807 */ GIM_Try, /*On fail goto*//*Label 1205*/ GIMT_Encode4(50866), // Rule ID 21381 //
18752 /* 50812 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
18753 /* 50815 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
18754 /* 50818 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18755 /* 50822 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18756 /* 50826 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18757 /* 50830 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18758 /* 50833 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18759 /* 50837 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18760 /* 50841 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18761 /* 50843 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18762 /* 50850 */ // (lrint:{ *:[v4i64] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2QQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
18763 /* 50850 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZ256rm),
18764 /* 50853 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18765 /* 50855 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18766 /* 50859 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18767 /* 50864 */ GIR_RootConstrainSelectedInstOperands,
18768 /* 50865 */ // GIR_Coverage, 21381,
18769 /* 50865 */ GIR_EraseRootFromParent_Done,
18770 /* 50866 */ // Label 1205: @50866
18771 /* 50866 */ GIM_Try, /*On fail goto*//*Label 1206*/ GIMT_Encode4(50925), // Rule ID 21387 //
18772 /* 50871 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
18773 /* 50874 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
18774 /* 50877 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18775 /* 50881 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18776 /* 50885 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18777 /* 50889 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18778 /* 50892 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18779 /* 50896 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18780 /* 50900 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18781 /* 50902 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18782 /* 50909 */ // (lrint:{ *:[v4i64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2QQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
18783 /* 50909 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ256rm),
18784 /* 50912 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18785 /* 50914 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18786 /* 50918 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18787 /* 50923 */ GIR_RootConstrainSelectedInstOperands,
18788 /* 50924 */ // GIR_Coverage, 21387,
18789 /* 50924 */ GIR_EraseRootFromParent_Done,
18790 /* 50925 */ // Label 1206: @50925
18791 /* 50925 */ GIM_Try, /*On fail goto*//*Label 1207*/ GIMT_Encode4(50955), // Rule ID 21380 //
18792 /* 50930 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
18793 /* 50933 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
18794 /* 50936 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18795 /* 50940 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18796 /* 50944 */ // (lrint:{ *:[v4i64] } VR128X:{ *:[v4f32] }:$src) => (VCVTPS2QQZ256rr:{ *:[v4i64] } VR128X:{ *:[v4f32] }:$src)
18797 /* 50944 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZ256rr),
18798 /* 50949 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18799 /* 50953 */ GIR_RootConstrainSelectedInstOperands,
18800 /* 50954 */ // GIR_Coverage, 21380,
18801 /* 50954 */ GIR_Done,
18802 /* 50955 */ // Label 1207: @50955
18803 /* 50955 */ GIM_Try, /*On fail goto*//*Label 1208*/ GIMT_Encode4(50985), // Rule ID 21386 //
18804 /* 50960 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
18805 /* 50963 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
18806 /* 50966 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18807 /* 50970 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18808 /* 50974 */ // (lrint:{ *:[v4i64] } VR256X:{ *:[v4f64] }:$src) => (VCVTPD2QQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4f64] }:$src)
18809 /* 50974 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ256rr),
18810 /* 50979 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18811 /* 50983 */ GIR_RootConstrainSelectedInstOperands,
18812 /* 50984 */ // GIR_Coverage, 21386,
18813 /* 50984 */ GIR_Done,
18814 /* 50985 */ // Label 1208: @50985
18815 /* 50985 */ GIM_Reject,
18816 /* 50986 */ // Label 1156: @50986
18817 /* 50986 */ GIM_Try, /*On fail goto*//*Label 1209*/ GIMT_Encode4(51074),
18818 /* 50991 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
18819 /* 50994 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18820 /* 50998 */ GIM_Try, /*On fail goto*//*Label 1210*/ GIMT_Encode4(51050), // Rule ID 22156 //
18821 /* 51003 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
18822 /* 51006 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18823 /* 51010 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18824 /* 51014 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18825 /* 51017 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18826 /* 51021 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18827 /* 51025 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18828 /* 51027 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18829 /* 51034 */ // (lrint:{ *:[v8i16] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2WZ128rm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
18830 /* 51034 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2WZ128rm),
18831 /* 51037 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18832 /* 51039 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18833 /* 51043 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18834 /* 51048 */ GIR_RootConstrainSelectedInstOperands,
18835 /* 51049 */ // GIR_Coverage, 22156,
18836 /* 51049 */ GIR_EraseRootFromParent_Done,
18837 /* 51050 */ // Label 1210: @51050
18838 /* 51050 */ GIM_Try, /*On fail goto*//*Label 1211*/ GIMT_Encode4(51073), // Rule ID 22155 //
18839 /* 51055 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
18840 /* 51058 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18841 /* 51062 */ // (lrint:{ *:[v8i16] } VR128X:{ *:[v8f16] }:$src) => (VCVTPH2WZ128rr:{ *:[v8i16] } VR128X:{ *:[v8f16] }:$src)
18842 /* 51062 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2WZ128rr),
18843 /* 51067 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18844 /* 51071 */ GIR_RootConstrainSelectedInstOperands,
18845 /* 51072 */ // GIR_Coverage, 22155,
18846 /* 51072 */ GIR_Done,
18847 /* 51073 */ // Label 1211: @51073
18848 /* 51073 */ GIM_Reject,
18849 /* 51074 */ // Label 1209: @51074
18850 /* 51074 */ GIM_Reject,
18851 /* 51075 */ // Label 1157: @51075
18852 /* 51075 */ GIM_Try, /*On fail goto*//*Label 1212*/ GIMT_Encode4(51134), // Rule ID 18046 //
18853 /* 51080 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
18854 /* 51083 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
18855 /* 51086 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
18856 /* 51090 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18857 /* 51094 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18858 /* 51098 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18859 /* 51101 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18860 /* 51105 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18861 /* 51109 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18862 /* 51111 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18863 /* 51118 */ // (lrint:{ *:[v8i32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2DQYrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
18864 /* 51118 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQYrm),
18865 /* 51121 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18866 /* 51123 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18867 /* 51127 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18868 /* 51132 */ GIR_RootConstrainSelectedInstOperands,
18869 /* 51133 */ // GIR_Coverage, 18046,
18870 /* 51133 */ GIR_EraseRootFromParent_Done,
18871 /* 51134 */ // Label 1212: @51134
18872 /* 51134 */ GIM_Try, /*On fail goto*//*Label 1213*/ GIMT_Encode4(51193), // Rule ID 21359 //
18873 /* 51139 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
18874 /* 51142 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
18875 /* 51145 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18876 /* 51149 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18877 /* 51153 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18878 /* 51157 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18879 /* 51160 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18880 /* 51164 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18881 /* 51168 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18882 /* 51170 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18883 /* 51177 */ // (lrint:{ *:[v8i32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2DQZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
18884 /* 51177 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQZ256rm),
18885 /* 51180 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18886 /* 51182 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18887 /* 51186 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18888 /* 51191 */ GIR_RootConstrainSelectedInstOperands,
18889 /* 51192 */ // GIR_Coverage, 21359,
18890 /* 51192 */ GIR_EraseRootFromParent_Done,
18891 /* 51193 */ // Label 1213: @51193
18892 /* 51193 */ GIM_Try, /*On fail goto*//*Label 1214*/ GIMT_Encode4(51249), // Rule ID 21365 //
18893 /* 51198 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
18894 /* 51201 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18895 /* 51205 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18896 /* 51209 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18897 /* 51213 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18898 /* 51216 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18899 /* 51220 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18900 /* 51224 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18901 /* 51226 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18902 /* 51233 */ // (lrint:{ *:[v8i32] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2DQZrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
18903 /* 51233 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2DQZrm),
18904 /* 51236 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18905 /* 51238 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18906 /* 51242 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18907 /* 51247 */ GIR_RootConstrainSelectedInstOperands,
18908 /* 51248 */ // GIR_Coverage, 21365,
18909 /* 51248 */ GIR_EraseRootFromParent_Done,
18910 /* 51249 */ // Label 1214: @51249
18911 /* 51249 */ GIM_Try, /*On fail goto*//*Label 1215*/ GIMT_Encode4(51308), // Rule ID 22160 //
18912 /* 51254 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
18913 /* 51257 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
18914 /* 51260 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18915 /* 51264 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18916 /* 51268 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18917 /* 51272 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18918 /* 51275 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18919 /* 51279 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18920 /* 51283 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18921 /* 51285 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18922 /* 51292 */ // (lrint:{ *:[v8i32] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2DQZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
18923 /* 51292 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2DQZ256rm),
18924 /* 51295 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18925 /* 51297 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18926 /* 51301 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18927 /* 51306 */ GIR_RootConstrainSelectedInstOperands,
18928 /* 51307 */ // GIR_Coverage, 22160,
18929 /* 51307 */ GIR_EraseRootFromParent_Done,
18930 /* 51308 */ // Label 1215: @51308
18931 /* 51308 */ GIM_Try, /*On fail goto*//*Label 1216*/ GIMT_Encode4(51338), // Rule ID 18045 //
18932 /* 51313 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
18933 /* 51316 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
18934 /* 51319 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
18935 /* 51323 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
18936 /* 51327 */ // (lrint:{ *:[v8i32] } VR256:{ *:[v8f32] }:$src) => (VCVTPS2DQYrr:{ *:[v8i32] } VR256:{ *:[v8f32] }:$src)
18937 /* 51327 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQYrr),
18938 /* 51332 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18939 /* 51336 */ GIR_RootConstrainSelectedInstOperands,
18940 /* 51337 */ // GIR_Coverage, 18045,
18941 /* 51337 */ GIR_Done,
18942 /* 51338 */ // Label 1216: @51338
18943 /* 51338 */ GIM_Try, /*On fail goto*//*Label 1217*/ GIMT_Encode4(51368), // Rule ID 21358 //
18944 /* 51343 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
18945 /* 51346 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
18946 /* 51349 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18947 /* 51353 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18948 /* 51357 */ // (lrint:{ *:[v8i32] } VR256X:{ *:[v8f32] }:$src) => (VCVTPS2DQZ256rr:{ *:[v8i32] } VR256X:{ *:[v8f32] }:$src)
18949 /* 51357 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQZ256rr),
18950 /* 51362 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18951 /* 51366 */ GIR_RootConstrainSelectedInstOperands,
18952 /* 51367 */ // GIR_Coverage, 21358,
18953 /* 51367 */ GIR_Done,
18954 /* 51368 */ // Label 1217: @51368
18955 /* 51368 */ GIM_Try, /*On fail goto*//*Label 1218*/ GIMT_Encode4(51395), // Rule ID 21364 //
18956 /* 51373 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
18957 /* 51376 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18958 /* 51380 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18959 /* 51384 */ // (lrint:{ *:[v8i32] } VR512:{ *:[v8f64] }:$src) => (VCVTPD2DQZrr:{ *:[v8i32] } VR512:{ *:[v8f64] }:$src)
18960 /* 51384 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2DQZrr),
18961 /* 51389 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18962 /* 51393 */ GIR_RootConstrainSelectedInstOperands,
18963 /* 51394 */ // GIR_Coverage, 21364,
18964 /* 51394 */ GIR_Done,
18965 /* 51395 */ // Label 1218: @51395
18966 /* 51395 */ GIM_Try, /*On fail goto*//*Label 1219*/ GIMT_Encode4(51425), // Rule ID 22159 //
18967 /* 51400 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
18968 /* 51403 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
18969 /* 51406 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18970 /* 51410 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18971 /* 51414 */ // (lrint:{ *:[v8i32] } VR128X:{ *:[v8f16] }:$src) => (VCVTPH2DQZ256rr:{ *:[v8i32] } VR128X:{ *:[v8f16] }:$src)
18972 /* 51414 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2DQZ256rr),
18973 /* 51419 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18974 /* 51423 */ GIR_RootConstrainSelectedInstOperands,
18975 /* 51424 */ // GIR_Coverage, 22159,
18976 /* 51424 */ GIR_Done,
18977 /* 51425 */ // Label 1219: @51425
18978 /* 51425 */ GIM_Reject,
18979 /* 51426 */ // Label 1158: @51426
18980 /* 51426 */ GIM_Try, /*On fail goto*//*Label 1220*/ GIMT_Encode4(51485), // Rule ID 21393 //
18981 /* 51431 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
18982 /* 51434 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
18983 /* 51437 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18984 /* 51441 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18985 /* 51445 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18986 /* 51449 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18987 /* 51452 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18988 /* 51456 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18989 /* 51460 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18990 /* 51462 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18991 /* 51469 */ // (lrint:{ *:[v8i64] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2QQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
18992 /* 51469 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZrm),
18993 /* 51472 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18994 /* 51474 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18995 /* 51478 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18996 /* 51483 */ GIR_RootConstrainSelectedInstOperands,
18997 /* 51484 */ // GIR_Coverage, 21393,
18998 /* 51484 */ GIR_EraseRootFromParent_Done,
18999 /* 51485 */ // Label 1220: @51485
19000 /* 51485 */ GIM_Try, /*On fail goto*//*Label 1221*/ GIMT_Encode4(51544), // Rule ID 21397 //
19001 /* 51490 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
19002 /* 51493 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
19003 /* 51496 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19004 /* 51500 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19005 /* 51504 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19006 /* 51508 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19007 /* 51511 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19008 /* 51515 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19009 /* 51519 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19010 /* 51521 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19011 /* 51528 */ // (lrint:{ *:[v8i64] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2QQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
19012 /* 51528 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZrm),
19013 /* 51531 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19014 /* 51533 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19015 /* 51537 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19016 /* 51542 */ GIR_RootConstrainSelectedInstOperands,
19017 /* 51543 */ // GIR_Coverage, 21397,
19018 /* 51543 */ GIR_EraseRootFromParent_Done,
19019 /* 51544 */ // Label 1221: @51544
19020 /* 51544 */ GIM_Try, /*On fail goto*//*Label 1222*/ GIMT_Encode4(51603), // Rule ID 22166 //
19021 /* 51549 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
19022 /* 51552 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
19023 /* 51555 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19024 /* 51559 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19025 /* 51563 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19026 /* 51567 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19027 /* 51570 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19028 /* 51574 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19029 /* 51578 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19030 /* 51580 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19031 /* 51587 */ // (lrint:{ *:[v8i64] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2QQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
19032 /* 51587 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2QQZrm),
19033 /* 51590 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19034 /* 51592 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19035 /* 51596 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19036 /* 51601 */ GIR_RootConstrainSelectedInstOperands,
19037 /* 51602 */ // GIR_Coverage, 22166,
19038 /* 51602 */ GIR_EraseRootFromParent_Done,
19039 /* 51603 */ // Label 1222: @51603
19040 /* 51603 */ GIM_Try, /*On fail goto*//*Label 1223*/ GIMT_Encode4(51633), // Rule ID 21392 //
19041 /* 51608 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
19042 /* 51611 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
19043 /* 51614 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19044 /* 51618 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19045 /* 51622 */ // (lrint:{ *:[v8i64] } VR256X:{ *:[v8f32] }:$src) => (VCVTPS2QQZrr:{ *:[v8i64] } VR256X:{ *:[v8f32] }:$src)
19046 /* 51622 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZrr),
19047 /* 51627 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19048 /* 51631 */ GIR_RootConstrainSelectedInstOperands,
19049 /* 51632 */ // GIR_Coverage, 21392,
19050 /* 51632 */ GIR_Done,
19051 /* 51633 */ // Label 1223: @51633
19052 /* 51633 */ GIM_Try, /*On fail goto*//*Label 1224*/ GIMT_Encode4(51663), // Rule ID 21396 //
19053 /* 51638 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
19054 /* 51641 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
19055 /* 51644 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19056 /* 51648 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19057 /* 51652 */ // (lrint:{ *:[v8i64] } VR512:{ *:[v8f64] }:$src) => (VCVTPD2QQZrr:{ *:[v8i64] } VR512:{ *:[v8f64] }:$src)
19058 /* 51652 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZrr),
19059 /* 51657 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19060 /* 51661 */ GIR_RootConstrainSelectedInstOperands,
19061 /* 51662 */ // GIR_Coverage, 21396,
19062 /* 51662 */ GIR_Done,
19063 /* 51663 */ // Label 1224: @51663
19064 /* 51663 */ GIM_Try, /*On fail goto*//*Label 1225*/ GIMT_Encode4(51693), // Rule ID 22165 //
19065 /* 51668 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
19066 /* 51671 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
19067 /* 51674 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19068 /* 51678 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
19069 /* 51682 */ // (lrint:{ *:[v8i64] } VR128X:{ *:[v8f16] }:$src) => (VCVTPH2QQZrr:{ *:[v8i64] } VR128X:{ *:[v8f16] }:$src)
19070 /* 51682 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2QQZrr),
19071 /* 51687 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19072 /* 51691 */ GIR_RootConstrainSelectedInstOperands,
19073 /* 51692 */ // GIR_Coverage, 22165,
19074 /* 51692 */ GIR_Done,
19075 /* 51693 */ // Label 1225: @51693
19076 /* 51693 */ GIM_Reject,
19077 /* 51694 */ // Label 1159: @51694
19078 /* 51694 */ GIM_Try, /*On fail goto*//*Label 1226*/ GIMT_Encode4(51782),
19079 /* 51699 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
19080 /* 51702 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19081 /* 51706 */ GIM_Try, /*On fail goto*//*Label 1227*/ GIMT_Encode4(51758), // Rule ID 22158 //
19082 /* 51711 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
19083 /* 51714 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19084 /* 51718 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19085 /* 51722 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19086 /* 51725 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19087 /* 51729 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19088 /* 51733 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19089 /* 51735 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19090 /* 51742 */ // (lrint:{ *:[v16i16] } (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2WZ256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
19091 /* 51742 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2WZ256rm),
19092 /* 51745 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19093 /* 51747 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19094 /* 51751 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19095 /* 51756 */ GIR_RootConstrainSelectedInstOperands,
19096 /* 51757 */ // GIR_Coverage, 22158,
19097 /* 51757 */ GIR_EraseRootFromParent_Done,
19098 /* 51758 */ // Label 1227: @51758
19099 /* 51758 */ GIM_Try, /*On fail goto*//*Label 1228*/ GIMT_Encode4(51781), // Rule ID 22157 //
19100 /* 51763 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
19101 /* 51766 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19102 /* 51770 */ // (lrint:{ *:[v16i16] } VR256X:{ *:[v16f16] }:$src) => (VCVTPH2WZ256rr:{ *:[v16i16] } VR256X:{ *:[v16f16] }:$src)
19103 /* 51770 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2WZ256rr),
19104 /* 51775 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19105 /* 51779 */ GIR_RootConstrainSelectedInstOperands,
19106 /* 51780 */ // GIR_Coverage, 22157,
19107 /* 51780 */ GIR_Done,
19108 /* 51781 */ // Label 1228: @51781
19109 /* 51781 */ GIM_Reject,
19110 /* 51782 */ // Label 1226: @51782
19111 /* 51782 */ GIM_Reject,
19112 /* 51783 */ // Label 1160: @51783
19113 /* 51783 */ GIM_Try, /*On fail goto*//*Label 1229*/ GIMT_Encode4(51839), // Rule ID 21363 //
19114 /* 51788 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
19115 /* 51791 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19116 /* 51795 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19117 /* 51799 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19118 /* 51803 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19119 /* 51806 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19120 /* 51810 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19121 /* 51814 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19122 /* 51816 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19123 /* 51823 */ // (lrint:{ *:[v16i32] } (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2DQZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
19124 /* 51823 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQZrm),
19125 /* 51826 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19126 /* 51828 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19127 /* 51832 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19128 /* 51837 */ GIR_RootConstrainSelectedInstOperands,
19129 /* 51838 */ // GIR_Coverage, 21363,
19130 /* 51838 */ GIR_EraseRootFromParent_Done,
19131 /* 51839 */ // Label 1229: @51839
19132 /* 51839 */ GIM_Try, /*On fail goto*//*Label 1230*/ GIMT_Encode4(51898), // Rule ID 22164 //
19133 /* 51844 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
19134 /* 51847 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
19135 /* 51850 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19136 /* 51854 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19137 /* 51858 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19138 /* 51862 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19139 /* 51865 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19140 /* 51869 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19141 /* 51873 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19142 /* 51875 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19143 /* 51882 */ // (lrint:{ *:[v16i32] } (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2DQZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
19144 /* 51882 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2DQZrm),
19145 /* 51885 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19146 /* 51887 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19147 /* 51891 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19148 /* 51896 */ GIR_RootConstrainSelectedInstOperands,
19149 /* 51897 */ // GIR_Coverage, 22164,
19150 /* 51897 */ GIR_EraseRootFromParent_Done,
19151 /* 51898 */ // Label 1230: @51898
19152 /* 51898 */ GIM_Try, /*On fail goto*//*Label 1231*/ GIMT_Encode4(51925), // Rule ID 21362 //
19153 /* 51903 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
19154 /* 51906 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19155 /* 51910 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19156 /* 51914 */ // (lrint:{ *:[v16i32] } VR512:{ *:[v16f32] }:$src) => (VCVTPS2DQZrr:{ *:[v16i32] } VR512:{ *:[v16f32] }:$src)
19157 /* 51914 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQZrr),
19158 /* 51919 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19159 /* 51923 */ GIR_RootConstrainSelectedInstOperands,
19160 /* 51924 */ // GIR_Coverage, 21362,
19161 /* 51924 */ GIR_Done,
19162 /* 51925 */ // Label 1231: @51925
19163 /* 51925 */ GIM_Try, /*On fail goto*//*Label 1232*/ GIMT_Encode4(51955), // Rule ID 22163 //
19164 /* 51930 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
19165 /* 51933 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
19166 /* 51936 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19167 /* 51940 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19168 /* 51944 */ // (lrint:{ *:[v16i32] } VR256X:{ *:[v16f16] }:$src) => (VCVTPH2DQZrr:{ *:[v16i32] } VR256X:{ *:[v16f16] }:$src)
19169 /* 51944 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2DQZrr),
19170 /* 51949 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19171 /* 51953 */ GIR_RootConstrainSelectedInstOperands,
19172 /* 51954 */ // GIR_Coverage, 22163,
19173 /* 51954 */ GIR_Done,
19174 /* 51955 */ // Label 1232: @51955
19175 /* 51955 */ GIM_Reject,
19176 /* 51956 */ // Label 1161: @51956
19177 /* 51956 */ GIM_Try, /*On fail goto*//*Label 1233*/ GIMT_Encode4(52044),
19178 /* 51961 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
19179 /* 51964 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19180 /* 51968 */ GIM_Try, /*On fail goto*//*Label 1234*/ GIMT_Encode4(52020), // Rule ID 22162 //
19181 /* 51973 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
19182 /* 51976 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19183 /* 51980 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19184 /* 51984 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19185 /* 51987 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19186 /* 51991 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19187 /* 51995 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19188 /* 51997 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19189 /* 52004 */ // (lrint:{ *:[v32i16] } (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2WZrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)
19190 /* 52004 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2WZrm),
19191 /* 52007 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19192 /* 52009 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19193 /* 52013 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19194 /* 52018 */ GIR_RootConstrainSelectedInstOperands,
19195 /* 52019 */ // GIR_Coverage, 22162,
19196 /* 52019 */ GIR_EraseRootFromParent_Done,
19197 /* 52020 */ // Label 1234: @52020
19198 /* 52020 */ GIM_Try, /*On fail goto*//*Label 1235*/ GIMT_Encode4(52043), // Rule ID 22161 //
19199 /* 52025 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
19200 /* 52028 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19201 /* 52032 */ // (lrint:{ *:[v32i16] } VR512:{ *:[v32f16] }:$src) => (VCVTPH2WZrr:{ *:[v32i16] } VR512:{ *:[v32f16] }:$src)
19202 /* 52032 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2WZrr),
19203 /* 52037 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19204 /* 52041 */ GIR_RootConstrainSelectedInstOperands,
19205 /* 52042 */ // GIR_Coverage, 22161,
19206 /* 52042 */ GIR_Done,
19207 /* 52043 */ // Label 1235: @52043
19208 /* 52043 */ GIM_Reject,
19209 /* 52044 */ // Label 1233: @52044
19210 /* 52044 */ GIM_Reject,
19211 /* 52045 */ // Label 1162: @52045
19212 /* 52045 */ GIM_Reject,
19213 /* 52046 */ // Label 9: @52046
19214 /* 52046 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(4), GIMT_Encode2(16), /*)*//*default:*//*Label 1240*/ GIMT_Encode4(53265),
19215 /* 52057 */ /*GILLT_s64*//*Label 1236*/ GIMT_Encode4(52105), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
19216 /* 52073 */ /*GILLT_v2s64*//*Label 1237*/ GIMT_Encode4(52729), GIMT_Encode4(0), GIMT_Encode4(0),
19217 /* 52085 */ /*GILLT_v4s64*//*Label 1238*/ GIMT_Encode4(52818), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
19218 /* 52101 */ /*GILLT_v8s64*//*Label 1239*/ GIMT_Encode4(52997),
19219 /* 52105 */ // Label 1236: @52105
19220 /* 52105 */ GIM_Try, /*On fail goto*//*Label 1241*/ GIMT_Encode4(52164), // Rule ID 1758 //
19221 /* 52110 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
19222 /* 52113 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
19223 /* 52116 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19224 /* 52120 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19225 /* 52124 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19226 /* 52128 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19227 /* 52131 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19228 /* 52135 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19229 /* 52139 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19230 /* 52141 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19231 /* 52148 */ // (llrint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
19232 /* 52148 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64rm),
19233 /* 52151 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19234 /* 52153 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19235 /* 52157 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19236 /* 52162 */ GIR_RootConstrainSelectedInstOperands,
19237 /* 52163 */ // GIR_Coverage, 1758,
19238 /* 52163 */ GIR_EraseRootFromParent_Done,
19239 /* 52164 */ // Label 1241: @52164
19240 /* 52164 */ GIM_Try, /*On fail goto*//*Label 1242*/ GIMT_Encode4(52223), // Rule ID 1762 //
19241 /* 52169 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
19242 /* 52172 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
19243 /* 52175 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19244 /* 52179 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19245 /* 52183 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19246 /* 52187 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19247 /* 52190 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19248 /* 52194 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19249 /* 52198 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19250 /* 52200 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19251 /* 52207 */ // (llrint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSD2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
19252 /* 52207 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64rm),
19253 /* 52210 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19254 /* 52212 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19255 /* 52216 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19256 /* 52221 */ GIR_RootConstrainSelectedInstOperands,
19257 /* 52222 */ // GIR_Coverage, 1762,
19258 /* 52222 */ GIR_EraseRootFromParent_Done,
19259 /* 52223 */ // Label 1242: @52223
19260 /* 52223 */ GIM_Try, /*On fail goto*//*Label 1243*/ GIMT_Encode4(52282), // Rule ID 1782 //
19261 /* 52228 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
19262 /* 52231 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
19263 /* 52234 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19264 /* 52238 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19265 /* 52242 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19266 /* 52246 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19267 /* 52249 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19268 /* 52253 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19269 /* 52257 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19270 /* 52259 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19271 /* 52266 */ // (llrint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSS2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
19272 /* 52266 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSS2SI64rm),
19273 /* 52269 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19274 /* 52271 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19275 /* 52275 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19276 /* 52280 */ GIR_RootConstrainSelectedInstOperands,
19277 /* 52281 */ // GIR_Coverage, 1782,
19278 /* 52281 */ GIR_EraseRootFromParent_Done,
19279 /* 52282 */ // Label 1243: @52282
19280 /* 52282 */ GIM_Try, /*On fail goto*//*Label 1244*/ GIMT_Encode4(52341), // Rule ID 1786 //
19281 /* 52287 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
19282 /* 52290 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
19283 /* 52293 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19284 /* 52297 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19285 /* 52301 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19286 /* 52305 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19287 /* 52308 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19288 /* 52312 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19289 /* 52316 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19290 /* 52318 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19291 /* 52325 */ // (llrint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSD2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
19292 /* 52325 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSD2SI64rm),
19293 /* 52328 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19294 /* 52330 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19295 /* 52334 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19296 /* 52339 */ GIR_RootConstrainSelectedInstOperands,
19297 /* 52340 */ // GIR_Coverage, 1786,
19298 /* 52340 */ GIR_EraseRootFromParent_Done,
19299 /* 52341 */ // Label 1244: @52341
19300 /* 52341 */ GIM_Try, /*On fail goto*//*Label 1245*/ GIMT_Encode4(52400), // Rule ID 10355 //
19301 /* 52346 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
19302 /* 52349 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
19303 /* 52352 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19304 /* 52356 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19305 /* 52360 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19306 /* 52364 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19307 /* 52367 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19308 /* 52371 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19309 /* 52375 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19310 /* 52377 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19311 /* 52384 */ // (llrint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
19312 /* 52384 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64Zrm),
19313 /* 52387 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19314 /* 52389 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19315 /* 52393 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19316 /* 52398 */ GIR_RootConstrainSelectedInstOperands,
19317 /* 52399 */ // GIR_Coverage, 10355,
19318 /* 52399 */ GIR_EraseRootFromParent_Done,
19319 /* 52400 */ // Label 1245: @52400
19320 /* 52400 */ GIM_Try, /*On fail goto*//*Label 1246*/ GIMT_Encode4(52459), // Rule ID 10359 //
19321 /* 52405 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
19322 /* 52408 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
19323 /* 52411 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19324 /* 52415 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19325 /* 52419 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19326 /* 52423 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19327 /* 52426 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19328 /* 52430 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19329 /* 52434 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19330 /* 52436 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19331 /* 52443 */ // (llrint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSD2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
19332 /* 52443 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64Zrm),
19333 /* 52446 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19334 /* 52448 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19335 /* 52452 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19336 /* 52457 */ GIR_RootConstrainSelectedInstOperands,
19337 /* 52458 */ // GIR_Coverage, 10359,
19338 /* 52458 */ GIR_EraseRootFromParent_Done,
19339 /* 52459 */ // Label 1246: @52459
19340 /* 52459 */ GIM_Try, /*On fail goto*//*Label 1247*/ GIMT_Encode4(52518), // Rule ID 22175 //
19341 /* 52464 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_In64BitMode),
19342 /* 52467 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
19343 /* 52470 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19344 /* 52474 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19345 /* 52478 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19346 /* 52482 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19347 /* 52485 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19348 /* 52489 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19349 /* 52493 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19350 /* 52495 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19351 /* 52502 */ // (llrint:{ *:[i64] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
19352 /* 52502 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SI64Zrm),
19353 /* 52505 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19354 /* 52507 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19355 /* 52511 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19356 /* 52516 */ GIR_RootConstrainSelectedInstOperands,
19357 /* 52517 */ // GIR_Coverage, 22175,
19358 /* 52517 */ GIR_EraseRootFromParent_Done,
19359 /* 52518 */ // Label 1247: @52518
19360 /* 52518 */ GIM_Try, /*On fail goto*//*Label 1248*/ GIMT_Encode4(52548), // Rule ID 1757 //
19361 /* 52523 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
19362 /* 52526 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
19363 /* 52529 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19364 /* 52533 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
19365 /* 52537 */ // (llrint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (VCVTSS2SI64rr:{ *:[i64] } FR32:{ *:[f32] }:$src)
19366 /* 52537 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64rr),
19367 /* 52542 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19368 /* 52546 */ GIR_RootConstrainSelectedInstOperands,
19369 /* 52547 */ // GIR_Coverage, 1757,
19370 /* 52547 */ GIR_Done,
19371 /* 52548 */ // Label 1248: @52548
19372 /* 52548 */ GIM_Try, /*On fail goto*//*Label 1249*/ GIMT_Encode4(52578), // Rule ID 1761 //
19373 /* 52553 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
19374 /* 52556 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
19375 /* 52559 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19376 /* 52563 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
19377 /* 52567 */ // (llrint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (VCVTSD2SI64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
19378 /* 52567 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64rr),
19379 /* 52572 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19380 /* 52576 */ GIR_RootConstrainSelectedInstOperands,
19381 /* 52577 */ // GIR_Coverage, 1761,
19382 /* 52577 */ GIR_Done,
19383 /* 52578 */ // Label 1249: @52578
19384 /* 52578 */ GIM_Try, /*On fail goto*//*Label 1250*/ GIMT_Encode4(52608), // Rule ID 1781 //
19385 /* 52583 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
19386 /* 52586 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
19387 /* 52589 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19388 /* 52593 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
19389 /* 52597 */ // (llrint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (CVTSS2SI64rr:{ *:[i64] } FR32:{ *:[f32] }:$src)
19390 /* 52597 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSS2SI64rr),
19391 /* 52602 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19392 /* 52606 */ GIR_RootConstrainSelectedInstOperands,
19393 /* 52607 */ // GIR_Coverage, 1781,
19394 /* 52607 */ GIR_Done,
19395 /* 52608 */ // Label 1250: @52608
19396 /* 52608 */ GIM_Try, /*On fail goto*//*Label 1251*/ GIMT_Encode4(52638), // Rule ID 1785 //
19397 /* 52613 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
19398 /* 52616 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
19399 /* 52619 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19400 /* 52623 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
19401 /* 52627 */ // (llrint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (CVTSD2SI64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
19402 /* 52627 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSD2SI64rr),
19403 /* 52632 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19404 /* 52636 */ GIR_RootConstrainSelectedInstOperands,
19405 /* 52637 */ // GIR_Coverage, 1785,
19406 /* 52637 */ GIR_Done,
19407 /* 52638 */ // Label 1251: @52638
19408 /* 52638 */ GIM_Try, /*On fail goto*//*Label 1252*/ GIMT_Encode4(52668), // Rule ID 10354 //
19409 /* 52643 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
19410 /* 52646 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
19411 /* 52649 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19412 /* 52653 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
19413 /* 52657 */ // (llrint:{ *:[i64] } FR32X:{ *:[f32] }:$src) => (VCVTSS2SI64Zrr:{ *:[i64] } FR32X:{ *:[f32] }:$src)
19414 /* 52657 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64Zrr),
19415 /* 52662 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19416 /* 52666 */ GIR_RootConstrainSelectedInstOperands,
19417 /* 52667 */ // GIR_Coverage, 10354,
19418 /* 52667 */ GIR_Done,
19419 /* 52668 */ // Label 1252: @52668
19420 /* 52668 */ GIM_Try, /*On fail goto*//*Label 1253*/ GIMT_Encode4(52698), // Rule ID 10358 //
19421 /* 52673 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
19422 /* 52676 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
19423 /* 52679 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19424 /* 52683 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
19425 /* 52687 */ // (llrint:{ *:[i64] } FR64X:{ *:[f64] }:$src) => (VCVTSD2SI64Zrr:{ *:[i64] } FR64X:{ *:[f64] }:$src)
19426 /* 52687 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64Zrr),
19427 /* 52692 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19428 /* 52696 */ GIR_RootConstrainSelectedInstOperands,
19429 /* 52697 */ // GIR_Coverage, 10358,
19430 /* 52697 */ GIR_Done,
19431 /* 52698 */ // Label 1253: @52698
19432 /* 52698 */ GIM_Try, /*On fail goto*//*Label 1254*/ GIMT_Encode4(52728), // Rule ID 22174 //
19433 /* 52703 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_In64BitMode),
19434 /* 52706 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
19435 /* 52709 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19436 /* 52713 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
19437 /* 52717 */ // (llrint:{ *:[i64] } FR16:{ *:[f16] }:$src) => (VCVTTSH2SI64Zrr:{ *:[i64] } FR16:{ *:[f16] }:$src)
19438 /* 52717 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SI64Zrr),
19439 /* 52722 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19440 /* 52726 */ GIR_RootConstrainSelectedInstOperands,
19441 /* 52727 */ // GIR_Coverage, 22174,
19442 /* 52727 */ GIR_Done,
19443 /* 52728 */ // Label 1254: @52728
19444 /* 52728 */ GIM_Reject,
19445 /* 52729 */ // Label 1237: @52729
19446 /* 52729 */ GIM_Try, /*On fail goto*//*Label 1255*/ GIMT_Encode4(52817),
19447 /* 52734 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
19448 /* 52737 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
19449 /* 52741 */ GIM_Try, /*On fail goto*//*Label 1256*/ GIMT_Encode4(52793), // Rule ID 21389 //
19450 /* 52746 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
19451 /* 52749 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19452 /* 52753 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19453 /* 52757 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19454 /* 52760 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19455 /* 52764 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19456 /* 52768 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19457 /* 52770 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19458 /* 52777 */ // (llrint:{ *:[v2i64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2QQZ128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
19459 /* 52777 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ128rm),
19460 /* 52780 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19461 /* 52782 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19462 /* 52786 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19463 /* 52791 */ GIR_RootConstrainSelectedInstOperands,
19464 /* 52792 */ // GIR_Coverage, 21389,
19465 /* 52792 */ GIR_EraseRootFromParent_Done,
19466 /* 52793 */ // Label 1256: @52793
19467 /* 52793 */ GIM_Try, /*On fail goto*//*Label 1257*/ GIMT_Encode4(52816), // Rule ID 21388 //
19468 /* 52798 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
19469 /* 52801 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
19470 /* 52805 */ // (llrint:{ *:[v2i64] } VR128X:{ *:[v2f64] }:$src) => (VCVTPD2QQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2f64] }:$src)
19471 /* 52805 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ128rr),
19472 /* 52810 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19473 /* 52814 */ GIR_RootConstrainSelectedInstOperands,
19474 /* 52815 */ // GIR_Coverage, 21388,
19475 /* 52815 */ GIR_Done,
19476 /* 52816 */ // Label 1257: @52816
19477 /* 52816 */ GIM_Reject,
19478 /* 52817 */ // Label 1255: @52817
19479 /* 52817 */ GIM_Reject,
19480 /* 52818 */ // Label 1238: @52818
19481 /* 52818 */ GIM_Try, /*On fail goto*//*Label 1258*/ GIMT_Encode4(52877), // Rule ID 21383 //
19482 /* 52823 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
19483 /* 52826 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
19484 /* 52829 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19485 /* 52833 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19486 /* 52837 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19487 /* 52841 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19488 /* 52844 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19489 /* 52848 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19490 /* 52852 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19491 /* 52854 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19492 /* 52861 */ // (llrint:{ *:[v4i64] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2QQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
19493 /* 52861 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZ256rm),
19494 /* 52864 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19495 /* 52866 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19496 /* 52870 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19497 /* 52875 */ GIR_RootConstrainSelectedInstOperands,
19498 /* 52876 */ // GIR_Coverage, 21383,
19499 /* 52876 */ GIR_EraseRootFromParent_Done,
19500 /* 52877 */ // Label 1258: @52877
19501 /* 52877 */ GIM_Try, /*On fail goto*//*Label 1259*/ GIMT_Encode4(52936), // Rule ID 21391 //
19502 /* 52882 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
19503 /* 52885 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
19504 /* 52888 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19505 /* 52892 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19506 /* 52896 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19507 /* 52900 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19508 /* 52903 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19509 /* 52907 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19510 /* 52911 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19511 /* 52913 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19512 /* 52920 */ // (llrint:{ *:[v4i64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2QQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
19513 /* 52920 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ256rm),
19514 /* 52923 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19515 /* 52925 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19516 /* 52929 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19517 /* 52934 */ GIR_RootConstrainSelectedInstOperands,
19518 /* 52935 */ // GIR_Coverage, 21391,
19519 /* 52935 */ GIR_EraseRootFromParent_Done,
19520 /* 52936 */ // Label 1259: @52936
19521 /* 52936 */ GIM_Try, /*On fail goto*//*Label 1260*/ GIMT_Encode4(52966), // Rule ID 21382 //
19522 /* 52941 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
19523 /* 52944 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
19524 /* 52947 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19525 /* 52951 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
19526 /* 52955 */ // (llrint:{ *:[v4i64] } VR128X:{ *:[v4f32] }:$src) => (VCVTPS2QQZ256rr:{ *:[v4i64] } VR128X:{ *:[v4f32] }:$src)
19527 /* 52955 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZ256rr),
19528 /* 52960 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19529 /* 52964 */ GIR_RootConstrainSelectedInstOperands,
19530 /* 52965 */ // GIR_Coverage, 21382,
19531 /* 52965 */ GIR_Done,
19532 /* 52966 */ // Label 1260: @52966
19533 /* 52966 */ GIM_Try, /*On fail goto*//*Label 1261*/ GIMT_Encode4(52996), // Rule ID 21390 //
19534 /* 52971 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
19535 /* 52974 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
19536 /* 52977 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19537 /* 52981 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19538 /* 52985 */ // (llrint:{ *:[v4i64] } VR256X:{ *:[v4f64] }:$src) => (VCVTPD2QQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4f64] }:$src)
19539 /* 52985 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ256rr),
19540 /* 52990 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19541 /* 52994 */ GIR_RootConstrainSelectedInstOperands,
19542 /* 52995 */ // GIR_Coverage, 21390,
19543 /* 52995 */ GIR_Done,
19544 /* 52996 */ // Label 1261: @52996
19545 /* 52996 */ GIM_Reject,
19546 /* 52997 */ // Label 1239: @52997
19547 /* 52997 */ GIM_Try, /*On fail goto*//*Label 1262*/ GIMT_Encode4(53056), // Rule ID 21395 //
19548 /* 53002 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
19549 /* 53005 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
19550 /* 53008 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19551 /* 53012 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19552 /* 53016 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19553 /* 53020 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19554 /* 53023 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19555 /* 53027 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19556 /* 53031 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19557 /* 53033 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19558 /* 53040 */ // (llrint:{ *:[v8i64] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2QQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
19559 /* 53040 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZrm),
19560 /* 53043 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19561 /* 53045 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19562 /* 53049 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19563 /* 53054 */ GIR_RootConstrainSelectedInstOperands,
19564 /* 53055 */ // GIR_Coverage, 21395,
19565 /* 53055 */ GIR_EraseRootFromParent_Done,
19566 /* 53056 */ // Label 1262: @53056
19567 /* 53056 */ GIM_Try, /*On fail goto*//*Label 1263*/ GIMT_Encode4(53115), // Rule ID 21399 //
19568 /* 53061 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
19569 /* 53064 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
19570 /* 53067 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19571 /* 53071 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19572 /* 53075 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19573 /* 53079 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19574 /* 53082 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19575 /* 53086 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19576 /* 53090 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19577 /* 53092 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19578 /* 53099 */ // (llrint:{ *:[v8i64] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2QQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
19579 /* 53099 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZrm),
19580 /* 53102 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19581 /* 53104 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19582 /* 53108 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19583 /* 53113 */ GIR_RootConstrainSelectedInstOperands,
19584 /* 53114 */ // GIR_Coverage, 21399,
19585 /* 53114 */ GIR_EraseRootFromParent_Done,
19586 /* 53115 */ // Label 1263: @53115
19587 /* 53115 */ GIM_Try, /*On fail goto*//*Label 1264*/ GIMT_Encode4(53174), // Rule ID 22168 //
19588 /* 53120 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
19589 /* 53123 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
19590 /* 53126 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19591 /* 53130 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19592 /* 53134 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19593 /* 53138 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19594 /* 53141 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19595 /* 53145 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19596 /* 53149 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19597 /* 53151 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19598 /* 53158 */ // (llrint:{ *:[v8i64] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2QQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
19599 /* 53158 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2QQZrm),
19600 /* 53161 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19601 /* 53163 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19602 /* 53167 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19603 /* 53172 */ GIR_RootConstrainSelectedInstOperands,
19604 /* 53173 */ // GIR_Coverage, 22168,
19605 /* 53173 */ GIR_EraseRootFromParent_Done,
19606 /* 53174 */ // Label 1264: @53174
19607 /* 53174 */ GIM_Try, /*On fail goto*//*Label 1265*/ GIMT_Encode4(53204), // Rule ID 21394 //
19608 /* 53179 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
19609 /* 53182 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
19610 /* 53185 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19611 /* 53189 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19612 /* 53193 */ // (llrint:{ *:[v8i64] } VR256X:{ *:[v8f32] }:$src) => (VCVTPS2QQZrr:{ *:[v8i64] } VR256X:{ *:[v8f32] }:$src)
19613 /* 53193 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZrr),
19614 /* 53198 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19615 /* 53202 */ GIR_RootConstrainSelectedInstOperands,
19616 /* 53203 */ // GIR_Coverage, 21394,
19617 /* 53203 */ GIR_Done,
19618 /* 53204 */ // Label 1265: @53204
19619 /* 53204 */ GIM_Try, /*On fail goto*//*Label 1266*/ GIMT_Encode4(53234), // Rule ID 21398 //
19620 /* 53209 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
19621 /* 53212 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
19622 /* 53215 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19623 /* 53219 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19624 /* 53223 */ // (llrint:{ *:[v8i64] } VR512:{ *:[v8f64] }:$src) => (VCVTPD2QQZrr:{ *:[v8i64] } VR512:{ *:[v8f64] }:$src)
19625 /* 53223 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZrr),
19626 /* 53228 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19627 /* 53232 */ GIR_RootConstrainSelectedInstOperands,
19628 /* 53233 */ // GIR_Coverage, 21398,
19629 /* 53233 */ GIR_Done,
19630 /* 53234 */ // Label 1266: @53234
19631 /* 53234 */ GIM_Try, /*On fail goto*//*Label 1267*/ GIMT_Encode4(53264), // Rule ID 22167 //
19632 /* 53239 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
19633 /* 53242 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
19634 /* 53245 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19635 /* 53249 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
19636 /* 53253 */ // (llrint:{ *:[v8i64] } VR128X:{ *:[v8f16] }:$src) => (VCVTPH2QQZrr:{ *:[v8i64] } VR128X:{ *:[v8f16] }:$src)
19637 /* 53253 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2QQZrr),
19638 /* 53258 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19639 /* 53262 */ GIR_RootConstrainSelectedInstOperands,
19640 /* 53263 */ // GIR_Coverage, 22167,
19641 /* 53263 */ GIR_Done,
19642 /* 53264 */ // Label 1267: @53264
19643 /* 53264 */ GIM_Reject,
19644 /* 53265 */ // Label 1240: @53265
19645 /* 53265 */ GIM_Reject,
19646 /* 53266 */ // Label 10: @53266
19647 /* 53266 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(25), /*)*//*default:*//*Label 1293*/ GIMT_Encode4(59490),
19648 /* 53277 */ /*GILLT_s1*//*Label 1268*/ GIMT_Encode4(53377),
19649 /* 53281 */ /*GILLT_s8*//*Label 1269*/ GIMT_Encode4(53444),
19650 /* 53285 */ /*GILLT_s16*//*Label 1270*/ GIMT_Encode4(53585),
19651 /* 53289 */ /*GILLT_s32*//*Label 1271*/ GIMT_Encode4(54138),
19652 /* 53293 */ /*GILLT_s64*//*Label 1272*/ GIMT_Encode4(54560),
19653 /* 53297 */ /*GILLT_s80*//*Label 1273*/ GIMT_Encode4(55133),
19654 /* 53301 */ /*GILLT_s128*//*Label 1274*/ GIMT_Encode4(55292),
19655 /* 53305 */ /*GILLT_v2s1*//*Label 1275*/ GIMT_Encode4(55420),
19656 /* 53309 */ /*GILLT_v2s64*//*Label 1276*/ GIMT_Encode4(55487),
19657 /* 53313 */ /*GILLT_v4s1*//*Label 1277*/ GIMT_Encode4(55981),
19658 /* 53317 */ /*GILLT_v4s32*//*Label 1278*/ GIMT_Encode4(56048),
19659 /* 53321 */ /*GILLT_v4s64*//*Label 1279*/ GIMT_Encode4(56542),
19660 /* 53325 */ /*GILLT_v8s1*//*Label 1280*/ GIMT_Encode4(56876),
19661 /* 53329 */ /*GILLT_v8s16*//*Label 1281*/ GIMT_Encode4(56958),
19662 /* 53333 */ /*GILLT_v8s32*//*Label 1282*/ GIMT_Encode4(57532),
19663 /* 53337 */ /*GILLT_v8s64*//*Label 1283*/ GIMT_Encode4(57866),
19664 /* 53341 */ /*GILLT_v16s1*//*Label 1284*/ GIMT_Encode4(58040),
19665 /* 53345 */ /*GILLT_v16s8*//*Label 1285*/ GIMT_Encode4(58122),
19666 /* 53349 */ /*GILLT_v16s16*//*Label 1286*/ GIMT_Encode4(58376),
19667 /* 53353 */ /*GILLT_v16s32*//*Label 1287*/ GIMT_Encode4(58710),
19668 /* 53357 */ /*GILLT_v32s1*//*Label 1288*/ GIMT_Encode4(58884),
19669 /* 53361 */ /*GILLT_v32s8*//*Label 1289*/ GIMT_Encode4(58966),
19670 /* 53365 */ /*GILLT_v32s16*//*Label 1290*/ GIMT_Encode4(59140),
19671 /* 53369 */ /*GILLT_v64s1*//*Label 1291*/ GIMT_Encode4(59314),
19672 /* 53373 */ /*GILLT_v64s8*//*Label 1292*/ GIMT_Encode4(59396),
19673 /* 53377 */ // Label 1268: @53377
19674 /* 53377 */ GIM_Try, /*On fail goto*//*Label 1294*/ GIMT_Encode4(53443), // Rule ID 19445 //
19675 /* 53382 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
19676 /* 53385 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19677 /* 53388 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19678 /* 53392 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
19679 /* 53396 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19680 /* 53400 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19681 /* 53407 */ // (ld:{ *:[v1i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (COPY_TO_REGCLASS:{ *:[v1i1] } (KMOVBkm:{ *:[v8i1] } addr:{ *:[iPTR] }:$src), VK1:{ *:[i32] })
19682 /* 53407 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
19683 /* 53410 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVBkm),
19684 /* 53414 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
19685 /* 53419 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19686 /* 53423 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19687 /* 53427 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19688 /* 53429 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
19689 /* 53432 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19690 /* 53434 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19691 /* 53437 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
19692 /* 53442 */ // GIR_Coverage, 19445,
19693 /* 53442 */ GIR_EraseRootFromParent_Done,
19694 /* 53443 */ // Label 1294: @53443
19695 /* 53443 */ GIM_Reject,
19696 /* 53444 */ // Label 1269: @53444
19697 /* 53444 */ GIM_Try, /*On fail goto*//*Label 1295*/ GIMT_Encode4(53493), // Rule ID 22515 //
19698 /* 53449 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
19699 /* 53452 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19700 /* 53456 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
19701 /* 53463 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
19702 /* 53467 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19703 /* 53471 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19704 /* 53478 */ // (atomic_load:{ *:[i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_8>> => (MOV8rm:{ *:[i8] } addr:{ *:[iPTR] }:$src)
19705 /* 53478 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8rm),
19706 /* 53481 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19707 /* 53483 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19708 /* 53487 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19709 /* 53491 */ GIR_RootConstrainSelectedInstOperands,
19710 /* 53492 */ // GIR_Coverage, 22515,
19711 /* 53492 */ GIR_EraseRootFromParent_Done,
19712 /* 53493 */ // Label 1295: @53493
19713 /* 53493 */ GIM_Try, /*On fail goto*//*Label 1296*/ GIMT_Encode4(53542), // Rule ID 22580 //
19714 /* 53498 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19715 /* 53501 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19716 /* 53505 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
19717 /* 53512 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
19718 /* 53516 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19719 /* 53520 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19720 /* 53527 */ // (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi1>> => (MOV8rm:{ *:[i8] } addr:{ *:[iPTR] }:$src)
19721 /* 53527 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8rm),
19722 /* 53530 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19723 /* 53532 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19724 /* 53536 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19725 /* 53540 */ GIR_RootConstrainSelectedInstOperands,
19726 /* 53541 */ // GIR_Coverage, 22580,
19727 /* 53541 */ GIR_EraseRootFromParent_Done,
19728 /* 53542 */ // Label 1296: @53542
19729 /* 53542 */ GIM_Try, /*On fail goto*//*Label 1297*/ GIMT_Encode4(53584), // Rule ID 28 //
19730 /* 53547 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19731 /* 53550 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
19732 /* 53554 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19733 /* 53558 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
19734 /* 53562 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19735 /* 53569 */ // (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>> => (MOV8rm:{ *:[i8] } addr:{ *:[iPTR] }:$src)
19736 /* 53569 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8rm),
19737 /* 53572 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19738 /* 53574 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19739 /* 53578 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19740 /* 53582 */ GIR_RootConstrainSelectedInstOperands,
19741 /* 53583 */ // GIR_Coverage, 28,
19742 /* 53583 */ GIR_EraseRootFromParent_Done,
19743 /* 53584 */ // Label 1297: @53584
19744 /* 53584 */ GIM_Reject,
19745 /* 53585 */ // Label 1270: @53585
19746 /* 53585 */ GIM_Try, /*On fail goto*//*Label 1298*/ GIMT_Encode4(53634), // Rule ID 22516 //
19747 /* 53590 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
19748 /* 53593 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19749 /* 53597 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
19750 /* 53604 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
19751 /* 53608 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19752 /* 53612 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19753 /* 53619 */ // (atomic_load:{ *:[i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_16>> => (MOV16rm:{ *:[i16] } addr:{ *:[iPTR] }:$src)
19754 /* 53619 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16rm),
19755 /* 53622 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19756 /* 53624 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19757 /* 53628 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19758 /* 53632 */ GIR_RootConstrainSelectedInstOperands,
19759 /* 53633 */ // GIR_Coverage, 22516,
19760 /* 53633 */ GIR_EraseRootFromParent_Done,
19761 /* 53634 */ // Label 1298: @53634
19762 /* 53634 */ GIM_Try, /*On fail goto*//*Label 1299*/ GIMT_Encode4(53713), // Rule ID 22581 //
19763 /* 53639 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19764 /* 53642 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19765 /* 53646 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
19766 /* 53653 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
19767 /* 53657 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19768 /* 53661 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19769 /* 53668 */ // (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] })
19770 /* 53668 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19771 /* 53671 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
19772 /* 53675 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
19773 /* 53680 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19774 /* 53684 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19775 /* 53688 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19776 /* 53690 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
19777 /* 53693 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19778 /* 53695 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
19779 /* 53702 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
19780 /* 53707 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
19781 /* 53712 */ // GIR_Coverage, 22581,
19782 /* 53712 */ GIR_EraseRootFromParent_Done,
19783 /* 53713 */ // Label 1299: @53713
19784 /* 53713 */ GIM_Try, /*On fail goto*//*Label 1300*/ GIMT_Encode4(53792), // Rule ID 22583 //
19785 /* 53718 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19786 /* 53721 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19787 /* 53725 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
19788 /* 53732 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
19789 /* 53736 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19790 /* 53740 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19791 /* 53747 */ // (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] })
19792 /* 53747 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19793 /* 53750 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
19794 /* 53754 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
19795 /* 53759 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19796 /* 53763 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19797 /* 53767 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19798 /* 53769 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
19799 /* 53772 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19800 /* 53774 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
19801 /* 53781 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
19802 /* 53786 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
19803 /* 53791 */ // GIR_Coverage, 22583,
19804 /* 53791 */ GIR_EraseRootFromParent_Done,
19805 /* 53792 */ // Label 1300: @53792
19806 /* 53792 */ GIM_Try, /*On fail goto*//*Label 1301*/ GIMT_Encode4(53837), // Rule ID 4621 //
19807 /* 53797 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
19808 /* 53800 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19809 /* 53803 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19810 /* 53807 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
19811 /* 53811 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19812 /* 53815 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19813 /* 53822 */ // (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVSHZrm_alt:{ *:[f16] } addr:{ *:[iPTR] }:$src)
19814 /* 53822 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSHZrm_alt),
19815 /* 53825 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19816 /* 53827 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19817 /* 53831 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19818 /* 53835 */ GIR_RootConstrainSelectedInstOperands,
19819 /* 53836 */ // GIR_Coverage, 4621,
19820 /* 53836 */ GIR_EraseRootFromParent_Done,
19821 /* 53837 */ // Label 1301: @53837
19822 /* 53837 */ GIM_Try, /*On fail goto*//*Label 1302*/ GIMT_Encode4(53923), // Rule ID 18339 //
19823 /* 53842 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoBWI),
19824 /* 53845 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19825 /* 53848 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19826 /* 53852 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
19827 /* 53856 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19828 /* 53860 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19829 /* 53867 */ // (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] })
19830 /* 53867 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
19831 /* 53870 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
19832 /* 53874 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
19833 /* 53879 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
19834 /* 53881 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
19835 /* 53884 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPINSRWrmi),
19836 /* 53888 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
19837 /* 53893 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
19838 /* 53896 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19839 /* 53900 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
19840 /* 53903 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19841 /* 53907 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19842 /* 53909 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
19843 /* 53912 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19844 /* 53914 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19845 /* 53917 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
19846 /* 53922 */ // GIR_Coverage, 18339,
19847 /* 53922 */ GIR_EraseRootFromParent_Done,
19848 /* 53923 */ // Label 1302: @53923
19849 /* 53923 */ GIM_Try, /*On fail goto*//*Label 1303*/ GIMT_Encode4(53965), // Rule ID 29 //
19850 /* 53928 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19851 /* 53931 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
19852 /* 53935 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19853 /* 53939 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
19854 /* 53943 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19855 /* 53950 */ // (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>> => (MOV16rm:{ *:[i16] } addr:{ *:[iPTR] }:$src)
19856 /* 53950 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16rm),
19857 /* 53953 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19858 /* 53955 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19859 /* 53959 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19860 /* 53963 */ GIR_RootConstrainSelectedInstOperands,
19861 /* 53964 */ // GIR_Coverage, 29,
19862 /* 53964 */ GIR_EraseRootFromParent_Done,
19863 /* 53965 */ // Label 1303: @53965
19864 /* 53965 */ GIM_Try, /*On fail goto*//*Label 1304*/ GIMT_Encode4(54051), // Rule ID 18335 //
19865 /* 53970 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
19866 /* 53973 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19867 /* 53976 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19868 /* 53980 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
19869 /* 53984 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19870 /* 53988 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19871 /* 53995 */ // (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] })
19872 /* 53995 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
19873 /* 53998 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
19874 /* 54002 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
19875 /* 54007 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
19876 /* 54009 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
19877 /* 54012 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::PINSRWrmi),
19878 /* 54016 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
19879 /* 54021 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
19880 /* 54024 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19881 /* 54028 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
19882 /* 54031 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19883 /* 54035 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19884 /* 54037 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
19885 /* 54040 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19886 /* 54042 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19887 /* 54045 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
19888 /* 54050 */ // GIR_Coverage, 18335,
19889 /* 54050 */ GIR_EraseRootFromParent_Done,
19890 /* 54051 */ // Label 1304: @54051
19891 /* 54051 */ GIM_Try, /*On fail goto*//*Label 1305*/ GIMT_Encode4(54137), // Rule ID 21839 //
19892 /* 54056 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
19893 /* 54059 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19894 /* 54062 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19895 /* 54066 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
19896 /* 54070 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19897 /* 54074 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19898 /* 54081 */ // (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] })
19899 /* 54081 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
19900 /* 54084 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
19901 /* 54088 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
19902 /* 54093 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
19903 /* 54095 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
19904 /* 54098 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPINSRWZrmi),
19905 /* 54102 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
19906 /* 54107 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
19907 /* 54110 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19908 /* 54114 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
19909 /* 54117 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19910 /* 54121 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19911 /* 54123 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
19912 /* 54126 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19913 /* 54128 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19914 /* 54131 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
19915 /* 54136 */ // GIR_Coverage, 21839,
19916 /* 54136 */ GIR_EraseRootFromParent_Done,
19917 /* 54137 */ // Label 1305: @54137
19918 /* 54137 */ GIM_Reject,
19919 /* 54138 */ // Label 1271: @54138
19920 /* 54138 */ GIM_Try, /*On fail goto*//*Label 1306*/ GIMT_Encode4(54186), // Rule ID 1080 //
19921 /* 54143 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
19922 /* 54146 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19923 /* 54149 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19924 /* 54153 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
19925 /* 54157 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19926 /* 54161 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19927 /* 54168 */ // (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (LD_Fp32m:{ *:[f32] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
19928 /* 54168 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp32m),
19929 /* 54171 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19930 /* 54173 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19931 /* 54177 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
19932 /* 54180 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19933 /* 54184 */ GIR_RootConstrainSelectedInstOperands,
19934 /* 54185 */ // GIR_Coverage, 1080,
19935 /* 54185 */ GIR_EraseRootFromParent_Done,
19936 /* 54186 */ // Label 1306: @54186
19937 /* 54186 */ GIM_Try, /*On fail goto*//*Label 1307*/ GIMT_Encode4(54231), // Rule ID 1697 //
19938 /* 54191 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
19939 /* 54194 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19940 /* 54197 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19941 /* 54201 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
19942 /* 54205 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19943 /* 54209 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19944 /* 54216 */ // (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVSSrm_alt:{ *:[f32] } addr:{ *:[iPTR] }:$src)
19945 /* 54216 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSrm_alt),
19946 /* 54219 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19947 /* 54221 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19948 /* 54225 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19949 /* 54229 */ GIR_RootConstrainSelectedInstOperands,
19950 /* 54230 */ // GIR_Coverage, 1697,
19951 /* 54230 */ GIR_EraseRootFromParent_Done,
19952 /* 54231 */ // Label 1307: @54231
19953 /* 54231 */ GIM_Try, /*On fail goto*//*Label 1308*/ GIMT_Encode4(54276), // Rule ID 1698 //
19954 /* 54236 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
19955 /* 54239 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19956 /* 54242 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19957 /* 54246 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
19958 /* 54250 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19959 /* 54254 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19960 /* 54261 */ // (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVSSrm_alt:{ *:[f32] } addr:{ *:[iPTR] }:$src)
19961 /* 54261 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSSrm_alt),
19962 /* 54264 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19963 /* 54266 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19964 /* 54270 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19965 /* 54274 */ GIR_RootConstrainSelectedInstOperands,
19966 /* 54275 */ // GIR_Coverage, 1698,
19967 /* 54275 */ GIR_EraseRootFromParent_Done,
19968 /* 54276 */ // Label 1308: @54276
19969 /* 54276 */ GIM_Try, /*On fail goto*//*Label 1309*/ GIMT_Encode4(54325), // Rule ID 22517 //
19970 /* 54281 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
19971 /* 54284 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19972 /* 54288 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
19973 /* 54295 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
19974 /* 54299 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19975 /* 54303 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19976 /* 54310 */ // (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>> => (MOV32rm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
19977 /* 54310 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32rm),
19978 /* 54313 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19979 /* 54315 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19980 /* 54319 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19981 /* 54323 */ GIR_RootConstrainSelectedInstOperands,
19982 /* 54324 */ // GIR_Coverage, 22517,
19983 /* 54324 */ GIR_EraseRootFromParent_Done,
19984 /* 54325 */ // Label 1309: @54325
19985 /* 54325 */ GIM_Try, /*On fail goto*//*Label 1310*/ GIMT_Encode4(54374), // Rule ID 22582 //
19986 /* 54330 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19987 /* 54333 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19988 /* 54337 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
19989 /* 54344 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
19990 /* 54348 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19991 /* 54352 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19992 /* 54359 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi1>> => (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src)
19993 /* 54359 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
19994 /* 54362 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19995 /* 54364 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19996 /* 54368 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19997 /* 54372 */ GIR_RootConstrainSelectedInstOperands,
19998 /* 54373 */ // GIR_Coverage, 22582,
19999 /* 54373 */ GIR_EraseRootFromParent_Done,
20000 /* 54374 */ // Label 1310: @54374
20001 /* 54374 */ GIM_Try, /*On fail goto*//*Label 1311*/ GIMT_Encode4(54423), // Rule ID 22584 //
20002 /* 54379 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20003 /* 54382 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20004 /* 54386 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
20005 /* 54393 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
20006 /* 54397 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20007 /* 54401 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20008 /* 54408 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> => (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src)
20009 /* 54408 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
20010 /* 54411 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20011 /* 54413 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20012 /* 54417 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20013 /* 54421 */ GIR_RootConstrainSelectedInstOperands,
20014 /* 54422 */ // GIR_Coverage, 22584,
20015 /* 54422 */ GIR_EraseRootFromParent_Done,
20016 /* 54423 */ // Label 1311: @54423
20017 /* 54423 */ GIM_Try, /*On fail goto*//*Label 1312*/ GIMT_Encode4(54472), // Rule ID 22585 //
20018 /* 54428 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20019 /* 54431 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20020 /* 54435 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
20021 /* 54442 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
20022 /* 54446 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20023 /* 54450 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20024 /* 54457 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> => (MOVZX32rm16:{ *:[i32] } addr:{ *:[iPTR] }:$src)
20025 /* 54457 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm16),
20026 /* 54460 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20027 /* 54462 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20028 /* 54466 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20029 /* 54470 */ GIR_RootConstrainSelectedInstOperands,
20030 /* 54471 */ // GIR_Coverage, 22585,
20031 /* 54471 */ GIR_EraseRootFromParent_Done,
20032 /* 54472 */ // Label 1312: @54472
20033 /* 54472 */ GIM_Try, /*On fail goto*//*Label 1313*/ GIMT_Encode4(54517), // Rule ID 4609 //
20034 /* 54477 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
20035 /* 54480 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20036 /* 54483 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20037 /* 54487 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
20038 /* 54491 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20039 /* 54495 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20040 /* 54502 */ // (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVSSZrm_alt:{ *:[f32] } addr:{ *:[iPTR] }:$src)
20041 /* 54502 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSZrm_alt),
20042 /* 54505 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20043 /* 54507 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20044 /* 54511 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20045 /* 54515 */ GIR_RootConstrainSelectedInstOperands,
20046 /* 54516 */ // GIR_Coverage, 4609,
20047 /* 54516 */ GIR_EraseRootFromParent_Done,
20048 /* 54517 */ // Label 1313: @54517
20049 /* 54517 */ GIM_Try, /*On fail goto*//*Label 1314*/ GIMT_Encode4(54559), // Rule ID 30 //
20050 /* 54522 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20051 /* 54525 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
20052 /* 54529 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20053 /* 54533 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
20054 /* 54537 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20055 /* 54544 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>> => (MOV32rm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
20056 /* 54544 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32rm),
20057 /* 54547 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20058 /* 54549 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20059 /* 54553 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20060 /* 54557 */ GIR_RootConstrainSelectedInstOperands,
20061 /* 54558 */ // GIR_Coverage, 30,
20062 /* 54558 */ GIR_EraseRootFromParent_Done,
20063 /* 54559 */ // Label 1314: @54559
20064 /* 54559 */ GIM_Reject,
20065 /* 54560 */ // Label 1272: @54560
20066 /* 54560 */ GIM_Try, /*On fail goto*//*Label 1315*/ GIMT_Encode4(54602), // Rule ID 31 //
20067 /* 54565 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20068 /* 54568 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20069 /* 54572 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
20070 /* 54576 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20071 /* 54580 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20072 /* 54587 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOV64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
20073 /* 54587 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64rm),
20074 /* 54590 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20075 /* 54592 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20076 /* 54596 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20077 /* 54600 */ GIR_RootConstrainSelectedInstOperands,
20078 /* 54601 */ // GIR_Coverage, 31,
20079 /* 54601 */ GIR_EraseRootFromParent_Done,
20080 /* 54602 */ // Label 1315: @54602
20081 /* 54602 */ GIM_Try, /*On fail goto*//*Label 1316*/ GIMT_Encode4(54650), // Rule ID 1081 //
20082 /* 54607 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
20083 /* 54610 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20084 /* 54613 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20085 /* 54617 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
20086 /* 54621 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20087 /* 54625 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20088 /* 54632 */ // (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (LD_Fp64m:{ *:[f64] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
20089 /* 54632 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp64m),
20090 /* 54635 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20091 /* 54637 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20092 /* 54641 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
20093 /* 54644 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20094 /* 54648 */ GIR_RootConstrainSelectedInstOperands,
20095 /* 54649 */ // GIR_Coverage, 1081,
20096 /* 54649 */ GIR_EraseRootFromParent_Done,
20097 /* 54650 */ // Label 1316: @54650
20098 /* 54650 */ GIM_Try, /*On fail goto*//*Label 1317*/ GIMT_Encode4(54705), // Rule ID 1083 //
20099 /* 54655 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
20100 /* 54658 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20101 /* 54661 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20102 /* 54665 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
20103 /* 54672 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
20104 /* 54676 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20105 /* 54680 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20106 /* 54687 */ // (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>> => (LD_Fp32m64:{ *:[f64] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
20107 /* 54687 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp32m64),
20108 /* 54690 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20109 /* 54692 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20110 /* 54696 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
20111 /* 54699 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20112 /* 54703 */ GIR_RootConstrainSelectedInstOperands,
20113 /* 54704 */ // GIR_Coverage, 1083,
20114 /* 54704 */ GIR_EraseRootFromParent_Done,
20115 /* 54705 */ // Label 1317: @54705
20116 /* 54705 */ GIM_Try, /*On fail goto*//*Label 1318*/ GIMT_Encode4(54750), // Rule ID 1701 //
20117 /* 54710 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
20118 /* 54713 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20119 /* 54716 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20120 /* 54720 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
20121 /* 54724 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20122 /* 54728 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20123 /* 54735 */ // (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVSDrm_alt:{ *:[f64] } addr:{ *:[iPTR] }:$src)
20124 /* 54735 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDrm_alt),
20125 /* 54738 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20126 /* 54740 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20127 /* 54744 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20128 /* 54748 */ GIR_RootConstrainSelectedInstOperands,
20129 /* 54749 */ // GIR_Coverage, 1701,
20130 /* 54749 */ GIR_EraseRootFromParent_Done,
20131 /* 54750 */ // Label 1318: @54750
20132 /* 54750 */ GIM_Try, /*On fail goto*//*Label 1319*/ GIMT_Encode4(54795), // Rule ID 1702 //
20133 /* 54755 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
20134 /* 54758 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20135 /* 54761 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20136 /* 54765 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
20137 /* 54769 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20138 /* 54773 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20139 /* 54780 */ // (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVSDrm_alt:{ *:[f64] } addr:{ *:[iPTR] }:$src)
20140 /* 54780 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSDrm_alt),
20141 /* 54783 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20142 /* 54785 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20143 /* 54789 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20144 /* 54793 */ GIR_RootConstrainSelectedInstOperands,
20145 /* 54794 */ // GIR_Coverage, 1702,
20146 /* 54794 */ GIR_EraseRootFromParent_Done,
20147 /* 54795 */ // Label 1319: @54795
20148 /* 54795 */ GIM_Try, /*On fail goto*//*Label 1320*/ GIMT_Encode4(54844), // Rule ID 22518 //
20149 /* 54800 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
20150 /* 54803 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20151 /* 54807 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
20152 /* 54814 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
20153 /* 54818 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20154 /* 54822 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20155 /* 54829 */ // (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>> => (MOV64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
20156 /* 54829 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64rm),
20157 /* 54832 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20158 /* 54834 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20159 /* 54838 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20160 /* 54842 */ GIR_RootConstrainSelectedInstOperands,
20161 /* 54843 */ // GIR_Coverage, 22518,
20162 /* 54843 */ GIR_EraseRootFromParent_Done,
20163 /* 54844 */ // Label 1320: @54844
20164 /* 54844 */ GIM_Try, /*On fail goto*//*Label 1321*/ GIMT_Encode4(54925), // Rule ID 22587 //
20165 /* 54849 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20166 /* 54852 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20167 /* 54856 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
20168 /* 54863 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
20169 /* 54867 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20170 /* 54871 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20171 /* 54878 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi1>> => (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src), sub_32bit:{ *:[i32] })
20172 /* 54878 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20173 /* 54881 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
20174 /* 54885 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
20175 /* 54890 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
20176 /* 54894 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
20177 /* 54898 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20178 /* 54900 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
20179 /* 54903 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20180 /* 54905 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
20181 /* 54908 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20182 /* 54911 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
20183 /* 54914 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
20184 /* 54919 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR32RegClassID),
20185 /* 54924 */ // GIR_Coverage, 22587,
20186 /* 54924 */ GIR_EraseRootFromParent_Done,
20187 /* 54925 */ // Label 1321: @54925
20188 /* 54925 */ GIM_Try, /*On fail goto*//*Label 1322*/ GIMT_Encode4(55006), // Rule ID 22588 //
20189 /* 54930 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20190 /* 54933 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20191 /* 54937 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
20192 /* 54944 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
20193 /* 54948 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20194 /* 54952 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20195 /* 54959 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> => (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src), sub_32bit:{ *:[i32] })
20196 /* 54959 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20197 /* 54962 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
20198 /* 54966 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
20199 /* 54971 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
20200 /* 54975 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
20201 /* 54979 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20202 /* 54981 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
20203 /* 54984 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20204 /* 54986 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
20205 /* 54989 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20206 /* 54992 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
20207 /* 54995 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
20208 /* 55000 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR32RegClassID),
20209 /* 55005 */ // GIR_Coverage, 22588,
20210 /* 55005 */ GIR_EraseRootFromParent_Done,
20211 /* 55006 */ // Label 1322: @55006
20212 /* 55006 */ GIM_Try, /*On fail goto*//*Label 1323*/ GIMT_Encode4(55087), // Rule ID 22589 //
20213 /* 55011 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20214 /* 55014 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20215 /* 55018 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
20216 /* 55025 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
20217 /* 55029 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20218 /* 55033 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20219 /* 55040 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> => (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (MOVZX32rm16:{ *:[i32] } addr:{ *:[iPTR] }:$src), sub_32bit:{ *:[i32] })
20220 /* 55040 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20221 /* 55043 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm16),
20222 /* 55047 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
20223 /* 55052 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
20224 /* 55056 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
20225 /* 55060 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20226 /* 55062 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
20227 /* 55065 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20228 /* 55067 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
20229 /* 55070 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20230 /* 55073 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
20231 /* 55076 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
20232 /* 55081 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR32RegClassID),
20233 /* 55086 */ // GIR_Coverage, 22589,
20234 /* 55086 */ GIR_EraseRootFromParent_Done,
20235 /* 55087 */ // Label 1323: @55087
20236 /* 55087 */ GIM_Try, /*On fail goto*//*Label 1324*/ GIMT_Encode4(55132), // Rule ID 4615 //
20237 /* 55092 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
20238 /* 55095 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20239 /* 55098 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20240 /* 55102 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
20241 /* 55106 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20242 /* 55110 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20243 /* 55117 */ // (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVSDZrm_alt:{ *:[f64] } addr:{ *:[iPTR] }:$src)
20244 /* 55117 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDZrm_alt),
20245 /* 55120 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20246 /* 55122 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20247 /* 55126 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20248 /* 55130 */ GIR_RootConstrainSelectedInstOperands,
20249 /* 55131 */ // GIR_Coverage, 4615,
20250 /* 55131 */ GIR_EraseRootFromParent_Done,
20251 /* 55132 */ // Label 1324: @55132
20252 /* 55132 */ GIM_Reject,
20253 /* 55133 */ // Label 1273: @55133
20254 /* 55133 */ GIM_Try, /*On fail goto*//*Label 1325*/ GIMT_Encode4(55291),
20255 /* 55138 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20256 /* 55141 */ GIM_Try, /*On fail goto*//*Label 1326*/ GIMT_Encode4(55186), // Rule ID 1082 //
20257 /* 55146 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
20258 /* 55149 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20259 /* 55153 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
20260 /* 55157 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20261 /* 55161 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20262 /* 55168 */ // (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (LD_Fp80m:{ *:[f80] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
20263 /* 55168 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp80m),
20264 /* 55171 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20265 /* 55173 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20266 /* 55177 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
20267 /* 55180 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20268 /* 55184 */ GIR_RootConstrainSelectedInstOperands,
20269 /* 55185 */ // GIR_Coverage, 1082,
20270 /* 55185 */ GIR_EraseRootFromParent_Done,
20271 /* 55186 */ // Label 1326: @55186
20272 /* 55186 */ GIM_Try, /*On fail goto*//*Label 1327*/ GIMT_Encode4(55238), // Rule ID 1084 //
20273 /* 55191 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
20274 /* 55194 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20275 /* 55198 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
20276 /* 55205 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
20277 /* 55209 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20278 /* 55213 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20279 /* 55220 */ // (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf64>> => (LD_Fp64m80:{ *:[f80] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
20280 /* 55220 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp64m80),
20281 /* 55223 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20282 /* 55225 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20283 /* 55229 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
20284 /* 55232 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20285 /* 55236 */ GIR_RootConstrainSelectedInstOperands,
20286 /* 55237 */ // GIR_Coverage, 1084,
20287 /* 55237 */ GIR_EraseRootFromParent_Done,
20288 /* 55238 */ // Label 1327: @55238
20289 /* 55238 */ GIM_Try, /*On fail goto*//*Label 1328*/ GIMT_Encode4(55290), // Rule ID 1085 //
20290 /* 55243 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
20291 /* 55246 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20292 /* 55250 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
20293 /* 55257 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
20294 /* 55261 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20295 /* 55265 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20296 /* 55272 */ // (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>> => (LD_Fp32m80:{ *:[f80] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
20297 /* 55272 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp32m80),
20298 /* 55275 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20299 /* 55277 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20300 /* 55281 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
20301 /* 55284 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20302 /* 55288 */ GIR_RootConstrainSelectedInstOperands,
20303 /* 55289 */ // GIR_Coverage, 1085,
20304 /* 55289 */ GIR_EraseRootFromParent_Done,
20305 /* 55290 */ // Label 1328: @55290
20306 /* 55290 */ GIM_Reject,
20307 /* 55291 */ // Label 1325: @55291
20308 /* 55291 */ GIM_Reject,
20309 /* 55292 */ // Label 1274: @55292
20310 /* 55292 */ GIM_Try, /*On fail goto*//*Label 1329*/ GIMT_Encode4(55419),
20311 /* 55297 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20312 /* 55300 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20313 /* 55304 */ GIM_Try, /*On fail goto*//*Label 1330*/ GIMT_Encode4(55342), // Rule ID 23145 //
20314 /* 55309 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoAVX),
20315 /* 55312 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20316 /* 55316 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20317 /* 55320 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20318 /* 55327 */ // (ld:{ *:[f128] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[f128] } addr:{ *:[iPTR] }:$src)
20319 /* 55327 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
20320 /* 55330 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20321 /* 55332 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20322 /* 55336 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20323 /* 55340 */ GIR_RootConstrainSelectedInstOperands,
20324 /* 55341 */ // GIR_Coverage, 23145,
20325 /* 55341 */ GIR_EraseRootFromParent_Done,
20326 /* 55342 */ // Label 1330: @55342
20327 /* 55342 */ GIM_Try, /*On fail goto*//*Label 1331*/ GIMT_Encode4(55380), // Rule ID 23149 //
20328 /* 55347 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20329 /* 55350 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20330 /* 55354 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20331 /* 55358 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20332 /* 55365 */ // (ld:{ *:[f128] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSrm:{ *:[f128] } addr:{ *:[iPTR] }:$src)
20333 /* 55365 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSrm),
20334 /* 55368 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20335 /* 55370 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20336 /* 55374 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20337 /* 55378 */ GIR_RootConstrainSelectedInstOperands,
20338 /* 55379 */ // GIR_Coverage, 23149,
20339 /* 55379 */ GIR_EraseRootFromParent_Done,
20340 /* 55380 */ // Label 1331: @55380
20341 /* 55380 */ GIM_Try, /*On fail goto*//*Label 1332*/ GIMT_Encode4(55418), // Rule ID 23153 //
20342 /* 55385 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
20343 /* 55388 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20344 /* 55392 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20345 /* 55396 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20346 /* 55403 */ // (ld:{ *:[f128] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZ128rm:{ *:[f128] } addr:{ *:[iPTR] }:$src)
20347 /* 55403 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ128rm),
20348 /* 55406 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20349 /* 55408 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20350 /* 55412 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20351 /* 55416 */ GIR_RootConstrainSelectedInstOperands,
20352 /* 55417 */ // GIR_Coverage, 23153,
20353 /* 55417 */ GIR_EraseRootFromParent_Done,
20354 /* 55418 */ // Label 1332: @55418
20355 /* 55418 */ GIM_Reject,
20356 /* 55419 */ // Label 1329: @55419
20357 /* 55419 */ GIM_Reject,
20358 /* 55420 */ // Label 1275: @55420
20359 /* 55420 */ GIM_Try, /*On fail goto*//*Label 1333*/ GIMT_Encode4(55486), // Rule ID 19446 //
20360 /* 55425 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
20361 /* 55428 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20362 /* 55431 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20363 /* 55435 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
20364 /* 55439 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20365 /* 55443 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20366 /* 55450 */ // (ld:{ *:[v2i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (COPY_TO_REGCLASS:{ *:[v2i1] } (KMOVBkm:{ *:[v8i1] } addr:{ *:[iPTR] }:$src), VK2:{ *:[i32] })
20367 /* 55450 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
20368 /* 55453 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVBkm),
20369 /* 55457 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
20370 /* 55462 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
20371 /* 55466 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
20372 /* 55470 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20373 /* 55472 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
20374 /* 55475 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20375 /* 55477 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20376 /* 55480 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
20377 /* 55485 */ // GIR_Coverage, 19446,
20378 /* 55485 */ GIR_EraseRootFromParent_Done,
20379 /* 55486 */ // Label 1333: @55486
20380 /* 55486 */ GIM_Reject,
20381 /* 55487 */ // Label 1276: @55487
20382 /* 55487 */ GIM_Try, /*On fail goto*//*Label 1334*/ GIMT_Encode4(55980),
20383 /* 55492 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20384 /* 55495 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20385 /* 55499 */ GIM_Try, /*On fail goto*//*Label 1335*/ GIMT_Encode4(55541), // Rule ID 1704 //
20386 /* 55504 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20387 /* 55507 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20388 /* 55511 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20389 /* 55515 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20390 /* 55519 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20391 /* 55526 */ // (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPDrm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
20392 /* 55526 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDrm),
20393 /* 55529 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20394 /* 55531 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20395 /* 55535 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20396 /* 55539 */ GIR_RootConstrainSelectedInstOperands,
20397 /* 55540 */ // GIR_Coverage, 1704,
20398 /* 55540 */ GIR_EraseRootFromParent_Done,
20399 /* 55541 */ // Label 1335: @55541
20400 /* 55541 */ GIM_Try, /*On fail goto*//*Label 1336*/ GIMT_Encode4(55579), // Rule ID 1706 //
20401 /* 55546 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20402 /* 55549 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20403 /* 55553 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20404 /* 55557 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20405 /* 55564 */ // (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPDrm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
20406 /* 55564 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDrm),
20407 /* 55567 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20408 /* 55569 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20409 /* 55573 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20410 /* 55577 */ GIR_RootConstrainSelectedInstOperands,
20411 /* 55578 */ // GIR_Coverage, 1706,
20412 /* 55578 */ GIR_EraseRootFromParent_Done,
20413 /* 55579 */ // Label 1336: @55579
20414 /* 55579 */ GIM_Try, /*On fail goto*//*Label 1337*/ GIMT_Encode4(55621), // Rule ID 1713 //
20415 /* 55584 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
20416 /* 55587 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20417 /* 55591 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20418 /* 55595 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20419 /* 55599 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20420 /* 55606 */ // (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (MOVAPDrm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
20421 /* 55606 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPDrm),
20422 /* 55609 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20423 /* 55611 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20424 /* 55615 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20425 /* 55619 */ GIR_RootConstrainSelectedInstOperands,
20426 /* 55620 */ // GIR_Coverage, 1713,
20427 /* 55620 */ GIR_EraseRootFromParent_Done,
20428 /* 55621 */ // Label 1337: @55621
20429 /* 55621 */ GIM_Try, /*On fail goto*//*Label 1338*/ GIMT_Encode4(55659), // Rule ID 1714 //
20430 /* 55626 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
20431 /* 55629 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20432 /* 55633 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20433 /* 55637 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20434 /* 55644 */ // (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPDrm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
20435 /* 55644 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPDrm),
20436 /* 55647 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20437 /* 55649 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20438 /* 55653 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20439 /* 55657 */ GIR_RootConstrainSelectedInstOperands,
20440 /* 55658 */ // GIR_Coverage, 1714,
20441 /* 55658 */ GIR_EraseRootFromParent_Done,
20442 /* 55659 */ // Label 1338: @55659
20443 /* 55659 */ GIM_Try, /*On fail goto*//*Label 1339*/ GIMT_Encode4(55701), // Rule ID 2518 //
20444 /* 55664 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20445 /* 55667 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20446 /* 55671 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20447 /* 55675 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20448 /* 55679 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20449 /* 55686 */ // (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQArm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
20450 /* 55686 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQArm),
20451 /* 55689 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20452 /* 55691 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20453 /* 55695 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20454 /* 55699 */ GIR_RootConstrainSelectedInstOperands,
20455 /* 55700 */ // GIR_Coverage, 2518,
20456 /* 55700 */ GIR_EraseRootFromParent_Done,
20457 /* 55701 */ // Label 1339: @55701
20458 /* 55701 */ GIM_Try, /*On fail goto*//*Label 1340*/ GIMT_Encode4(55739), // Rule ID 2519 //
20459 /* 55706 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20460 /* 55709 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20461 /* 55713 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20462 /* 55717 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20463 /* 55724 */ // (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQUrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
20464 /* 55724 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUrm),
20465 /* 55727 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20466 /* 55729 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20467 /* 55733 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20468 /* 55737 */ GIR_RootConstrainSelectedInstOperands,
20469 /* 55738 */ // GIR_Coverage, 2519,
20470 /* 55738 */ GIR_EraseRootFromParent_Done,
20471 /* 55739 */ // Label 1340: @55739
20472 /* 55739 */ GIM_Try, /*On fail goto*//*Label 1341*/ GIMT_Encode4(55781), // Rule ID 4490 //
20473 /* 55744 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
20474 /* 55747 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20475 /* 55751 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20476 /* 55755 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20477 /* 55759 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20478 /* 55766 */ // (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPDZ128rm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
20479 /* 55766 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ128rm),
20480 /* 55769 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20481 /* 55771 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20482 /* 55775 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20483 /* 55779 */ GIR_RootConstrainSelectedInstOperands,
20484 /* 55780 */ // GIR_Coverage, 4490,
20485 /* 55780 */ GIR_EraseRootFromParent_Done,
20486 /* 55781 */ // Label 1341: @55781
20487 /* 55781 */ GIM_Try, /*On fail goto*//*Label 1342*/ GIMT_Encode4(55819), // Rule ID 4515 //
20488 /* 55786 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
20489 /* 55789 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20490 /* 55793 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20491 /* 55797 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20492 /* 55804 */ // (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPDZ128rm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
20493 /* 55804 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDZ128rm),
20494 /* 55807 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20495 /* 55809 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20496 /* 55813 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20497 /* 55817 */ GIR_RootConstrainSelectedInstOperands,
20498 /* 55818 */ // GIR_Coverage, 4515,
20499 /* 55818 */ GIR_EraseRootFromParent_Done,
20500 /* 55819 */ // Label 1342: @55819
20501 /* 55819 */ GIM_Try, /*On fail goto*//*Label 1343*/ GIMT_Encode4(55861), // Rule ID 4544 //
20502 /* 55824 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
20503 /* 55827 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20504 /* 55831 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20505 /* 55835 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20506 /* 55839 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20507 /* 55846 */ // (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Z128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
20508 /* 55846 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128rm),
20509 /* 55849 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20510 /* 55851 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20511 /* 55855 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20512 /* 55859 */ GIR_RootConstrainSelectedInstOperands,
20513 /* 55860 */ // GIR_Coverage, 4544,
20514 /* 55860 */ GIR_EraseRootFromParent_Done,
20515 /* 55861 */ // Label 1343: @55861
20516 /* 55861 */ GIM_Try, /*On fail goto*//*Label 1344*/ GIMT_Encode4(55899), // Rule ID 4587 //
20517 /* 55866 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
20518 /* 55869 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20519 /* 55873 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20520 /* 55877 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20521 /* 55884 */ // (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
20522 /* 55884 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128rm),
20523 /* 55887 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20524 /* 55889 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20525 /* 55893 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20526 /* 55897 */ GIR_RootConstrainSelectedInstOperands,
20527 /* 55898 */ // GIR_Coverage, 4587,
20528 /* 55898 */ GIR_EraseRootFromParent_Done,
20529 /* 55899 */ // Label 1344: @55899
20530 /* 55899 */ GIM_Try, /*On fail goto*//*Label 1345*/ GIMT_Encode4(55941), // Rule ID 17939 //
20531 /* 55904 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
20532 /* 55907 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20533 /* 55911 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20534 /* 55915 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20535 /* 55919 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20536 /* 55926 */ // (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (MOVAPSrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
20537 /* 55926 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSrm),
20538 /* 55929 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20539 /* 55931 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20540 /* 55935 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20541 /* 55939 */ GIR_RootConstrainSelectedInstOperands,
20542 /* 55940 */ // GIR_Coverage, 17939,
20543 /* 55940 */ GIR_EraseRootFromParent_Done,
20544 /* 55941 */ // Label 1345: @55941
20545 /* 55941 */ GIM_Try, /*On fail goto*//*Label 1346*/ GIMT_Encode4(55979), // Rule ID 17943 //
20546 /* 55946 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
20547 /* 55949 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20548 /* 55953 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20549 /* 55957 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20550 /* 55964 */ // (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
20551 /* 55964 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
20552 /* 55967 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20553 /* 55969 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20554 /* 55973 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20555 /* 55977 */ GIR_RootConstrainSelectedInstOperands,
20556 /* 55978 */ // GIR_Coverage, 17943,
20557 /* 55978 */ GIR_EraseRootFromParent_Done,
20558 /* 55979 */ // Label 1346: @55979
20559 /* 55979 */ GIM_Reject,
20560 /* 55980 */ // Label 1334: @55980
20561 /* 55980 */ GIM_Reject,
20562 /* 55981 */ // Label 1277: @55981
20563 /* 55981 */ GIM_Try, /*On fail goto*//*Label 1347*/ GIMT_Encode4(56047), // Rule ID 19447 //
20564 /* 55986 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
20565 /* 55989 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20566 /* 55992 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20567 /* 55996 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
20568 /* 56000 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20569 /* 56004 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20570 /* 56011 */ // (ld:{ *:[v4i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (COPY_TO_REGCLASS:{ *:[v4i1] } (KMOVBkm:{ *:[v8i1] } addr:{ *:[iPTR] }:$src), VK4:{ *:[i32] })
20571 /* 56011 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
20572 /* 56014 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVBkm),
20573 /* 56018 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
20574 /* 56023 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
20575 /* 56027 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
20576 /* 56031 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20577 /* 56033 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
20578 /* 56036 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20579 /* 56038 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20580 /* 56041 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
20581 /* 56046 */ // GIR_Coverage, 19447,
20582 /* 56046 */ GIR_EraseRootFromParent_Done,
20583 /* 56047 */ // Label 1347: @56047
20584 /* 56047 */ GIM_Reject,
20585 /* 56048 */ // Label 1278: @56048
20586 /* 56048 */ GIM_Try, /*On fail goto*//*Label 1348*/ GIMT_Encode4(56541),
20587 /* 56053 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20588 /* 56056 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20589 /* 56060 */ GIM_Try, /*On fail goto*//*Label 1349*/ GIMT_Encode4(56102), // Rule ID 1703 //
20590 /* 56065 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20591 /* 56068 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20592 /* 56072 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20593 /* 56076 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20594 /* 56080 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20595 /* 56087 */ // (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
20596 /* 56087 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSrm),
20597 /* 56090 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20598 /* 56092 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20599 /* 56096 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20600 /* 56100 */ GIR_RootConstrainSelectedInstOperands,
20601 /* 56101 */ // GIR_Coverage, 1703,
20602 /* 56101 */ GIR_EraseRootFromParent_Done,
20603 /* 56102 */ // Label 1349: @56102
20604 /* 56102 */ GIM_Try, /*On fail goto*//*Label 1350*/ GIMT_Encode4(56140), // Rule ID 1705 //
20605 /* 56107 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20606 /* 56110 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20607 /* 56114 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20608 /* 56118 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20609 /* 56125 */ // (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
20610 /* 56125 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSrm),
20611 /* 56128 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20612 /* 56130 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20613 /* 56134 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20614 /* 56138 */ GIR_RootConstrainSelectedInstOperands,
20615 /* 56139 */ // GIR_Coverage, 1705,
20616 /* 56139 */ GIR_EraseRootFromParent_Done,
20617 /* 56140 */ // Label 1350: @56140
20618 /* 56140 */ GIM_Try, /*On fail goto*//*Label 1351*/ GIMT_Encode4(56182), // Rule ID 1711 //
20619 /* 56145 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
20620 /* 56148 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20621 /* 56152 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20622 /* 56156 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20623 /* 56160 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20624 /* 56167 */ // (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (MOVAPSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
20625 /* 56167 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSrm),
20626 /* 56170 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20627 /* 56172 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20628 /* 56176 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20629 /* 56180 */ GIR_RootConstrainSelectedInstOperands,
20630 /* 56181 */ // GIR_Coverage, 1711,
20631 /* 56181 */ GIR_EraseRootFromParent_Done,
20632 /* 56182 */ // Label 1351: @56182
20633 /* 56182 */ GIM_Try, /*On fail goto*//*Label 1352*/ GIMT_Encode4(56220), // Rule ID 1712 //
20634 /* 56187 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
20635 /* 56190 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20636 /* 56194 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20637 /* 56198 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20638 /* 56205 */ // (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
20639 /* 56205 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
20640 /* 56208 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20641 /* 56210 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20642 /* 56214 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20643 /* 56218 */ GIR_RootConstrainSelectedInstOperands,
20644 /* 56219 */ // GIR_Coverage, 1712,
20645 /* 56219 */ GIR_EraseRootFromParent_Done,
20646 /* 56220 */ // Label 1352: @56220
20647 /* 56220 */ GIM_Try, /*On fail goto*//*Label 1353*/ GIMT_Encode4(56262), // Rule ID 4472 //
20648 /* 56225 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
20649 /* 56228 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20650 /* 56232 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20651 /* 56236 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20652 /* 56240 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20653 /* 56247 */ // (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSZ128rm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
20654 /* 56247 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128rm),
20655 /* 56250 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20656 /* 56252 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20657 /* 56256 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20658 /* 56260 */ GIR_RootConstrainSelectedInstOperands,
20659 /* 56261 */ // GIR_Coverage, 4472,
20660 /* 56261 */ GIR_EraseRootFromParent_Done,
20661 /* 56262 */ // Label 1353: @56262
20662 /* 56262 */ GIM_Try, /*On fail goto*//*Label 1354*/ GIMT_Encode4(56300), // Rule ID 4503 //
20663 /* 56267 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
20664 /* 56270 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20665 /* 56274 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20666 /* 56278 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20667 /* 56285 */ // (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZ128rm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
20668 /* 56285 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ128rm),
20669 /* 56288 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20670 /* 56290 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20671 /* 56294 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20672 /* 56298 */ GIR_RootConstrainSelectedInstOperands,
20673 /* 56299 */ // GIR_Coverage, 4503,
20674 /* 56299 */ GIR_EraseRootFromParent_Done,
20675 /* 56300 */ // Label 1354: @56300
20676 /* 56300 */ GIM_Try, /*On fail goto*//*Label 1355*/ GIMT_Encode4(56342), // Rule ID 17940 //
20677 /* 56305 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
20678 /* 56308 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20679 /* 56312 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20680 /* 56316 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20681 /* 56320 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20682 /* 56327 */ // (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (MOVAPSrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
20683 /* 56327 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSrm),
20684 /* 56330 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20685 /* 56332 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20686 /* 56336 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20687 /* 56340 */ GIR_RootConstrainSelectedInstOperands,
20688 /* 56341 */ // GIR_Coverage, 17940,
20689 /* 56341 */ GIR_EraseRootFromParent_Done,
20690 /* 56342 */ // Label 1355: @56342
20691 /* 56342 */ GIM_Try, /*On fail goto*//*Label 1356*/ GIMT_Encode4(56380), // Rule ID 17944 //
20692 /* 56347 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
20693 /* 56350 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20694 /* 56354 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20695 /* 56358 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20696 /* 56365 */ // (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
20697 /* 56365 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
20698 /* 56368 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20699 /* 56370 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20700 /* 56374 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20701 /* 56378 */ GIR_RootConstrainSelectedInstOperands,
20702 /* 56379 */ // GIR_Coverage, 17944,
20703 /* 56379 */ GIR_EraseRootFromParent_Done,
20704 /* 56380 */ // Label 1356: @56380
20705 /* 56380 */ GIM_Try, /*On fail goto*//*Label 1357*/ GIMT_Encode4(56422), // Rule ID 18319 //
20706 /* 56385 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20707 /* 56388 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20708 /* 56392 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20709 /* 56396 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20710 /* 56400 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20711 /* 56407 */ // (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQArm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
20712 /* 56407 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQArm),
20713 /* 56410 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20714 /* 56412 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20715 /* 56416 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20716 /* 56420 */ GIR_RootConstrainSelectedInstOperands,
20717 /* 56421 */ // GIR_Coverage, 18319,
20718 /* 56421 */ GIR_EraseRootFromParent_Done,
20719 /* 56422 */ // Label 1357: @56422
20720 /* 56422 */ GIM_Try, /*On fail goto*//*Label 1358*/ GIMT_Encode4(56460), // Rule ID 18323 //
20721 /* 56427 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20722 /* 56430 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20723 /* 56434 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20724 /* 56438 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20725 /* 56445 */ // (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQUrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
20726 /* 56445 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUrm),
20727 /* 56448 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20728 /* 56450 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20729 /* 56454 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20730 /* 56458 */ GIR_RootConstrainSelectedInstOperands,
20731 /* 56459 */ // GIR_Coverage, 18323,
20732 /* 56459 */ GIR_EraseRootFromParent_Done,
20733 /* 56460 */ // Label 1358: @56460
20734 /* 56460 */ GIM_Try, /*On fail goto*//*Label 1359*/ GIMT_Encode4(56502), // Rule ID 19812 //
20735 /* 56465 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
20736 /* 56468 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20737 /* 56472 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20738 /* 56476 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20739 /* 56480 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20740 /* 56487 */ // (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Z128rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
20741 /* 56487 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128rm),
20742 /* 56490 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20743 /* 56492 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20744 /* 56496 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20745 /* 56500 */ GIR_RootConstrainSelectedInstOperands,
20746 /* 56501 */ // GIR_Coverage, 19812,
20747 /* 56501 */ GIR_EraseRootFromParent_Done,
20748 /* 56502 */ // Label 1359: @56502
20749 /* 56502 */ GIM_Try, /*On fail goto*//*Label 1360*/ GIMT_Encode4(56540), // Rule ID 19816 //
20750 /* 56507 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
20751 /* 56510 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20752 /* 56514 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20753 /* 56518 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20754 /* 56525 */ // (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z128rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
20755 /* 56525 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128rm),
20756 /* 56528 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20757 /* 56530 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20758 /* 56534 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20759 /* 56538 */ GIR_RootConstrainSelectedInstOperands,
20760 /* 56539 */ // GIR_Coverage, 19816,
20761 /* 56539 */ GIR_EraseRootFromParent_Done,
20762 /* 56540 */ // Label 1360: @56540
20763 /* 56540 */ GIM_Reject,
20764 /* 56541 */ // Label 1348: @56541
20765 /* 56541 */ GIM_Reject,
20766 /* 56542 */ // Label 1279: @56542
20767 /* 56542 */ GIM_Try, /*On fail goto*//*Label 1361*/ GIMT_Encode4(56875),
20768 /* 56547 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20769 /* 56550 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20770 /* 56554 */ GIM_Try, /*On fail goto*//*Label 1362*/ GIMT_Encode4(56596), // Rule ID 1708 //
20771 /* 56559 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20772 /* 56562 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
20773 /* 56566 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20774 /* 56570 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20775 /* 56574 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20776 /* 56581 */ // (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPDYrm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
20777 /* 56581 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDYrm),
20778 /* 56584 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20779 /* 56586 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20780 /* 56590 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20781 /* 56594 */ GIR_RootConstrainSelectedInstOperands,
20782 /* 56595 */ // GIR_Coverage, 1708,
20783 /* 56595 */ GIR_EraseRootFromParent_Done,
20784 /* 56596 */ // Label 1362: @56596
20785 /* 56596 */ GIM_Try, /*On fail goto*//*Label 1363*/ GIMT_Encode4(56634), // Rule ID 1710 //
20786 /* 56601 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20787 /* 56604 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
20788 /* 56608 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20789 /* 56612 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20790 /* 56619 */ // (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPDYrm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
20791 /* 56619 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDYrm),
20792 /* 56622 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20793 /* 56624 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20794 /* 56628 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20795 /* 56632 */ GIR_RootConstrainSelectedInstOperands,
20796 /* 56633 */ // GIR_Coverage, 1710,
20797 /* 56633 */ GIR_EraseRootFromParent_Done,
20798 /* 56634 */ // Label 1363: @56634
20799 /* 56634 */ GIM_Try, /*On fail goto*//*Label 1364*/ GIMT_Encode4(56676), // Rule ID 4485 //
20800 /* 56639 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
20801 /* 56642 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
20802 /* 56646 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20803 /* 56650 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20804 /* 56654 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20805 /* 56661 */ // (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPDZ256rm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
20806 /* 56661 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ256rm),
20807 /* 56664 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20808 /* 56666 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20809 /* 56670 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20810 /* 56674 */ GIR_RootConstrainSelectedInstOperands,
20811 /* 56675 */ // GIR_Coverage, 4485,
20812 /* 56675 */ GIR_EraseRootFromParent_Done,
20813 /* 56676 */ // Label 1364: @56676
20814 /* 56676 */ GIM_Try, /*On fail goto*//*Label 1365*/ GIMT_Encode4(56714), // Rule ID 4512 //
20815 /* 56681 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
20816 /* 56684 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
20817 /* 56688 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20818 /* 56692 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20819 /* 56699 */ // (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPDZ256rm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
20820 /* 56699 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDZ256rm),
20821 /* 56702 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20822 /* 56704 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20823 /* 56708 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20824 /* 56712 */ GIR_RootConstrainSelectedInstOperands,
20825 /* 56713 */ // GIR_Coverage, 4512,
20826 /* 56713 */ GIR_EraseRootFromParent_Done,
20827 /* 56714 */ // Label 1365: @56714
20828 /* 56714 */ GIM_Try, /*On fail goto*//*Label 1366*/ GIMT_Encode4(56756), // Rule ID 4539 //
20829 /* 56719 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
20830 /* 56722 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
20831 /* 56726 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20832 /* 56730 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20833 /* 56734 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20834 /* 56741 */ // (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Z256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
20835 /* 56741 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256rm),
20836 /* 56744 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20837 /* 56746 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20838 /* 56750 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20839 /* 56754 */ GIR_RootConstrainSelectedInstOperands,
20840 /* 56755 */ // GIR_Coverage, 4539,
20841 /* 56755 */ GIR_EraseRootFromParent_Done,
20842 /* 56756 */ // Label 1366: @56756
20843 /* 56756 */ GIM_Try, /*On fail goto*//*Label 1367*/ GIMT_Encode4(56794), // Rule ID 4584 //
20844 /* 56761 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
20845 /* 56764 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
20846 /* 56768 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20847 /* 56772 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20848 /* 56779 */ // (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
20849 /* 56779 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256rm),
20850 /* 56782 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20851 /* 56784 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20852 /* 56788 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20853 /* 56792 */ GIR_RootConstrainSelectedInstOperands,
20854 /* 56793 */ // GIR_Coverage, 4584,
20855 /* 56793 */ GIR_EraseRootFromParent_Done,
20856 /* 56794 */ // Label 1367: @56794
20857 /* 56794 */ GIM_Try, /*On fail goto*//*Label 1368*/ GIMT_Encode4(56836), // Rule ID 17915 //
20858 /* 56799 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20859 /* 56802 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
20860 /* 56806 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20861 /* 56810 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20862 /* 56814 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20863 /* 56821 */ // (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSYrm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
20864 /* 56821 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYrm),
20865 /* 56824 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20866 /* 56826 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20867 /* 56830 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20868 /* 56834 */ GIR_RootConstrainSelectedInstOperands,
20869 /* 56835 */ // GIR_Coverage, 17915,
20870 /* 56835 */ GIR_EraseRootFromParent_Done,
20871 /* 56836 */ // Label 1368: @56836
20872 /* 56836 */ GIM_Try, /*On fail goto*//*Label 1369*/ GIMT_Encode4(56874), // Rule ID 17919 //
20873 /* 56841 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20874 /* 56844 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
20875 /* 56848 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20876 /* 56852 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20877 /* 56859 */ // (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSYrm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
20878 /* 56859 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYrm),
20879 /* 56862 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20880 /* 56864 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20881 /* 56868 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20882 /* 56872 */ GIR_RootConstrainSelectedInstOperands,
20883 /* 56873 */ // GIR_Coverage, 17919,
20884 /* 56873 */ GIR_EraseRootFromParent_Done,
20885 /* 56874 */ // Label 1369: @56874
20886 /* 56874 */ GIM_Reject,
20887 /* 56875 */ // Label 1361: @56875
20888 /* 56875 */ GIM_Reject,
20889 /* 56876 */ // Label 1280: @56876
20890 /* 56876 */ GIM_Try, /*On fail goto*//*Label 1370*/ GIMT_Encode4(56957),
20891 /* 56881 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20892 /* 56884 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20893 /* 56888 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
20894 /* 56892 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20895 /* 56896 */ GIM_Try, /*On fail goto*//*Label 1371*/ GIMT_Encode4(56926), // Rule ID 4395 //
20896 /* 56901 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_NoEGPR),
20897 /* 56904 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20898 /* 56911 */ // (ld:{ *:[v8i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVBkm:{ *:[v8i1] } addr:{ *:[iPTR] }:$src)
20899 /* 56911 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVBkm),
20900 /* 56914 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20901 /* 56916 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20902 /* 56920 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20903 /* 56924 */ GIR_RootConstrainSelectedInstOperands,
20904 /* 56925 */ // GIR_Coverage, 4395,
20905 /* 56925 */ GIR_EraseRootFromParent_Done,
20906 /* 56926 */ // Label 1371: @56926
20907 /* 56926 */ GIM_Try, /*On fail goto*//*Label 1372*/ GIMT_Encode4(56956), // Rule ID 4397 //
20908 /* 56931 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasEGPR_In64BitMode),
20909 /* 56934 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20910 /* 56941 */ // (ld:{ *:[v8i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVBkm_EVEX:{ *:[v8i1] } addr:{ *:[iPTR] }:$src)
20911 /* 56941 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVBkm_EVEX),
20912 /* 56944 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20913 /* 56946 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20914 /* 56950 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20915 /* 56954 */ GIR_RootConstrainSelectedInstOperands,
20916 /* 56955 */ // GIR_Coverage, 4397,
20917 /* 56955 */ GIR_EraseRootFromParent_Done,
20918 /* 56956 */ // Label 1372: @56956
20919 /* 56956 */ GIM_Reject,
20920 /* 56957 */ // Label 1370: @56957
20921 /* 56957 */ GIM_Reject,
20922 /* 56958 */ // Label 1281: @56958
20923 /* 56958 */ GIM_Try, /*On fail goto*//*Label 1373*/ GIMT_Encode4(57531),
20924 /* 56963 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20925 /* 56966 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20926 /* 56970 */ GIM_Try, /*On fail goto*//*Label 1374*/ GIMT_Encode4(57012), // Rule ID 17931 //
20927 /* 56975 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20928 /* 56978 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20929 /* 56982 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20930 /* 56986 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20931 /* 56990 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20932 /* 56997 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
20933 /* 56997 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSrm),
20934 /* 57000 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20935 /* 57002 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20936 /* 57006 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20937 /* 57010 */ GIR_RootConstrainSelectedInstOperands,
20938 /* 57011 */ // GIR_Coverage, 17931,
20939 /* 57011 */ GIR_EraseRootFromParent_Done,
20940 /* 57012 */ // Label 1374: @57012
20941 /* 57012 */ GIM_Try, /*On fail goto*//*Label 1375*/ GIMT_Encode4(57050), // Rule ID 17932 //
20942 /* 57017 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20943 /* 57020 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20944 /* 57024 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20945 /* 57028 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20946 /* 57035 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
20947 /* 57035 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSrm),
20948 /* 57038 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20949 /* 57040 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20950 /* 57044 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20951 /* 57048 */ GIR_RootConstrainSelectedInstOperands,
20952 /* 57049 */ // GIR_Coverage, 17932,
20953 /* 57049 */ GIR_EraseRootFromParent_Done,
20954 /* 57050 */ // Label 1375: @57050
20955 /* 57050 */ GIM_Try, /*On fail goto*//*Label 1376*/ GIMT_Encode4(57092), // Rule ID 17941 //
20956 /* 57055 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
20957 /* 57058 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20958 /* 57062 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20959 /* 57066 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20960 /* 57070 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20961 /* 57077 */ // (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (MOVAPSrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
20962 /* 57077 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSrm),
20963 /* 57080 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20964 /* 57082 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20965 /* 57086 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20966 /* 57090 */ GIR_RootConstrainSelectedInstOperands,
20967 /* 57091 */ // GIR_Coverage, 17941,
20968 /* 57091 */ GIR_EraseRootFromParent_Done,
20969 /* 57092 */ // Label 1376: @57092
20970 /* 57092 */ GIM_Try, /*On fail goto*//*Label 1377*/ GIMT_Encode4(57130), // Rule ID 17945 //
20971 /* 57097 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
20972 /* 57100 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20973 /* 57104 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20974 /* 57108 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20975 /* 57115 */ // (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
20976 /* 57115 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
20977 /* 57118 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20978 /* 57120 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20979 /* 57124 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20980 /* 57128 */ GIR_RootConstrainSelectedInstOperands,
20981 /* 57129 */ // GIR_Coverage, 17945,
20982 /* 57129 */ GIR_EraseRootFromParent_Done,
20983 /* 57130 */ // Label 1377: @57130
20984 /* 57130 */ GIM_Try, /*On fail goto*//*Label 1378*/ GIMT_Encode4(57172), // Rule ID 17955 //
20985 /* 57135 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
20986 /* 57138 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20987 /* 57142 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20988 /* 57146 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20989 /* 57150 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20990 /* 57157 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (MOVAPSrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
20991 /* 57157 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSrm),
20992 /* 57160 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20993 /* 57162 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20994 /* 57166 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20995 /* 57170 */ GIR_RootConstrainSelectedInstOperands,
20996 /* 57171 */ // GIR_Coverage, 17955,
20997 /* 57171 */ GIR_EraseRootFromParent_Done,
20998 /* 57172 */ // Label 1378: @57172
20999 /* 57172 */ GIM_Try, /*On fail goto*//*Label 1379*/ GIMT_Encode4(57210), // Rule ID 17956 //
21000 /* 57177 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
21001 /* 57180 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21002 /* 57184 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21003 /* 57188 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21004 /* 57195 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
21005 /* 57195 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
21006 /* 57198 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21007 /* 57200 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21008 /* 57204 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21009 /* 57208 */ GIR_RootConstrainSelectedInstOperands,
21010 /* 57209 */ // GIR_Coverage, 17956,
21011 /* 57209 */ GIR_EraseRootFromParent_Done,
21012 /* 57210 */ // Label 1379: @57210
21013 /* 57210 */ GIM_Try, /*On fail goto*//*Label 1380*/ GIMT_Encode4(57252), // Rule ID 18320 //
21014 /* 57215 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21015 /* 57218 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21016 /* 57222 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21017 /* 57226 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21018 /* 57230 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21019 /* 57237 */ // (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQArm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
21020 /* 57237 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQArm),
21021 /* 57240 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21022 /* 57242 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21023 /* 57246 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21024 /* 57250 */ GIR_RootConstrainSelectedInstOperands,
21025 /* 57251 */ // GIR_Coverage, 18320,
21026 /* 57251 */ GIR_EraseRootFromParent_Done,
21027 /* 57252 */ // Label 1380: @57252
21028 /* 57252 */ GIM_Try, /*On fail goto*//*Label 1381*/ GIMT_Encode4(57294), // Rule ID 18321 //
21029 /* 57257 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21030 /* 57260 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21031 /* 57264 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21032 /* 57268 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21033 /* 57272 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21034 /* 57279 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQArm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
21035 /* 57279 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQArm),
21036 /* 57282 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21037 /* 57284 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21038 /* 57288 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21039 /* 57292 */ GIR_RootConstrainSelectedInstOperands,
21040 /* 57293 */ // GIR_Coverage, 18321,
21041 /* 57293 */ GIR_EraseRootFromParent_Done,
21042 /* 57294 */ // Label 1381: @57294
21043 /* 57294 */ GIM_Try, /*On fail goto*//*Label 1382*/ GIMT_Encode4(57332), // Rule ID 18324 //
21044 /* 57299 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21045 /* 57302 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21046 /* 57306 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21047 /* 57310 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21048 /* 57317 */ // (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQUrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
21049 /* 57317 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUrm),
21050 /* 57320 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21051 /* 57322 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21052 /* 57326 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21053 /* 57330 */ GIR_RootConstrainSelectedInstOperands,
21054 /* 57331 */ // GIR_Coverage, 18324,
21055 /* 57331 */ GIR_EraseRootFromParent_Done,
21056 /* 57332 */ // Label 1382: @57332
21057 /* 57332 */ GIM_Try, /*On fail goto*//*Label 1383*/ GIMT_Encode4(57370), // Rule ID 18325 //
21058 /* 57337 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21059 /* 57340 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21060 /* 57344 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21061 /* 57348 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21062 /* 57355 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQUrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
21063 /* 57355 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUrm),
21064 /* 57358 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21065 /* 57360 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21066 /* 57364 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21067 /* 57368 */ GIR_RootConstrainSelectedInstOperands,
21068 /* 57369 */ // GIR_Coverage, 18325,
21069 /* 57369 */ GIR_EraseRootFromParent_Done,
21070 /* 57370 */ // Label 1383: @57370
21071 /* 57370 */ GIM_Try, /*On fail goto*//*Label 1384*/ GIMT_Encode4(57412), // Rule ID 19813 //
21072 /* 57375 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
21073 /* 57378 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
21074 /* 57382 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21075 /* 57386 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21076 /* 57390 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21077 /* 57397 */ // (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Z128rm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
21078 /* 57397 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128rm),
21079 /* 57400 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21080 /* 57402 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21081 /* 57406 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21082 /* 57410 */ GIR_RootConstrainSelectedInstOperands,
21083 /* 57411 */ // GIR_Coverage, 19813,
21084 /* 57411 */ GIR_EraseRootFromParent_Done,
21085 /* 57412 */ // Label 1384: @57412
21086 /* 57412 */ GIM_Try, /*On fail goto*//*Label 1385*/ GIMT_Encode4(57454), // Rule ID 19814 //
21087 /* 57417 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
21088 /* 57420 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
21089 /* 57424 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21090 /* 57428 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21091 /* 57432 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21092 /* 57439 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSZ128rm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
21093 /* 57439 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128rm),
21094 /* 57442 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21095 /* 57444 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21096 /* 57448 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21097 /* 57452 */ GIR_RootConstrainSelectedInstOperands,
21098 /* 57453 */ // GIR_Coverage, 19814,
21099 /* 57453 */ GIR_EraseRootFromParent_Done,
21100 /* 57454 */ // Label 1385: @57454
21101 /* 57454 */ GIM_Try, /*On fail goto*//*Label 1386*/ GIMT_Encode4(57492), // Rule ID 19817 //
21102 /* 57459 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
21103 /* 57462 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
21104 /* 57466 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21105 /* 57470 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21106 /* 57477 */ // (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z128rm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
21107 /* 57477 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128rm),
21108 /* 57480 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21109 /* 57482 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21110 /* 57486 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21111 /* 57490 */ GIR_RootConstrainSelectedInstOperands,
21112 /* 57491 */ // GIR_Coverage, 19817,
21113 /* 57491 */ GIR_EraseRootFromParent_Done,
21114 /* 57492 */ // Label 1386: @57492
21115 /* 57492 */ GIM_Try, /*On fail goto*//*Label 1387*/ GIMT_Encode4(57530), // Rule ID 19818 //
21116 /* 57497 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
21117 /* 57500 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
21118 /* 57504 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21119 /* 57508 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21120 /* 57515 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZ128rm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
21121 /* 57515 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ128rm),
21122 /* 57518 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21123 /* 57520 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21124 /* 57524 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21125 /* 57528 */ GIR_RootConstrainSelectedInstOperands,
21126 /* 57529 */ // GIR_Coverage, 19818,
21127 /* 57529 */ GIR_EraseRootFromParent_Done,
21128 /* 57530 */ // Label 1387: @57530
21129 /* 57530 */ GIM_Reject,
21130 /* 57531 */ // Label 1373: @57531
21131 /* 57531 */ GIM_Reject,
21132 /* 57532 */ // Label 1282: @57532
21133 /* 57532 */ GIM_Try, /*On fail goto*//*Label 1388*/ GIMT_Encode4(57865),
21134 /* 57537 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21135 /* 57540 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21136 /* 57544 */ GIM_Try, /*On fail goto*//*Label 1389*/ GIMT_Encode4(57586), // Rule ID 1707 //
21137 /* 57549 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21138 /* 57552 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
21139 /* 57556 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21140 /* 57560 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21141 /* 57564 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21142 /* 57571 */ // (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
21143 /* 57571 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYrm),
21144 /* 57574 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21145 /* 57576 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21146 /* 57580 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21147 /* 57584 */ GIR_RootConstrainSelectedInstOperands,
21148 /* 57585 */ // GIR_Coverage, 1707,
21149 /* 57585 */ GIR_EraseRootFromParent_Done,
21150 /* 57586 */ // Label 1389: @57586
21151 /* 57586 */ GIM_Try, /*On fail goto*//*Label 1390*/ GIMT_Encode4(57624), // Rule ID 1709 //
21152 /* 57591 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21153 /* 57594 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
21154 /* 57598 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21155 /* 57602 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21156 /* 57609 */ // (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
21157 /* 57609 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYrm),
21158 /* 57612 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21159 /* 57614 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21160 /* 57618 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21161 /* 57622 */ GIR_RootConstrainSelectedInstOperands,
21162 /* 57623 */ // GIR_Coverage, 1709,
21163 /* 57623 */ GIR_EraseRootFromParent_Done,
21164 /* 57624 */ // Label 1390: @57624
21165 /* 57624 */ GIM_Try, /*On fail goto*//*Label 1391*/ GIMT_Encode4(57666), // Rule ID 4467 //
21166 /* 57629 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
21167 /* 57632 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
21168 /* 57636 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21169 /* 57640 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21170 /* 57644 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21171 /* 57651 */ // (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSZ256rm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
21172 /* 57651 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ256rm),
21173 /* 57654 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21174 /* 57656 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21175 /* 57660 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21176 /* 57664 */ GIR_RootConstrainSelectedInstOperands,
21177 /* 57665 */ // GIR_Coverage, 4467,
21178 /* 57665 */ GIR_EraseRootFromParent_Done,
21179 /* 57666 */ // Label 1391: @57666
21180 /* 57666 */ GIM_Try, /*On fail goto*//*Label 1392*/ GIMT_Encode4(57704), // Rule ID 4500 //
21181 /* 57671 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
21182 /* 57674 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
21183 /* 57678 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21184 /* 57682 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21185 /* 57689 */ // (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZ256rm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
21186 /* 57689 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ256rm),
21187 /* 57692 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21188 /* 57694 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21189 /* 57698 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21190 /* 57702 */ GIR_RootConstrainSelectedInstOperands,
21191 /* 57703 */ // GIR_Coverage, 4500,
21192 /* 57703 */ GIR_EraseRootFromParent_Done,
21193 /* 57704 */ // Label 1392: @57704
21194 /* 57704 */ GIM_Try, /*On fail goto*//*Label 1393*/ GIMT_Encode4(57746), // Rule ID 17916 //
21195 /* 57709 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21196 /* 57712 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
21197 /* 57716 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21198 /* 57720 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21199 /* 57724 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21200 /* 57731 */ // (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSYrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
21201 /* 57731 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYrm),
21202 /* 57734 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21203 /* 57736 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21204 /* 57740 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21205 /* 57744 */ GIR_RootConstrainSelectedInstOperands,
21206 /* 57745 */ // GIR_Coverage, 17916,
21207 /* 57745 */ GIR_EraseRootFromParent_Done,
21208 /* 57746 */ // Label 1393: @57746
21209 /* 57746 */ GIM_Try, /*On fail goto*//*Label 1394*/ GIMT_Encode4(57784), // Rule ID 17920 //
21210 /* 57751 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21211 /* 57754 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
21212 /* 57758 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21213 /* 57762 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21214 /* 57769 */ // (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSYrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
21215 /* 57769 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYrm),
21216 /* 57772 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21217 /* 57774 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21218 /* 57778 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21219 /* 57782 */ GIR_RootConstrainSelectedInstOperands,
21220 /* 57783 */ // GIR_Coverage, 17920,
21221 /* 57783 */ GIR_EraseRootFromParent_Done,
21222 /* 57784 */ // Label 1394: @57784
21223 /* 57784 */ GIM_Try, /*On fail goto*//*Label 1395*/ GIMT_Encode4(57826), // Rule ID 19828 //
21224 /* 57789 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
21225 /* 57792 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
21226 /* 57796 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21227 /* 57800 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21228 /* 57804 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21229 /* 57811 */ // (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Z256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
21230 /* 57811 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256rm),
21231 /* 57814 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21232 /* 57816 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21233 /* 57820 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21234 /* 57824 */ GIR_RootConstrainSelectedInstOperands,
21235 /* 57825 */ // GIR_Coverage, 19828,
21236 /* 57825 */ GIR_EraseRootFromParent_Done,
21237 /* 57826 */ // Label 1395: @57826
21238 /* 57826 */ GIM_Try, /*On fail goto*//*Label 1396*/ GIMT_Encode4(57864), // Rule ID 19832 //
21239 /* 57831 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
21240 /* 57834 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
21241 /* 57838 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21242 /* 57842 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21243 /* 57849 */ // (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
21244 /* 57849 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256rm),
21245 /* 57852 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21246 /* 57854 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21247 /* 57858 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21248 /* 57862 */ GIR_RootConstrainSelectedInstOperands,
21249 /* 57863 */ // GIR_Coverage, 19832,
21250 /* 57863 */ GIR_EraseRootFromParent_Done,
21251 /* 57864 */ // Label 1396: @57864
21252 /* 57864 */ GIM_Reject,
21253 /* 57865 */ // Label 1388: @57865
21254 /* 57865 */ GIM_Reject,
21255 /* 57866 */ // Label 1283: @57866
21256 /* 57866 */ GIM_Try, /*On fail goto*//*Label 1397*/ GIMT_Encode4(58039),
21257 /* 57871 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21258 /* 57874 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21259 /* 57878 */ GIM_Try, /*On fail goto*//*Label 1398*/ GIMT_Encode4(57920), // Rule ID 4480 //
21260 /* 57883 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
21261 /* 57886 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21262 /* 57890 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21263 /* 57894 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21264 /* 57898 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21265 /* 57905 */ // (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPDZrm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
21266 /* 57905 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrm),
21267 /* 57908 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21268 /* 57910 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21269 /* 57914 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21270 /* 57918 */ GIR_RootConstrainSelectedInstOperands,
21271 /* 57919 */ // GIR_Coverage, 4480,
21272 /* 57919 */ GIR_EraseRootFromParent_Done,
21273 /* 57920 */ // Label 1398: @57920
21274 /* 57920 */ GIM_Try, /*On fail goto*//*Label 1399*/ GIMT_Encode4(57958), // Rule ID 4509 //
21275 /* 57925 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
21276 /* 57928 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21277 /* 57932 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21278 /* 57936 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21279 /* 57943 */ // (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPDZrm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
21280 /* 57943 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDZrm),
21281 /* 57946 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21282 /* 57948 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21283 /* 57952 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21284 /* 57956 */ GIR_RootConstrainSelectedInstOperands,
21285 /* 57957 */ // GIR_Coverage, 4509,
21286 /* 57957 */ GIR_EraseRootFromParent_Done,
21287 /* 57958 */ // Label 1399: @57958
21288 /* 57958 */ GIM_Try, /*On fail goto*//*Label 1400*/ GIMT_Encode4(58000), // Rule ID 4534 //
21289 /* 57963 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
21290 /* 57966 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21291 /* 57970 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21292 /* 57974 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21293 /* 57978 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21294 /* 57985 */ // (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Zrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
21295 /* 57985 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrm),
21296 /* 57988 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21297 /* 57990 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21298 /* 57994 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21299 /* 57998 */ GIR_RootConstrainSelectedInstOperands,
21300 /* 57999 */ // GIR_Coverage, 4534,
21301 /* 57999 */ GIR_EraseRootFromParent_Done,
21302 /* 58000 */ // Label 1400: @58000
21303 /* 58000 */ GIM_Try, /*On fail goto*//*Label 1401*/ GIMT_Encode4(58038), // Rule ID 4581 //
21304 /* 58005 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
21305 /* 58008 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21306 /* 58012 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21307 /* 58016 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21308 /* 58023 */ // (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Zrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
21309 /* 58023 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zrm),
21310 /* 58026 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21311 /* 58028 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21312 /* 58032 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21313 /* 58036 */ GIR_RootConstrainSelectedInstOperands,
21314 /* 58037 */ // GIR_Coverage, 4581,
21315 /* 58037 */ GIR_EraseRootFromParent_Done,
21316 /* 58038 */ // Label 1401: @58038
21317 /* 58038 */ GIM_Reject,
21318 /* 58039 */ // Label 1397: @58039
21319 /* 58039 */ GIM_Reject,
21320 /* 58040 */ // Label 1284: @58040
21321 /* 58040 */ GIM_Try, /*On fail goto*//*Label 1402*/ GIMT_Encode4(58121),
21322 /* 58045 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21323 /* 58048 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21324 /* 58052 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
21325 /* 58056 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21326 /* 58060 */ GIM_Try, /*On fail goto*//*Label 1403*/ GIMT_Encode4(58090), // Rule ID 4399 //
21327 /* 58065 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoEGPR),
21328 /* 58068 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21329 /* 58075 */ // (ld:{ *:[v16i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVWkm:{ *:[v16i1] } addr:{ *:[iPTR] }:$src)
21330 /* 58075 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVWkm),
21331 /* 58078 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21332 /* 58080 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21333 /* 58084 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21334 /* 58088 */ GIR_RootConstrainSelectedInstOperands,
21335 /* 58089 */ // GIR_Coverage, 4399,
21336 /* 58089 */ GIR_EraseRootFromParent_Done,
21337 /* 58090 */ // Label 1403: @58090
21338 /* 58090 */ GIM_Try, /*On fail goto*//*Label 1404*/ GIMT_Encode4(58120), // Rule ID 4401 //
21339 /* 58095 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEGPR_In64BitMode),
21340 /* 58098 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21341 /* 58105 */ // (ld:{ *:[v16i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVWkm_EVEX:{ *:[v16i1] } addr:{ *:[iPTR] }:$src)
21342 /* 58105 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVWkm_EVEX),
21343 /* 58108 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21344 /* 58110 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21345 /* 58114 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21346 /* 58118 */ GIR_RootConstrainSelectedInstOperands,
21347 /* 58119 */ // GIR_Coverage, 4401,
21348 /* 58119 */ GIR_EraseRootFromParent_Done,
21349 /* 58120 */ // Label 1404: @58120
21350 /* 58120 */ GIM_Reject,
21351 /* 58121 */ // Label 1402: @58121
21352 /* 58121 */ GIM_Reject,
21353 /* 58122 */ // Label 1285: @58122
21354 /* 58122 */ GIM_Try, /*On fail goto*//*Label 1405*/ GIMT_Encode4(58375),
21355 /* 58127 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21356 /* 58130 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21357 /* 58134 */ GIM_Try, /*On fail goto*//*Label 1406*/ GIMT_Encode4(58176), // Rule ID 17942 //
21358 /* 58139 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
21359 /* 58142 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21360 /* 58146 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21361 /* 58150 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21362 /* 58154 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21363 /* 58161 */ // (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (MOVAPSrm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
21364 /* 58161 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSrm),
21365 /* 58164 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21366 /* 58166 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21367 /* 58170 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21368 /* 58174 */ GIR_RootConstrainSelectedInstOperands,
21369 /* 58175 */ // GIR_Coverage, 17942,
21370 /* 58175 */ GIR_EraseRootFromParent_Done,
21371 /* 58176 */ // Label 1406: @58176
21372 /* 58176 */ GIM_Try, /*On fail goto*//*Label 1407*/ GIMT_Encode4(58214), // Rule ID 17946 //
21373 /* 58181 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
21374 /* 58184 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21375 /* 58188 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21376 /* 58192 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21377 /* 58199 */ // (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
21378 /* 58199 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
21379 /* 58202 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21380 /* 58204 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21381 /* 58208 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21382 /* 58212 */ GIR_RootConstrainSelectedInstOperands,
21383 /* 58213 */ // GIR_Coverage, 17946,
21384 /* 58213 */ GIR_EraseRootFromParent_Done,
21385 /* 58214 */ // Label 1407: @58214
21386 /* 58214 */ GIM_Try, /*On fail goto*//*Label 1408*/ GIMT_Encode4(58256), // Rule ID 18322 //
21387 /* 58219 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21388 /* 58222 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21389 /* 58226 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21390 /* 58230 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21391 /* 58234 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21392 /* 58241 */ // (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQArm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
21393 /* 58241 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQArm),
21394 /* 58244 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21395 /* 58246 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21396 /* 58250 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21397 /* 58254 */ GIR_RootConstrainSelectedInstOperands,
21398 /* 58255 */ // GIR_Coverage, 18322,
21399 /* 58255 */ GIR_EraseRootFromParent_Done,
21400 /* 58256 */ // Label 1408: @58256
21401 /* 58256 */ GIM_Try, /*On fail goto*//*Label 1409*/ GIMT_Encode4(58294), // Rule ID 18326 //
21402 /* 58261 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21403 /* 58264 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21404 /* 58268 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21405 /* 58272 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21406 /* 58279 */ // (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQUrm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
21407 /* 58279 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUrm),
21408 /* 58282 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21409 /* 58284 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21410 /* 58288 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21411 /* 58292 */ GIR_RootConstrainSelectedInstOperands,
21412 /* 58293 */ // GIR_Coverage, 18326,
21413 /* 58293 */ GIR_EraseRootFromParent_Done,
21414 /* 58294 */ // Label 1409: @58294
21415 /* 58294 */ GIM_Try, /*On fail goto*//*Label 1410*/ GIMT_Encode4(58336), // Rule ID 19815 //
21416 /* 58299 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
21417 /* 58302 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
21418 /* 58306 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21419 /* 58310 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21420 /* 58314 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21421 /* 58321 */ // (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Z128rm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
21422 /* 58321 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128rm),
21423 /* 58324 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21424 /* 58326 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21425 /* 58330 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21426 /* 58334 */ GIR_RootConstrainSelectedInstOperands,
21427 /* 58335 */ // GIR_Coverage, 19815,
21428 /* 58335 */ GIR_EraseRootFromParent_Done,
21429 /* 58336 */ // Label 1410: @58336
21430 /* 58336 */ GIM_Try, /*On fail goto*//*Label 1411*/ GIMT_Encode4(58374), // Rule ID 19819 //
21431 /* 58341 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
21432 /* 58344 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
21433 /* 58348 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21434 /* 58352 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21435 /* 58359 */ // (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z128rm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
21436 /* 58359 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128rm),
21437 /* 58362 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21438 /* 58364 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21439 /* 58368 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21440 /* 58372 */ GIR_RootConstrainSelectedInstOperands,
21441 /* 58373 */ // GIR_Coverage, 19819,
21442 /* 58373 */ GIR_EraseRootFromParent_Done,
21443 /* 58374 */ // Label 1411: @58374
21444 /* 58374 */ GIM_Reject,
21445 /* 58375 */ // Label 1405: @58375
21446 /* 58375 */ GIM_Reject,
21447 /* 58376 */ // Label 1286: @58376
21448 /* 58376 */ GIM_Try, /*On fail goto*//*Label 1412*/ GIMT_Encode4(58709),
21449 /* 58381 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21450 /* 58384 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21451 /* 58388 */ GIM_Try, /*On fail goto*//*Label 1413*/ GIMT_Encode4(58430), // Rule ID 17917 //
21452 /* 58393 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21453 /* 58396 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
21454 /* 58400 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21455 /* 58404 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21456 /* 58408 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21457 /* 58415 */ // (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSYrm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
21458 /* 58415 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYrm),
21459 /* 58418 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21460 /* 58420 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21461 /* 58424 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21462 /* 58428 */ GIR_RootConstrainSelectedInstOperands,
21463 /* 58429 */ // GIR_Coverage, 17917,
21464 /* 58429 */ GIR_EraseRootFromParent_Done,
21465 /* 58430 */ // Label 1413: @58430
21466 /* 58430 */ GIM_Try, /*On fail goto*//*Label 1414*/ GIMT_Encode4(58468), // Rule ID 17921 //
21467 /* 58435 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21468 /* 58438 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
21469 /* 58442 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21470 /* 58446 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21471 /* 58453 */ // (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSYrm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
21472 /* 58453 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYrm),
21473 /* 58456 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21474 /* 58458 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21475 /* 58462 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21476 /* 58466 */ GIR_RootConstrainSelectedInstOperands,
21477 /* 58467 */ // GIR_Coverage, 17921,
21478 /* 58467 */ GIR_EraseRootFromParent_Done,
21479 /* 58468 */ // Label 1414: @58468
21480 /* 58468 */ GIM_Try, /*On fail goto*//*Label 1415*/ GIMT_Encode4(58510), // Rule ID 17935 //
21481 /* 58473 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21482 /* 58476 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
21483 /* 58480 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21484 /* 58484 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21485 /* 58488 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21486 /* 58495 */ // (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSYrm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
21487 /* 58495 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYrm),
21488 /* 58498 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21489 /* 58500 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21490 /* 58504 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21491 /* 58508 */ GIR_RootConstrainSelectedInstOperands,
21492 /* 58509 */ // GIR_Coverage, 17935,
21493 /* 58509 */ GIR_EraseRootFromParent_Done,
21494 /* 58510 */ // Label 1415: @58510
21495 /* 58510 */ GIM_Try, /*On fail goto*//*Label 1416*/ GIMT_Encode4(58548), // Rule ID 17936 //
21496 /* 58515 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21497 /* 58518 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
21498 /* 58522 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21499 /* 58526 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21500 /* 58533 */ // (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSYrm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
21501 /* 58533 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYrm),
21502 /* 58536 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21503 /* 58538 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21504 /* 58542 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21505 /* 58546 */ GIR_RootConstrainSelectedInstOperands,
21506 /* 58547 */ // GIR_Coverage, 17936,
21507 /* 58547 */ GIR_EraseRootFromParent_Done,
21508 /* 58548 */ // Label 1416: @58548
21509 /* 58548 */ GIM_Try, /*On fail goto*//*Label 1417*/ GIMT_Encode4(58590), // Rule ID 19829 //
21510 /* 58553 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
21511 /* 58556 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
21512 /* 58560 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21513 /* 58564 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21514 /* 58568 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21515 /* 58575 */ // (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Z256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
21516 /* 58575 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256rm),
21517 /* 58578 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21518 /* 58580 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21519 /* 58584 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21520 /* 58588 */ GIR_RootConstrainSelectedInstOperands,
21521 /* 58589 */ // GIR_Coverage, 19829,
21522 /* 58589 */ GIR_EraseRootFromParent_Done,
21523 /* 58590 */ // Label 1417: @58590
21524 /* 58590 */ GIM_Try, /*On fail goto*//*Label 1418*/ GIMT_Encode4(58632), // Rule ID 19830 //
21525 /* 58595 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
21526 /* 58598 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
21527 /* 58602 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21528 /* 58606 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21529 /* 58610 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21530 /* 58617 */ // (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSZ256rm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
21531 /* 58617 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ256rm),
21532 /* 58620 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21533 /* 58622 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21534 /* 58626 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21535 /* 58630 */ GIR_RootConstrainSelectedInstOperands,
21536 /* 58631 */ // GIR_Coverage, 19830,
21537 /* 58631 */ GIR_EraseRootFromParent_Done,
21538 /* 58632 */ // Label 1418: @58632
21539 /* 58632 */ GIM_Try, /*On fail goto*//*Label 1419*/ GIMT_Encode4(58670), // Rule ID 19833 //
21540 /* 58637 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
21541 /* 58640 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
21542 /* 58644 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21543 /* 58648 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21544 /* 58655 */ // (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
21545 /* 58655 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256rm),
21546 /* 58658 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21547 /* 58660 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21548 /* 58664 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21549 /* 58668 */ GIR_RootConstrainSelectedInstOperands,
21550 /* 58669 */ // GIR_Coverage, 19833,
21551 /* 58669 */ GIR_EraseRootFromParent_Done,
21552 /* 58670 */ // Label 1419: @58670
21553 /* 58670 */ GIM_Try, /*On fail goto*//*Label 1420*/ GIMT_Encode4(58708), // Rule ID 19834 //
21554 /* 58675 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
21555 /* 58678 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
21556 /* 58682 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21557 /* 58686 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21558 /* 58693 */ // (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZ256rm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
21559 /* 58693 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ256rm),
21560 /* 58696 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21561 /* 58698 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21562 /* 58702 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21563 /* 58706 */ GIR_RootConstrainSelectedInstOperands,
21564 /* 58707 */ // GIR_Coverage, 19834,
21565 /* 58707 */ GIR_EraseRootFromParent_Done,
21566 /* 58708 */ // Label 1420: @58708
21567 /* 58708 */ GIM_Reject,
21568 /* 58709 */ // Label 1412: @58709
21569 /* 58709 */ GIM_Reject,
21570 /* 58710 */ // Label 1287: @58710
21571 /* 58710 */ GIM_Try, /*On fail goto*//*Label 1421*/ GIMT_Encode4(58883),
21572 /* 58715 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21573 /* 58718 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21574 /* 58722 */ GIM_Try, /*On fail goto*//*Label 1422*/ GIMT_Encode4(58764), // Rule ID 4462 //
21575 /* 58727 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
21576 /* 58730 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21577 /* 58734 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21578 /* 58738 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21579 /* 58742 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21580 /* 58749 */ // (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSZrm:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)
21581 /* 58749 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrm),
21582 /* 58752 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21583 /* 58754 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21584 /* 58758 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21585 /* 58762 */ GIR_RootConstrainSelectedInstOperands,
21586 /* 58763 */ // GIR_Coverage, 4462,
21587 /* 58763 */ GIR_EraseRootFromParent_Done,
21588 /* 58764 */ // Label 1422: @58764
21589 /* 58764 */ GIM_Try, /*On fail goto*//*Label 1423*/ GIMT_Encode4(58802), // Rule ID 4497 //
21590 /* 58769 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
21591 /* 58772 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21592 /* 58776 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21593 /* 58780 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21594 /* 58787 */ // (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZrm:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)
21595 /* 58787 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZrm),
21596 /* 58790 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21597 /* 58792 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21598 /* 58796 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21599 /* 58800 */ GIR_RootConstrainSelectedInstOperands,
21600 /* 58801 */ // GIR_Coverage, 4497,
21601 /* 58801 */ GIR_EraseRootFromParent_Done,
21602 /* 58802 */ // Label 1423: @58802
21603 /* 58802 */ GIM_Try, /*On fail goto*//*Label 1424*/ GIMT_Encode4(58844), // Rule ID 19796 //
21604 /* 58807 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
21605 /* 58810 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21606 /* 58814 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21607 /* 58818 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21608 /* 58822 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21609 /* 58829 */ // (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Zrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
21610 /* 58829 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrm),
21611 /* 58832 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21612 /* 58834 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21613 /* 58838 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21614 /* 58842 */ GIR_RootConstrainSelectedInstOperands,
21615 /* 58843 */ // GIR_Coverage, 19796,
21616 /* 58843 */ GIR_EraseRootFromParent_Done,
21617 /* 58844 */ // Label 1424: @58844
21618 /* 58844 */ GIM_Try, /*On fail goto*//*Label 1425*/ GIMT_Encode4(58882), // Rule ID 19800 //
21619 /* 58849 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
21620 /* 58852 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21621 /* 58856 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21622 /* 58860 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21623 /* 58867 */ // (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Zrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
21624 /* 58867 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zrm),
21625 /* 58870 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21626 /* 58872 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21627 /* 58876 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21628 /* 58880 */ GIR_RootConstrainSelectedInstOperands,
21629 /* 58881 */ // GIR_Coverage, 19800,
21630 /* 58881 */ GIR_EraseRootFromParent_Done,
21631 /* 58882 */ // Label 1425: @58882
21632 /* 58882 */ GIM_Reject,
21633 /* 58883 */ // Label 1421: @58883
21634 /* 58883 */ GIM_Reject,
21635 /* 58884 */ // Label 1288: @58884
21636 /* 58884 */ GIM_Try, /*On fail goto*//*Label 1426*/ GIMT_Encode4(58965),
21637 /* 58889 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21638 /* 58892 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21639 /* 58896 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
21640 /* 58900 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21641 /* 58904 */ GIM_Try, /*On fail goto*//*Label 1427*/ GIMT_Encode4(58934), // Rule ID 4403 //
21642 /* 58909 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoEGPR),
21643 /* 58912 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21644 /* 58919 */ // (ld:{ *:[v32i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVDkm:{ *:[v32i1] } addr:{ *:[iPTR] }:$src)
21645 /* 58919 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVDkm),
21646 /* 58922 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21647 /* 58924 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21648 /* 58928 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21649 /* 58932 */ GIR_RootConstrainSelectedInstOperands,
21650 /* 58933 */ // GIR_Coverage, 4403,
21651 /* 58933 */ GIR_EraseRootFromParent_Done,
21652 /* 58934 */ // Label 1427: @58934
21653 /* 58934 */ GIM_Try, /*On fail goto*//*Label 1428*/ GIMT_Encode4(58964), // Rule ID 4407 //
21654 /* 58939 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasEGPR_In64BitMode),
21655 /* 58942 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21656 /* 58949 */ // (ld:{ *:[v32i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVDkm_EVEX:{ *:[v32i1] } addr:{ *:[iPTR] }:$src)
21657 /* 58949 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVDkm_EVEX),
21658 /* 58952 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21659 /* 58954 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21660 /* 58958 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21661 /* 58962 */ GIR_RootConstrainSelectedInstOperands,
21662 /* 58963 */ // GIR_Coverage, 4407,
21663 /* 58963 */ GIR_EraseRootFromParent_Done,
21664 /* 58964 */ // Label 1428: @58964
21665 /* 58964 */ GIM_Reject,
21666 /* 58965 */ // Label 1426: @58965
21667 /* 58965 */ GIM_Reject,
21668 /* 58966 */ // Label 1289: @58966
21669 /* 58966 */ GIM_Try, /*On fail goto*//*Label 1429*/ GIMT_Encode4(59139),
21670 /* 58971 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21671 /* 58974 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21672 /* 58978 */ GIM_Try, /*On fail goto*//*Label 1430*/ GIMT_Encode4(59020), // Rule ID 17918 //
21673 /* 58983 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21674 /* 58986 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
21675 /* 58990 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21676 /* 58994 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21677 /* 58998 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21678 /* 59005 */ // (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSYrm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
21679 /* 59005 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYrm),
21680 /* 59008 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21681 /* 59010 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21682 /* 59014 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21683 /* 59018 */ GIR_RootConstrainSelectedInstOperands,
21684 /* 59019 */ // GIR_Coverage, 17918,
21685 /* 59019 */ GIR_EraseRootFromParent_Done,
21686 /* 59020 */ // Label 1430: @59020
21687 /* 59020 */ GIM_Try, /*On fail goto*//*Label 1431*/ GIMT_Encode4(59058), // Rule ID 17922 //
21688 /* 59025 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21689 /* 59028 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
21690 /* 59032 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21691 /* 59036 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21692 /* 59043 */ // (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSYrm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
21693 /* 59043 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYrm),
21694 /* 59046 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21695 /* 59048 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21696 /* 59052 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21697 /* 59056 */ GIR_RootConstrainSelectedInstOperands,
21698 /* 59057 */ // GIR_Coverage, 17922,
21699 /* 59057 */ GIR_EraseRootFromParent_Done,
21700 /* 59058 */ // Label 1431: @59058
21701 /* 59058 */ GIM_Try, /*On fail goto*//*Label 1432*/ GIMT_Encode4(59100), // Rule ID 19831 //
21702 /* 59063 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
21703 /* 59066 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
21704 /* 59070 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21705 /* 59074 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21706 /* 59078 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21707 /* 59085 */ // (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Z256rm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
21708 /* 59085 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256rm),
21709 /* 59088 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21710 /* 59090 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21711 /* 59094 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21712 /* 59098 */ GIR_RootConstrainSelectedInstOperands,
21713 /* 59099 */ // GIR_Coverage, 19831,
21714 /* 59099 */ GIR_EraseRootFromParent_Done,
21715 /* 59100 */ // Label 1432: @59100
21716 /* 59100 */ GIM_Try, /*On fail goto*//*Label 1433*/ GIMT_Encode4(59138), // Rule ID 19835 //
21717 /* 59105 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
21718 /* 59108 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
21719 /* 59112 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21720 /* 59116 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21721 /* 59123 */ // (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z256rm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
21722 /* 59123 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256rm),
21723 /* 59126 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21724 /* 59128 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21725 /* 59132 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21726 /* 59136 */ GIR_RootConstrainSelectedInstOperands,
21727 /* 59137 */ // GIR_Coverage, 19835,
21728 /* 59137 */ GIR_EraseRootFromParent_Done,
21729 /* 59138 */ // Label 1433: @59138
21730 /* 59138 */ GIM_Reject,
21731 /* 59139 */ // Label 1429: @59139
21732 /* 59139 */ GIM_Reject,
21733 /* 59140 */ // Label 1290: @59140
21734 /* 59140 */ GIM_Try, /*On fail goto*//*Label 1434*/ GIMT_Encode4(59313),
21735 /* 59145 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21736 /* 59148 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21737 /* 59152 */ GIM_Try, /*On fail goto*//*Label 1435*/ GIMT_Encode4(59194), // Rule ID 19797 //
21738 /* 59157 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
21739 /* 59160 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21740 /* 59164 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21741 /* 59168 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21742 /* 59172 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21743 /* 59179 */ // (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Zrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)
21744 /* 59179 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrm),
21745 /* 59182 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21746 /* 59184 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21747 /* 59188 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21748 /* 59192 */ GIR_RootConstrainSelectedInstOperands,
21749 /* 59193 */ // GIR_Coverage, 19797,
21750 /* 59193 */ GIR_EraseRootFromParent_Done,
21751 /* 59194 */ // Label 1435: @59194
21752 /* 59194 */ GIM_Try, /*On fail goto*//*Label 1436*/ GIMT_Encode4(59236), // Rule ID 19798 //
21753 /* 59199 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
21754 /* 59202 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21755 /* 59206 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21756 /* 59210 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21757 /* 59214 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21758 /* 59221 */ // (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSZrm:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)
21759 /* 59221 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrm),
21760 /* 59224 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21761 /* 59226 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21762 /* 59230 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21763 /* 59234 */ GIR_RootConstrainSelectedInstOperands,
21764 /* 59235 */ // GIR_Coverage, 19798,
21765 /* 59235 */ GIR_EraseRootFromParent_Done,
21766 /* 59236 */ // Label 1436: @59236
21767 /* 59236 */ GIM_Try, /*On fail goto*//*Label 1437*/ GIMT_Encode4(59274), // Rule ID 19801 //
21768 /* 59241 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
21769 /* 59244 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21770 /* 59248 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21771 /* 59252 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21772 /* 59259 */ // (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Zrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)
21773 /* 59259 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zrm),
21774 /* 59262 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21775 /* 59264 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21776 /* 59268 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21777 /* 59272 */ GIR_RootConstrainSelectedInstOperands,
21778 /* 59273 */ // GIR_Coverage, 19801,
21779 /* 59273 */ GIR_EraseRootFromParent_Done,
21780 /* 59274 */ // Label 1437: @59274
21781 /* 59274 */ GIM_Try, /*On fail goto*//*Label 1438*/ GIMT_Encode4(59312), // Rule ID 19802 //
21782 /* 59279 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
21783 /* 59282 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21784 /* 59286 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21785 /* 59290 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21786 /* 59297 */ // (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZrm:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)
21787 /* 59297 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZrm),
21788 /* 59300 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21789 /* 59302 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21790 /* 59306 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21791 /* 59310 */ GIR_RootConstrainSelectedInstOperands,
21792 /* 59311 */ // GIR_Coverage, 19802,
21793 /* 59311 */ GIR_EraseRootFromParent_Done,
21794 /* 59312 */ // Label 1438: @59312
21795 /* 59312 */ GIM_Reject,
21796 /* 59313 */ // Label 1434: @59313
21797 /* 59313 */ GIM_Reject,
21798 /* 59314 */ // Label 1291: @59314
21799 /* 59314 */ GIM_Try, /*On fail goto*//*Label 1439*/ GIMT_Encode4(59395),
21800 /* 59319 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21801 /* 59322 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21802 /* 59326 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
21803 /* 59330 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21804 /* 59334 */ GIM_Try, /*On fail goto*//*Label 1440*/ GIMT_Encode4(59364), // Rule ID 4405 //
21805 /* 59339 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoEGPR),
21806 /* 59342 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21807 /* 59349 */ // (ld:{ *:[v64i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVQkm:{ *:[v64i1] } addr:{ *:[iPTR] }:$src)
21808 /* 59349 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVQkm),
21809 /* 59352 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21810 /* 59354 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21811 /* 59358 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21812 /* 59362 */ GIR_RootConstrainSelectedInstOperands,
21813 /* 59363 */ // GIR_Coverage, 4405,
21814 /* 59363 */ GIR_EraseRootFromParent_Done,
21815 /* 59364 */ // Label 1440: @59364
21816 /* 59364 */ GIM_Try, /*On fail goto*//*Label 1441*/ GIMT_Encode4(59394), // Rule ID 4409 //
21817 /* 59369 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasEGPR_In64BitMode),
21818 /* 59372 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21819 /* 59379 */ // (ld:{ *:[v64i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVQkm_EVEX:{ *:[v64i1] } addr:{ *:[iPTR] }:$src)
21820 /* 59379 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVQkm_EVEX),
21821 /* 59382 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21822 /* 59384 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21823 /* 59388 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21824 /* 59392 */ GIR_RootConstrainSelectedInstOperands,
21825 /* 59393 */ // GIR_Coverage, 4409,
21826 /* 59393 */ GIR_EraseRootFromParent_Done,
21827 /* 59394 */ // Label 1441: @59394
21828 /* 59394 */ GIM_Reject,
21829 /* 59395 */ // Label 1439: @59395
21830 /* 59395 */ GIM_Reject,
21831 /* 59396 */ // Label 1292: @59396
21832 /* 59396 */ GIM_Try, /*On fail goto*//*Label 1442*/ GIMT_Encode4(59489),
21833 /* 59401 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21834 /* 59404 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21835 /* 59408 */ GIM_Try, /*On fail goto*//*Label 1443*/ GIMT_Encode4(59450), // Rule ID 19799 //
21836 /* 59413 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
21837 /* 59416 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21838 /* 59420 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21839 /* 59424 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21840 /* 59428 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21841 /* 59435 */ // (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Zrm:{ *:[v64i8] } addr:{ *:[iPTR] }:$src)
21842 /* 59435 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrm),
21843 /* 59438 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21844 /* 59440 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21845 /* 59444 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21846 /* 59448 */ GIR_RootConstrainSelectedInstOperands,
21847 /* 59449 */ // GIR_Coverage, 19799,
21848 /* 59449 */ GIR_EraseRootFromParent_Done,
21849 /* 59450 */ // Label 1443: @59450
21850 /* 59450 */ GIM_Try, /*On fail goto*//*Label 1444*/ GIMT_Encode4(59488), // Rule ID 19803 //
21851 /* 59455 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
21852 /* 59458 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21853 /* 59462 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21854 /* 59466 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21855 /* 59473 */ // (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Zrm:{ *:[v64i8] } addr:{ *:[iPTR] }:$src)
21856 /* 59473 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zrm),
21857 /* 59476 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21858 /* 59478 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21859 /* 59482 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21860 /* 59486 */ GIR_RootConstrainSelectedInstOperands,
21861 /* 59487 */ // GIR_Coverage, 19803,
21862 /* 59487 */ GIR_EraseRootFromParent_Done,
21863 /* 59488 */ // Label 1444: @59488
21864 /* 59488 */ GIM_Reject,
21865 /* 59489 */ // Label 1442: @59489
21866 /* 59489 */ GIM_Reject,
21867 /* 59490 */ // Label 1293: @59490
21868 /* 59490 */ GIM_Reject,
21869 /* 59491 */ // Label 11: @59491
21870 /* 59491 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 1448*/ GIMT_Encode4(59823),
21871 /* 59502 */ /*GILLT_s16*//*Label 1445*/ GIMT_Encode4(59514),
21872 /* 59506 */ /*GILLT_s32*//*Label 1446*/ GIMT_Encode4(59590),
21873 /* 59510 */ /*GILLT_s64*//*Label 1447*/ GIMT_Encode4(59684),
21874 /* 59514 */ // Label 1445: @59514
21875 /* 59514 */ GIM_Try, /*On fail goto*//*Label 1449*/ GIMT_Encode4(59589), // Rule ID 22648 //
21876 /* 59519 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21877 /* 59522 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21878 /* 59529 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
21879 /* 59533 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21880 /* 59537 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21881 /* 59544 */ // (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] })
21882 /* 59544 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21883 /* 59547 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVSX32rm8),
21884 /* 59551 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
21885 /* 59556 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
21886 /* 59560 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
21887 /* 59564 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21888 /* 59566 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
21889 /* 59569 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21890 /* 59571 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
21891 /* 59578 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
21892 /* 59583 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
21893 /* 59588 */ // GIR_Coverage, 22648,
21894 /* 59588 */ GIR_EraseRootFromParent_Done,
21895 /* 59589 */ // Label 1449: @59589
21896 /* 59589 */ GIM_Reject,
21897 /* 59590 */ // Label 1446: @59590
21898 /* 59590 */ GIM_Try, /*On fail goto*//*Label 1450*/ GIMT_Encode4(59683),
21899 /* 59595 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21900 /* 59598 */ GIM_Try, /*On fail goto*//*Label 1451*/ GIMT_Encode4(59640), // Rule ID 615 //
21901 /* 59603 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21902 /* 59610 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
21903 /* 59614 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21904 /* 59618 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21905 /* 59625 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> => (MOVSX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src)
21906 /* 59625 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX32rm8),
21907 /* 59628 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21908 /* 59630 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21909 /* 59634 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21910 /* 59638 */ GIR_RootConstrainSelectedInstOperands,
21911 /* 59639 */ // GIR_Coverage, 615,
21912 /* 59639 */ GIR_EraseRootFromParent_Done,
21913 /* 59640 */ // Label 1451: @59640
21914 /* 59640 */ GIM_Try, /*On fail goto*//*Label 1452*/ GIMT_Encode4(59682), // Rule ID 617 //
21915 /* 59645 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
21916 /* 59652 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
21917 /* 59656 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21918 /* 59660 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21919 /* 59667 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> => (MOVSX32rm16:{ *:[i32] } addr:{ *:[iPTR] }:$src)
21920 /* 59667 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX32rm16),
21921 /* 59670 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21922 /* 59672 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21923 /* 59676 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21924 /* 59680 */ GIR_RootConstrainSelectedInstOperands,
21925 /* 59681 */ // GIR_Coverage, 617,
21926 /* 59681 */ GIR_EraseRootFromParent_Done,
21927 /* 59682 */ // Label 1452: @59682
21928 /* 59682 */ GIM_Reject,
21929 /* 59683 */ // Label 1450: @59683
21930 /* 59683 */ GIM_Reject,
21931 /* 59684 */ // Label 1447: @59684
21932 /* 59684 */ GIM_Try, /*On fail goto*//*Label 1453*/ GIMT_Encode4(59822),
21933 /* 59689 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21934 /* 59692 */ GIM_Try, /*On fail goto*//*Label 1454*/ GIMT_Encode4(59734), // Rule ID 623 //
21935 /* 59697 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21936 /* 59704 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
21937 /* 59708 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21938 /* 59712 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21939 /* 59719 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> => (MOVSX64rm8:{ *:[i64] } addr:{ *:[iPTR] }:$src)
21940 /* 59719 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX64rm8),
21941 /* 59722 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21942 /* 59724 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21943 /* 59728 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21944 /* 59732 */ GIR_RootConstrainSelectedInstOperands,
21945 /* 59733 */ // GIR_Coverage, 623,
21946 /* 59733 */ GIR_EraseRootFromParent_Done,
21947 /* 59734 */ // Label 1454: @59734
21948 /* 59734 */ GIM_Try, /*On fail goto*//*Label 1455*/ GIMT_Encode4(59776), // Rule ID 625 //
21949 /* 59739 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
21950 /* 59746 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
21951 /* 59750 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21952 /* 59754 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21953 /* 59761 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> => (MOVSX64rm16:{ *:[i64] } addr:{ *:[iPTR] }:$src)
21954 /* 59761 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX64rm16),
21955 /* 59764 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21956 /* 59766 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21957 /* 59770 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21958 /* 59774 */ GIR_RootConstrainSelectedInstOperands,
21959 /* 59775 */ // GIR_Coverage, 625,
21960 /* 59775 */ GIR_EraseRootFromParent_Done,
21961 /* 59776 */ // Label 1455: @59776
21962 /* 59776 */ GIM_Try, /*On fail goto*//*Label 1456*/ GIMT_Encode4(59821), // Rule ID 627 //
21963 /* 59781 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
21964 /* 59784 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
21965 /* 59791 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
21966 /* 59795 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21967 /* 59799 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21968 /* 59806 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> => (MOVSX64rm32:{ *:[i64] } addr:{ *:[iPTR] }:$src)
21969 /* 59806 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX64rm32),
21970 /* 59809 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21971 /* 59811 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21972 /* 59815 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21973 /* 59819 */ GIR_RootConstrainSelectedInstOperands,
21974 /* 59820 */ // GIR_Coverage, 627,
21975 /* 59820 */ GIR_EraseRootFromParent_Done,
21976 /* 59821 */ // Label 1456: @59821
21977 /* 59821 */ GIM_Reject,
21978 /* 59822 */ // Label 1453: @59822
21979 /* 59822 */ GIM_Reject,
21980 /* 59823 */ // Label 1448: @59823
21981 /* 59823 */ GIM_Reject,
21982 /* 59824 */ // Label 12: @59824
21983 /* 59824 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 1461*/ GIMT_Encode4(60478),
21984 /* 59835 */ /*GILLT_s8*//*Label 1457*/ GIMT_Encode4(59851),
21985 /* 59839 */ /*GILLT_s16*//*Label 1458*/ GIMT_Encode4(59897),
21986 /* 59843 */ /*GILLT_s32*//*Label 1459*/ GIMT_Encode4(60036),
21987 /* 59847 */ /*GILLT_s64*//*Label 1460*/ GIMT_Encode4(60172),
21988 /* 59851 */ // Label 1457: @59851
21989 /* 59851 */ GIM_Try, /*On fail goto*//*Label 1462*/ GIMT_Encode4(59896), // Rule ID 22576 //
21990 /* 59856 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21991 /* 59859 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21992 /* 59866 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
21993 /* 59870 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21994 /* 59874 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21995 /* 59881 */ // (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi1>> => (MOV8rm:{ *:[i8] } addr:{ *:[iPTR] }:$src)
21996 /* 59881 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8rm),
21997 /* 59884 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21998 /* 59886 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21999 /* 59890 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22000 /* 59894 */ GIR_RootConstrainSelectedInstOperands,
22001 /* 59895 */ // GIR_Coverage, 22576,
22002 /* 59895 */ GIR_EraseRootFromParent_Done,
22003 /* 59896 */ // Label 1462: @59896
22004 /* 59896 */ GIM_Reject,
22005 /* 59897 */ // Label 1458: @59897
22006 /* 59897 */ GIM_Try, /*On fail goto*//*Label 1463*/ GIMT_Encode4(60035),
22007 /* 59902 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22008 /* 59905 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22009 /* 59912 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
22010 /* 59916 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22011 /* 59920 */ GIM_Try, /*On fail goto*//*Label 1464*/ GIMT_Encode4(59977), // Rule ID 22577 //
22012 /* 59925 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22013 /* 59932 */ // (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] })
22014 /* 59932 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
22015 /* 59935 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
22016 /* 59939 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
22017 /* 59944 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
22018 /* 59948 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
22019 /* 59952 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
22020 /* 59954 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
22021 /* 59957 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22022 /* 59959 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
22023 /* 59966 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
22024 /* 59971 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
22025 /* 59976 */ // GIR_Coverage, 22577,
22026 /* 59976 */ GIR_EraseRootFromParent_Done,
22027 /* 59977 */ // Label 1464: @59977
22028 /* 59977 */ GIM_Try, /*On fail goto*//*Label 1465*/ GIMT_Encode4(60034), // Rule ID 22650 //
22029 /* 59982 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22030 /* 59989 */ // (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] })
22031 /* 59989 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
22032 /* 59992 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
22033 /* 59996 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
22034 /* 60001 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
22035 /* 60005 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
22036 /* 60009 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
22037 /* 60011 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
22038 /* 60014 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22039 /* 60016 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
22040 /* 60023 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
22041 /* 60028 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
22042 /* 60033 */ // GIR_Coverage, 22650,
22043 /* 60033 */ GIR_EraseRootFromParent_Done,
22044 /* 60034 */ // Label 1465: @60034
22045 /* 60034 */ GIM_Reject,
22046 /* 60035 */ // Label 1463: @60035
22047 /* 60035 */ GIM_Reject,
22048 /* 60036 */ // Label 1459: @60036
22049 /* 60036 */ GIM_Try, /*On fail goto*//*Label 1466*/ GIMT_Encode4(60171),
22050 /* 60041 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22051 /* 60044 */ GIM_Try, /*On fail goto*//*Label 1467*/ GIMT_Encode4(60086), // Rule ID 619 //
22052 /* 60049 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22053 /* 60056 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
22054 /* 60060 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22055 /* 60064 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22056 /* 60071 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> => (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src)
22057 /* 60071 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
22058 /* 60074 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22059 /* 60076 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22060 /* 60080 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22061 /* 60084 */ GIR_RootConstrainSelectedInstOperands,
22062 /* 60085 */ // GIR_Coverage, 619,
22063 /* 60085 */ GIR_EraseRootFromParent_Done,
22064 /* 60086 */ // Label 1467: @60086
22065 /* 60086 */ GIM_Try, /*On fail goto*//*Label 1468*/ GIMT_Encode4(60128), // Rule ID 621 //
22066 /* 60091 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
22067 /* 60098 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
22068 /* 60102 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22069 /* 60106 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22070 /* 60113 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> => (MOVZX32rm16:{ *:[i32] } addr:{ *:[iPTR] }:$src)
22071 /* 60113 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm16),
22072 /* 60116 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22073 /* 60118 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22074 /* 60122 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22075 /* 60126 */ GIR_RootConstrainSelectedInstOperands,
22076 /* 60127 */ // GIR_Coverage, 621,
22077 /* 60127 */ GIR_EraseRootFromParent_Done,
22078 /* 60128 */ // Label 1468: @60128
22079 /* 60128 */ GIM_Try, /*On fail goto*//*Label 1469*/ GIMT_Encode4(60170), // Rule ID 22578 //
22080 /* 60133 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22081 /* 60140 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
22082 /* 60144 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22083 /* 60148 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22084 /* 60155 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi1>> => (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src)
22085 /* 60155 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
22086 /* 60158 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22087 /* 60160 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22088 /* 60164 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22089 /* 60168 */ GIR_RootConstrainSelectedInstOperands,
22090 /* 60169 */ // GIR_Coverage, 22578,
22091 /* 60169 */ GIR_EraseRootFromParent_Done,
22092 /* 60170 */ // Label 1469: @60170
22093 /* 60170 */ GIM_Reject,
22094 /* 60171 */ // Label 1466: @60171
22095 /* 60171 */ GIM_Reject,
22096 /* 60172 */ // Label 1460: @60172
22097 /* 60172 */ GIM_Try, /*On fail goto*//*Label 1470*/ GIMT_Encode4(60477),
22098 /* 60177 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22099 /* 60180 */ GIM_Try, /*On fail goto*//*Label 1471*/ GIMT_Encode4(60254), // Rule ID 17591 //
22100 /* 60185 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22101 /* 60192 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
22102 /* 60196 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22103 /* 60200 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22104 /* 60207 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> => (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src), sub_32bit:{ *:[i32] })
22105 /* 60207 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
22106 /* 60210 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
22107 /* 60214 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
22108 /* 60219 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
22109 /* 60223 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
22110 /* 60227 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
22111 /* 60229 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
22112 /* 60232 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22113 /* 60234 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
22114 /* 60237 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
22115 /* 60240 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
22116 /* 60243 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
22117 /* 60248 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR32RegClassID),
22118 /* 60253 */ // GIR_Coverage, 17591,
22119 /* 60253 */ GIR_EraseRootFromParent_Done,
22120 /* 60254 */ // Label 1471: @60254
22121 /* 60254 */ GIM_Try, /*On fail goto*//*Label 1472*/ GIMT_Encode4(60328), // Rule ID 17593 //
22122 /* 60259 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
22123 /* 60266 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
22124 /* 60270 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22125 /* 60274 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22126 /* 60281 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> => (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (MOVZX32rm16:{ *:[i32] } addr:{ *:[iPTR] }:$src), sub_32bit:{ *:[i32] })
22127 /* 60281 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
22128 /* 60284 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm16),
22129 /* 60288 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
22130 /* 60293 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
22131 /* 60297 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
22132 /* 60301 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
22133 /* 60303 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
22134 /* 60306 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22135 /* 60308 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
22136 /* 60311 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
22137 /* 60314 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
22138 /* 60317 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
22139 /* 60322 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR32RegClassID),
22140 /* 60327 */ // GIR_Coverage, 17593,
22141 /* 60327 */ GIR_EraseRootFromParent_Done,
22142 /* 60328 */ // Label 1472: @60328
22143 /* 60328 */ GIM_Try, /*On fail goto*//*Label 1473*/ GIMT_Encode4(60402), // Rule ID 17595 //
22144 /* 60333 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
22145 /* 60340 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
22146 /* 60344 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22147 /* 60348 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22148 /* 60355 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> => (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (MOV32rm:{ *:[i32] } addr:{ *:[iPTR] }:$src), sub_32bit:{ *:[i32] })
22149 /* 60355 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
22150 /* 60358 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32rm),
22151 /* 60362 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
22152 /* 60367 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
22153 /* 60371 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
22154 /* 60375 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
22155 /* 60377 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
22156 /* 60380 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22157 /* 60382 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
22158 /* 60385 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
22159 /* 60388 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
22160 /* 60391 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
22161 /* 60396 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR32RegClassID),
22162 /* 60401 */ // GIR_Coverage, 17595,
22163 /* 60401 */ GIR_EraseRootFromParent_Done,
22164 /* 60402 */ // Label 1473: @60402
22165 /* 60402 */ GIM_Try, /*On fail goto*//*Label 1474*/ GIMT_Encode4(60476), // Rule ID 22579 //
22166 /* 60407 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22167 /* 60414 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
22168 /* 60418 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22169 /* 60422 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22170 /* 60429 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi1>> => (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src), sub_32bit:{ *:[i32] })
22171 /* 60429 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
22172 /* 60432 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
22173 /* 60436 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
22174 /* 60441 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
22175 /* 60445 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
22176 /* 60449 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
22177 /* 60451 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
22178 /* 60454 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22179 /* 60456 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
22180 /* 60459 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
22181 /* 60462 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
22182 /* 60465 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
22183 /* 60470 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR32RegClassID),
22184 /* 60475 */ // GIR_Coverage, 22579,
22185 /* 60475 */ GIR_EraseRootFromParent_Done,
22186 /* 60476 */ // Label 1474: @60476
22187 /* 60476 */ GIM_Reject,
22188 /* 60477 */ // Label 1470: @60477
22189 /* 60477 */ GIM_Reject,
22190 /* 60478 */ // Label 1461: @60478
22191 /* 60478 */ GIM_Reject,
22192 /* 60479 */ // Label 13: @60479
22193 /* 60479 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(25), /*)*//*default:*//*Label 1497*/ GIMT_Encode4(85941),
22194 /* 60490 */ /*GILLT_s8*//*Label 1475*/ GIMT_Encode4(60586),
22195 /* 60494 */ /*GILLT_s16*//*Label 1476*/ GIMT_Encode4(65256),
22196 /* 60498 */ /*GILLT_s32*//*Label 1477*/ GIMT_Encode4(70500),
22197 /* 60502 */ /*GILLT_s64*//*Label 1478*/ GIMT_Encode4(76200),
22198 /* 60506 */ /*GILLT_s80*//*Label 1479*/ GIMT_Encode4(81592),
22199 /* 60510 */ /*GILLT_s128*//*Label 1480*/ GIMT_Encode4(81751), GIMT_Encode4(0),
22200 /* 60518 */ /*GILLT_v2s64*//*Label 1481*/ GIMT_Encode4(82005), GIMT_Encode4(0),
22201 /* 60526 */ /*GILLT_v4s32*//*Label 1482*/ GIMT_Encode4(82499),
22202 /* 60530 */ /*GILLT_v4s64*//*Label 1483*/ GIMT_Encode4(82993),
22203 /* 60534 */ /*GILLT_v8s1*//*Label 1484*/ GIMT_Encode4(83327),
22204 /* 60538 */ /*GILLT_v8s16*//*Label 1485*/ GIMT_Encode4(83409),
22205 /* 60542 */ /*GILLT_v8s32*//*Label 1486*/ GIMT_Encode4(83983),
22206 /* 60546 */ /*GILLT_v8s64*//*Label 1487*/ GIMT_Encode4(84317),
22207 /* 60550 */ /*GILLT_v16s1*//*Label 1488*/ GIMT_Encode4(84491),
22208 /* 60554 */ /*GILLT_v16s8*//*Label 1489*/ GIMT_Encode4(84573),
22209 /* 60558 */ /*GILLT_v16s16*//*Label 1490*/ GIMT_Encode4(84827),
22210 /* 60562 */ /*GILLT_v16s32*//*Label 1491*/ GIMT_Encode4(85161),
22211 /* 60566 */ /*GILLT_v32s1*//*Label 1492*/ GIMT_Encode4(85335),
22212 /* 60570 */ /*GILLT_v32s8*//*Label 1493*/ GIMT_Encode4(85417),
22213 /* 60574 */ /*GILLT_v32s16*//*Label 1494*/ GIMT_Encode4(85591),
22214 /* 60578 */ /*GILLT_v64s1*//*Label 1495*/ GIMT_Encode4(85765),
22215 /* 60582 */ /*GILLT_v64s8*//*Label 1496*/ GIMT_Encode4(85847),
22216 /* 60586 */ // Label 1475: @60586
22217 /* 60586 */ GIM_Try, /*On fail goto*//*Label 1498*/ GIMT_Encode4(60682), // Rule ID 22491 //
22218 /* 60591 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
22219 /* 60594 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22220 /* 60597 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22221 /* 60604 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22222 /* 60608 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
22223 /* 60612 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22224 /* 60616 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22225 /* 60620 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22226 /* 60624 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22227 /* 60628 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22228 /* 60631 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22229 /* 60635 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22230 /* 60642 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22231 /* 60646 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
22232 /* 60650 */ // MIs[0] dst
22233 /* 60650 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22234 /* 60655 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22235 /* 60657 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22236 /* 60664 */ // (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)
22237 /* 60664 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC8m),
22238 /* 60667 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22239 /* 60671 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22240 /* 60674 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22241 /* 60680 */ GIR_RootConstrainSelectedInstOperands,
22242 /* 60681 */ // GIR_Coverage, 22491,
22243 /* 60681 */ GIR_EraseRootFromParent_Done,
22244 /* 60682 */ // Label 1498: @60682
22245 /* 60682 */ GIM_Try, /*On fail goto*//*Label 1499*/ GIMT_Encode4(60778), // Rule ID 22495 //
22246 /* 60687 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
22247 /* 60690 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22248 /* 60693 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22249 /* 60700 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22250 /* 60704 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
22251 /* 60708 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22252 /* 60712 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22253 /* 60716 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22254 /* 60720 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22255 /* 60724 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22256 /* 60727 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22257 /* 60731 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22258 /* 60738 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22259 /* 60742 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
22260 /* 60746 */ // MIs[0] dst
22261 /* 60746 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22262 /* 60751 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22263 /* 60753 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22264 /* 60760 */ // (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)
22265 /* 60760 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC8m),
22266 /* 60763 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22267 /* 60767 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22268 /* 60770 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22269 /* 60776 */ GIR_RootConstrainSelectedInstOperands,
22270 /* 60777 */ // GIR_Coverage, 22495,
22271 /* 60777 */ GIR_EraseRootFromParent_Done,
22272 /* 60778 */ // Label 1499: @60778
22273 /* 60778 */ GIM_Try, /*On fail goto*//*Label 1500*/ GIMT_Encode4(60871), // Rule ID 22499 //
22274 /* 60783 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22275 /* 60786 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22276 /* 60793 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22277 /* 60797 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
22278 /* 60801 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22279 /* 60805 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22280 /* 60809 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
22281 /* 60813 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
22282 /* 60817 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22283 /* 60821 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22284 /* 60824 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22285 /* 60828 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22286 /* 60835 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22287 /* 60839 */ // MIs[0] dst
22288 /* 60839 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22289 /* 60844 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22290 /* 60846 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22291 /* 60853 */ // (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)
22292 /* 60853 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG8m),
22293 /* 60856 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22294 /* 60860 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22295 /* 60863 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22296 /* 60869 */ GIR_RootConstrainSelectedInstOperands,
22297 /* 60870 */ // GIR_Coverage, 22499,
22298 /* 60870 */ GIR_EraseRootFromParent_Done,
22299 /* 60871 */ // Label 1500: @60871
22300 /* 60871 */ GIM_Try, /*On fail goto*//*Label 1501*/ GIMT_Encode4(60961), // Rule ID 22503 //
22301 /* 60876 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22302 /* 60879 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22303 /* 60886 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22304 /* 60890 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
22305 /* 60894 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22306 /* 60898 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22307 /* 60902 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22308 /* 60906 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22309 /* 60910 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22310 /* 60913 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22311 /* 60917 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22312 /* 60924 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22313 /* 60928 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
22314 /* 60932 */ // MIs[0] dst
22315 /* 60932 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22316 /* 60937 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22317 /* 60939 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22318 /* 60946 */ // (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)
22319 /* 60946 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT8m),
22320 /* 60949 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22321 /* 60953 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22322 /* 60959 */ GIR_RootConstrainSelectedInstOperands,
22323 /* 60960 */ // GIR_Coverage, 22503,
22324 /* 60960 */ GIR_EraseRootFromParent_Done,
22325 /* 60961 */ // Label 1501: @60961
22326 /* 60961 */ GIM_Try, /*On fail goto*//*Label 1502*/ GIMT_Encode4(61047), // Rule ID 225 //
22327 /* 60966 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
22328 /* 60969 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22329 /* 60972 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22330 /* 60976 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22331 /* 60980 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
22332 /* 60984 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22333 /* 60988 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22334 /* 60992 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22335 /* 60996 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22336 /* 61000 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22337 /* 61003 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22338 /* 61007 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22339 /* 61011 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
22340 /* 61015 */ // MIs[0] src1
22341 /* 61015 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22342 /* 61020 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22343 /* 61022 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22344 /* 61029 */ // (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)
22345 /* 61029 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC8m),
22346 /* 61032 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22347 /* 61036 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22348 /* 61039 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22349 /* 61045 */ GIR_RootConstrainSelectedInstOperands,
22350 /* 61046 */ // GIR_Coverage, 225,
22351 /* 61046 */ GIR_EraseRootFromParent_Done,
22352 /* 61047 */ // Label 1502: @61047
22353 /* 61047 */ GIM_Try, /*On fail goto*//*Label 1503*/ GIMT_Encode4(61133), // Rule ID 228 //
22354 /* 61052 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
22355 /* 61055 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22356 /* 61058 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22357 /* 61062 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22358 /* 61066 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
22359 /* 61070 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22360 /* 61074 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22361 /* 61078 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22362 /* 61082 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22363 /* 61086 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22364 /* 61089 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22365 /* 61093 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22366 /* 61097 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
22367 /* 61101 */ // MIs[0] src1
22368 /* 61101 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22369 /* 61106 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22370 /* 61108 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22371 /* 61115 */ // (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)
22372 /* 61115 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC8m),
22373 /* 61118 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22374 /* 61122 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22375 /* 61125 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22376 /* 61131 */ GIR_RootConstrainSelectedInstOperands,
22377 /* 61132 */ // GIR_Coverage, 228,
22378 /* 61132 */ GIR_EraseRootFromParent_Done,
22379 /* 61133 */ // Label 1503: @61133
22380 /* 61133 */ GIM_Try, /*On fail goto*//*Label 1504*/ GIMT_Encode4(61216), // Rule ID 17612 //
22381 /* 61138 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22382 /* 61141 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22383 /* 61145 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22384 /* 61149 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
22385 /* 61153 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22386 /* 61157 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22387 /* 61161 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22388 /* 61165 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22389 /* 61169 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22390 /* 61172 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22391 /* 61176 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22392 /* 61180 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 7,
22393 /* 61184 */ // MIs[0] dst
22394 /* 61184 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22395 /* 61189 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22396 /* 61191 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22397 /* 61198 */ // (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)
22398 /* 61198 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8m1),
22399 /* 61201 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22400 /* 61205 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22401 /* 61208 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22402 /* 61214 */ GIR_RootConstrainSelectedInstOperands,
22403 /* 61215 */ // GIR_Coverage, 17612,
22404 /* 61215 */ GIR_EraseRootFromParent_Done,
22405 /* 61216 */ // Label 1504: @61216
22406 /* 61216 */ GIM_Try, /*On fail goto*//*Label 1505*/ GIMT_Encode4(61299), // Rule ID 17616 //
22407 /* 61221 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22408 /* 61224 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22409 /* 61228 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22410 /* 61232 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
22411 /* 61236 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22412 /* 61240 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22413 /* 61244 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22414 /* 61248 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22415 /* 61252 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22416 /* 61255 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22417 /* 61259 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22418 /* 61263 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 7,
22419 /* 61267 */ // MIs[0] dst
22420 /* 61267 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22421 /* 61272 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22422 /* 61274 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22423 /* 61281 */ // (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)
22424 /* 61281 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8m1),
22425 /* 61284 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22426 /* 61288 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22427 /* 61291 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22428 /* 61297 */ GIR_RootConstrainSelectedInstOperands,
22429 /* 61298 */ // GIR_Coverage, 17616,
22430 /* 61298 */ GIR_EraseRootFromParent_Done,
22431 /* 61299 */ // Label 1505: @61299
22432 /* 61299 */ GIM_Try, /*On fail goto*//*Label 1506*/ GIMT_Encode4(61382), // Rule ID 261 //
22433 /* 61304 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22434 /* 61307 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22435 /* 61311 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22436 /* 61315 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
22437 /* 61319 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22438 /* 61323 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22439 /* 61327 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
22440 /* 61331 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
22441 /* 61335 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22442 /* 61339 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22443 /* 61342 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22444 /* 61346 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22445 /* 61350 */ // MIs[0] src1
22446 /* 61350 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22447 /* 61355 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22448 /* 61357 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22449 /* 61364 */ // (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)
22450 /* 61364 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG8m),
22451 /* 61367 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22452 /* 61371 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22453 /* 61374 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22454 /* 61380 */ GIR_RootConstrainSelectedInstOperands,
22455 /* 61381 */ // GIR_Coverage, 261,
22456 /* 61381 */ GIR_EraseRootFromParent_Done,
22457 /* 61382 */ // Label 1506: @61382
22458 /* 61382 */ GIM_Try, /*On fail goto*//*Label 1507*/ GIMT_Encode4(61462), // Rule ID 269 //
22459 /* 61387 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22460 /* 61390 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22461 /* 61394 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22462 /* 61398 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
22463 /* 61402 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22464 /* 61406 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22465 /* 61410 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22466 /* 61414 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22467 /* 61418 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22468 /* 61421 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22469 /* 61425 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22470 /* 61429 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
22471 /* 61433 */ // MIs[0] src1
22472 /* 61433 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22473 /* 61438 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22474 /* 61440 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22475 /* 61447 */ // (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)
22476 /* 61447 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT8m),
22477 /* 61450 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22478 /* 61454 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22479 /* 61460 */ GIR_RootConstrainSelectedInstOperands,
22480 /* 61461 */ // GIR_Coverage, 269,
22481 /* 61461 */ GIR_EraseRootFromParent_Done,
22482 /* 61462 */ // Label 1507: @61462
22483 /* 61462 */ GIM_Try, /*On fail goto*//*Label 1508*/ GIMT_Encode4(61557), // Rule ID 413 //
22484 /* 61467 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22485 /* 61470 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22486 /* 61474 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22487 /* 61478 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
22488 /* 61482 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22489 /* 61486 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22490 /* 61490 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22491 /* 61494 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22492 /* 61498 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22493 /* 61501 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22494 /* 61505 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22495 /* 61509 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22496 /* 61513 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22497 /* 61517 */ // MIs[3] Operand 1
22498 /* 61517 */ // No operand predicates
22499 /* 61517 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
22500 /* 61521 */ // MIs[0] src1
22501 /* 61521 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22502 /* 61526 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22503 /* 61528 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22504 /* 61535 */ // (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)
22505 /* 61535 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8mi),
22506 /* 61538 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22507 /* 61542 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
22508 /* 61545 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22509 /* 61548 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22510 /* 61555 */ GIR_RootConstrainSelectedInstOperands,
22511 /* 61556 */ // GIR_Coverage, 413,
22512 /* 61556 */ GIR_EraseRootFromParent_Done,
22513 /* 61557 */ // Label 1508: @61557
22514 /* 61557 */ GIM_Try, /*On fail goto*//*Label 1509*/ GIMT_Encode4(61652), // Rule ID 305 //
22515 /* 61562 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22516 /* 61565 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22517 /* 61569 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22518 /* 61573 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
22519 /* 61577 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22520 /* 61581 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22521 /* 61585 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22522 /* 61589 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22523 /* 61593 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22524 /* 61596 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22525 /* 61600 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22526 /* 61604 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22527 /* 61608 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22528 /* 61612 */ // MIs[3] Operand 1
22529 /* 61612 */ // No operand predicates
22530 /* 61612 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
22531 /* 61616 */ // MIs[0] src1
22532 /* 61616 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22533 /* 61621 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22534 /* 61623 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22535 /* 61630 */ // (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)
22536 /* 61630 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8mi),
22537 /* 61633 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22538 /* 61637 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
22539 /* 61640 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22540 /* 61643 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22541 /* 61650 */ GIR_RootConstrainSelectedInstOperands,
22542 /* 61651 */ // GIR_Coverage, 305,
22543 /* 61651 */ GIR_EraseRootFromParent_Done,
22544 /* 61652 */ // Label 1509: @61652
22545 /* 61652 */ GIM_Try, /*On fail goto*//*Label 1510*/ GIMT_Encode4(61747), // Rule ID 341 //
22546 /* 61657 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22547 /* 61660 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22548 /* 61664 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22549 /* 61668 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
22550 /* 61672 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22551 /* 61676 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22552 /* 61680 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22553 /* 61684 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22554 /* 61688 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22555 /* 61691 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22556 /* 61695 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22557 /* 61699 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22558 /* 61703 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22559 /* 61707 */ // MIs[3] Operand 1
22560 /* 61707 */ // No operand predicates
22561 /* 61707 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
22562 /* 61711 */ // MIs[0] src1
22563 /* 61711 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22564 /* 61716 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22565 /* 61718 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22566 /* 61725 */ // (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)
22567 /* 61725 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8mi),
22568 /* 61728 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22569 /* 61732 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
22570 /* 61735 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22571 /* 61738 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22572 /* 61745 */ GIR_RootConstrainSelectedInstOperands,
22573 /* 61746 */ // GIR_Coverage, 341,
22574 /* 61746 */ GIR_EraseRootFromParent_Done,
22575 /* 61747 */ // Label 1510: @61747
22576 /* 61747 */ GIM_Try, /*On fail goto*//*Label 1511*/ GIMT_Encode4(61842), // Rule ID 453 //
22577 /* 61752 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22578 /* 61755 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22579 /* 61759 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22580 /* 61763 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
22581 /* 61767 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22582 /* 61771 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22583 /* 61775 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22584 /* 61779 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22585 /* 61783 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22586 /* 61786 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22587 /* 61790 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22588 /* 61794 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22589 /* 61798 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22590 /* 61802 */ // MIs[3] Operand 1
22591 /* 61802 */ // No operand predicates
22592 /* 61802 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
22593 /* 61806 */ // MIs[0] src1
22594 /* 61806 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22595 /* 61811 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22596 /* 61813 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22597 /* 61820 */ // (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)
22598 /* 61820 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8mi),
22599 /* 61823 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22600 /* 61827 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
22601 /* 61830 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22602 /* 61833 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22603 /* 61840 */ GIR_RootConstrainSelectedInstOperands,
22604 /* 61841 */ // GIR_Coverage, 453,
22605 /* 61841 */ GIR_EraseRootFromParent_Done,
22606 /* 61842 */ // Label 1511: @61842
22607 /* 61842 */ GIM_Try, /*On fail goto*//*Label 1512*/ GIMT_Encode4(61937), // Rule ID 377 //
22608 /* 61847 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22609 /* 61850 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22610 /* 61854 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22611 /* 61858 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
22612 /* 61862 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22613 /* 61866 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22614 /* 61870 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22615 /* 61874 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22616 /* 61878 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22617 /* 61881 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22618 /* 61885 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22619 /* 61889 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22620 /* 61893 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22621 /* 61897 */ // MIs[3] Operand 1
22622 /* 61897 */ // No operand predicates
22623 /* 61897 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
22624 /* 61901 */ // MIs[0] src1
22625 /* 61901 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22626 /* 61906 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22627 /* 61908 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22628 /* 61915 */ // (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)
22629 /* 61915 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8mi),
22630 /* 61918 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22631 /* 61922 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
22632 /* 61925 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22633 /* 61928 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22634 /* 61935 */ GIR_RootConstrainSelectedInstOperands,
22635 /* 61936 */ // GIR_Coverage, 377,
22636 /* 61936 */ GIR_EraseRootFromParent_Done,
22637 /* 61937 */ // Label 1512: @61937
22638 /* 61937 */ GIM_Try, /*On fail goto*//*Label 1513*/ GIMT_Encode4(62038), // Rule ID 22427 //
22639 /* 61942 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22640 /* 61945 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22641 /* 61952 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22642 /* 61956 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
22643 /* 61960 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22644 /* 61964 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22645 /* 61968 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22646 /* 61972 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22647 /* 61976 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22648 /* 61979 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22649 /* 61983 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22650 /* 61990 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22651 /* 61994 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22652 /* 61998 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22653 /* 62002 */ // MIs[3] Operand 1
22654 /* 62002 */ // No operand predicates
22655 /* 62002 */ // MIs[0] dst
22656 /* 62002 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22657 /* 62007 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22658 /* 62009 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22659 /* 62016 */ // (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)
22660 /* 62016 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8mi),
22661 /* 62019 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22662 /* 62023 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
22663 /* 62026 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22664 /* 62029 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22665 /* 62036 */ GIR_RootConstrainSelectedInstOperands,
22666 /* 62037 */ // GIR_Coverage, 22427,
22667 /* 62037 */ GIR_EraseRootFromParent_Done,
22668 /* 62038 */ // Label 1513: @62038
22669 /* 62038 */ GIM_Try, /*On fail goto*//*Label 1514*/ GIMT_Encode4(62139), // Rule ID 22435 //
22670 /* 62043 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22671 /* 62046 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22672 /* 62053 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22673 /* 62057 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
22674 /* 62061 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22675 /* 62065 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22676 /* 62069 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22677 /* 62073 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22678 /* 62077 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22679 /* 62080 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22680 /* 62084 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22681 /* 62091 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22682 /* 62095 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22683 /* 62099 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22684 /* 62103 */ // MIs[3] Operand 1
22685 /* 62103 */ // No operand predicates
22686 /* 62103 */ // MIs[0] dst
22687 /* 62103 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22688 /* 62108 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22689 /* 62110 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22690 /* 62117 */ // (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)
22691 /* 62117 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8mi),
22692 /* 62120 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22693 /* 62124 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
22694 /* 62127 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22695 /* 62130 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22696 /* 62137 */ GIR_RootConstrainSelectedInstOperands,
22697 /* 62138 */ // GIR_Coverage, 22435,
22698 /* 62138 */ GIR_EraseRootFromParent_Done,
22699 /* 62139 */ // Label 1514: @62139
22700 /* 62139 */ GIM_Try, /*On fail goto*//*Label 1515*/ GIMT_Encode4(62240), // Rule ID 22443 //
22701 /* 62144 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22702 /* 62147 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22703 /* 62154 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22704 /* 62158 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
22705 /* 62162 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22706 /* 62166 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22707 /* 62170 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22708 /* 62174 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22709 /* 62178 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22710 /* 62181 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22711 /* 62185 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22712 /* 62192 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22713 /* 62196 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22714 /* 62200 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22715 /* 62204 */ // MIs[3] Operand 1
22716 /* 62204 */ // No operand predicates
22717 /* 62204 */ // MIs[0] dst
22718 /* 62204 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22719 /* 62209 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22720 /* 62211 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22721 /* 62218 */ // (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)
22722 /* 62218 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8mi),
22723 /* 62221 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22724 /* 62225 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
22725 /* 62228 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22726 /* 62231 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22727 /* 62238 */ GIR_RootConstrainSelectedInstOperands,
22728 /* 62239 */ // GIR_Coverage, 22443,
22729 /* 62239 */ GIR_EraseRootFromParent_Done,
22730 /* 62240 */ // Label 1515: @62240
22731 /* 62240 */ GIM_Try, /*On fail goto*//*Label 1516*/ GIMT_Encode4(62341), // Rule ID 22459 //
22732 /* 62245 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22733 /* 62248 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22734 /* 62255 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22735 /* 62259 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
22736 /* 62263 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22737 /* 62267 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22738 /* 62271 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22739 /* 62275 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22740 /* 62279 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22741 /* 62282 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22742 /* 62286 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22743 /* 62293 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22744 /* 62297 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22745 /* 62301 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22746 /* 62305 */ // MIs[3] Operand 1
22747 /* 62305 */ // No operand predicates
22748 /* 62305 */ // MIs[0] dst
22749 /* 62305 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22750 /* 62310 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22751 /* 62312 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22752 /* 62319 */ // (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)
22753 /* 62319 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8mi),
22754 /* 62322 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22755 /* 62326 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
22756 /* 62329 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22757 /* 62332 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22758 /* 62339 */ GIR_RootConstrainSelectedInstOperands,
22759 /* 62340 */ // GIR_Coverage, 22459,
22760 /* 62340 */ GIR_EraseRootFromParent_Done,
22761 /* 62341 */ // Label 1516: @62341
22762 /* 62341 */ GIM_Try, /*On fail goto*//*Label 1517*/ GIMT_Encode4(62442), // Rule ID 22451 //
22763 /* 62346 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22764 /* 62349 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22765 /* 62356 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22766 /* 62360 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
22767 /* 62364 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22768 /* 62368 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22769 /* 62372 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22770 /* 62376 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22771 /* 62380 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22772 /* 62383 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22773 /* 62387 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22774 /* 62394 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22775 /* 62398 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22776 /* 62402 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22777 /* 62406 */ // MIs[3] Operand 1
22778 /* 62406 */ // No operand predicates
22779 /* 62406 */ // MIs[0] dst
22780 /* 62406 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22781 /* 62411 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22782 /* 62413 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22783 /* 62420 */ // (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)
22784 /* 62420 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8mi),
22785 /* 62423 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22786 /* 62427 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
22787 /* 62430 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22788 /* 62433 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22789 /* 62440 */ GIR_RootConstrainSelectedInstOperands,
22790 /* 62441 */ // GIR_Coverage, 22451,
22791 /* 62441 */ GIR_EraseRootFromParent_Done,
22792 /* 62442 */ // Label 1517: @62442
22793 /* 62442 */ GIM_Try, /*On fail goto*//*Label 1518*/ GIMT_Encode4(62533), // Rule ID 733 //
22794 /* 62447 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22795 /* 62450 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22796 /* 62454 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22797 /* 62458 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
22798 /* 62462 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22799 /* 62466 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22800 /* 62470 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22801 /* 62474 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22802 /* 62478 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22803 /* 62481 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22804 /* 62485 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22805 /* 62489 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22806 /* 62493 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22807 /* 62497 */ // MIs[3] Operand 1
22808 /* 62497 */ // No operand predicates
22809 /* 62497 */ // MIs[0] src1
22810 /* 62497 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22811 /* 62502 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22812 /* 62504 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22813 /* 62511 */ // (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)
22814 /* 62511 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR8mi),
22815 /* 62514 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22816 /* 62518 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
22817 /* 62521 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22818 /* 62524 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22819 /* 62531 */ GIR_RootConstrainSelectedInstOperands,
22820 /* 62532 */ // GIR_Coverage, 733,
22821 /* 62532 */ GIR_EraseRootFromParent_Done,
22822 /* 62533 */ // Label 1518: @62533
22823 /* 62533 */ GIM_Try, /*On fail goto*//*Label 1519*/ GIMT_Encode4(62624), // Rule ID 701 //
22824 /* 62538 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22825 /* 62541 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22826 /* 62545 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22827 /* 62549 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
22828 /* 62553 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22829 /* 62557 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22830 /* 62561 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22831 /* 62565 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22832 /* 62569 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22833 /* 62572 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22834 /* 62576 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22835 /* 62580 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22836 /* 62584 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22837 /* 62588 */ // MIs[3] Operand 1
22838 /* 62588 */ // No operand predicates
22839 /* 62588 */ // MIs[0] src1
22840 /* 62588 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22841 /* 62593 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22842 /* 62595 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22843 /* 62602 */ // (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)
22844 /* 62602 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR8mi),
22845 /* 62605 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22846 /* 62609 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
22847 /* 62612 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22848 /* 62615 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22849 /* 62622 */ GIR_RootConstrainSelectedInstOperands,
22850 /* 62623 */ // GIR_Coverage, 701,
22851 /* 62623 */ GIR_EraseRootFromParent_Done,
22852 /* 62624 */ // Label 1519: @62624
22853 /* 62624 */ GIM_Try, /*On fail goto*//*Label 1520*/ GIMT_Encode4(62715), // Rule ID 765 //
22854 /* 62629 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22855 /* 62632 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22856 /* 62636 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22857 /* 62640 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
22858 /* 62644 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22859 /* 62648 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22860 /* 62652 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22861 /* 62656 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22862 /* 62660 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22863 /* 62663 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22864 /* 62667 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22865 /* 62671 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22866 /* 62675 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22867 /* 62679 */ // MIs[3] Operand 1
22868 /* 62679 */ // No operand predicates
22869 /* 62679 */ // MIs[0] src1
22870 /* 62679 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22871 /* 62684 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22872 /* 62686 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22873 /* 62693 */ // (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)
22874 /* 62693 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8mi),
22875 /* 62696 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22876 /* 62700 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
22877 /* 62703 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22878 /* 62706 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22879 /* 62713 */ GIR_RootConstrainSelectedInstOperands,
22880 /* 62714 */ // GIR_Coverage, 765,
22881 /* 62714 */ GIR_EraseRootFromParent_Done,
22882 /* 62715 */ // Label 1520: @62715
22883 /* 62715 */ GIM_Try, /*On fail goto*//*Label 1521*/ GIMT_Encode4(62806), // Rule ID 797 //
22884 /* 62720 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22885 /* 62723 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22886 /* 62727 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22887 /* 62731 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
22888 /* 62735 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22889 /* 62739 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22890 /* 62743 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22891 /* 62747 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22892 /* 62751 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22893 /* 62754 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22894 /* 62758 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22895 /* 62762 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22896 /* 62766 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22897 /* 62770 */ // MIs[3] Operand 1
22898 /* 62770 */ // No operand predicates
22899 /* 62770 */ // MIs[0] src1
22900 /* 62770 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22901 /* 62775 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22902 /* 62777 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22903 /* 62784 */ // (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)
22904 /* 62784 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8mi),
22905 /* 62787 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22906 /* 62791 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
22907 /* 62794 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22908 /* 62797 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22909 /* 62804 */ GIR_RootConstrainSelectedInstOperands,
22910 /* 62805 */ // GIR_Coverage, 797,
22911 /* 62805 */ GIR_EraseRootFromParent_Done,
22912 /* 62806 */ // Label 1521: @62806
22913 /* 62806 */ GIM_Try, /*On fail goto*//*Label 1522*/ GIMT_Encode4(62897), // Rule ID 669 //
22914 /* 62811 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22915 /* 62814 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22916 /* 62818 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22917 /* 62822 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
22918 /* 62826 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22919 /* 62830 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22920 /* 62834 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22921 /* 62838 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22922 /* 62842 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22923 /* 62845 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22924 /* 62849 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22925 /* 62853 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22926 /* 62857 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22927 /* 62861 */ // MIs[3] Operand 1
22928 /* 62861 */ // No operand predicates
22929 /* 62861 */ // MIs[0] src1
22930 /* 62861 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22931 /* 62866 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22932 /* 62868 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22933 /* 62875 */ // (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)
22934 /* 62875 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL8mi),
22935 /* 62878 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22936 /* 62882 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
22937 /* 62885 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22938 /* 62888 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22939 /* 62895 */ GIR_RootConstrainSelectedInstOperands,
22940 /* 62896 */ // GIR_Coverage, 669,
22941 /* 62896 */ GIR_EraseRootFromParent_Done,
22942 /* 62897 */ // Label 1522: @62897
22943 /* 62897 */ GIM_Try, /*On fail goto*//*Label 1523*/ GIMT_Encode4(62995), // Rule ID 22431 //
22944 /* 62902 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22945 /* 62905 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22946 /* 62912 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22947 /* 62916 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
22948 /* 62920 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22949 /* 62924 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22950 /* 62928 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22951 /* 62932 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22952 /* 62936 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22953 /* 62939 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22954 /* 62943 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22955 /* 62950 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22956 /* 62954 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22957 /* 62959 */ // MIs[0] dst
22958 /* 62959 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22959 /* 62964 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22960 /* 62966 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22961 /* 62973 */ // (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)
22962 /* 62973 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8mr),
22963 /* 62976 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22964 /* 62980 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
22965 /* 62984 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22966 /* 62987 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22967 /* 62993 */ GIR_RootConstrainSelectedInstOperands,
22968 /* 62994 */ // GIR_Coverage, 22431,
22969 /* 62994 */ GIR_EraseRootFromParent_Done,
22970 /* 62995 */ // Label 1523: @62995
22971 /* 62995 */ GIM_Try, /*On fail goto*//*Label 1524*/ GIMT_Encode4(63093), // Rule ID 26002 //
22972 /* 63000 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22973 /* 63003 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22974 /* 63010 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22975 /* 63014 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
22976 /* 63018 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22977 /* 63022 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22978 /* 63026 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22979 /* 63031 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
22980 /* 63035 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22981 /* 63039 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22982 /* 63042 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22983 /* 63046 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22984 /* 63053 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22985 /* 63057 */ // MIs[0] dst
22986 /* 63057 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22987 /* 63062 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22988 /* 63064 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22989 /* 63071 */ // (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)
22990 /* 63071 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8mr),
22991 /* 63074 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22992 /* 63078 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
22993 /* 63082 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22994 /* 63085 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22995 /* 63091 */ GIR_RootConstrainSelectedInstOperands,
22996 /* 63092 */ // GIR_Coverage, 26002,
22997 /* 63092 */ GIR_EraseRootFromParent_Done,
22998 /* 63093 */ // Label 1524: @63093
22999 /* 63093 */ GIM_Try, /*On fail goto*//*Label 1525*/ GIMT_Encode4(63191), // Rule ID 22439 //
23000 /* 63098 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23001 /* 63101 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23002 /* 63108 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23003 /* 63112 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
23004 /* 63116 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23005 /* 63120 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23006 /* 63124 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23007 /* 63128 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23008 /* 63132 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23009 /* 63135 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23010 /* 63139 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23011 /* 63146 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23012 /* 63150 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23013 /* 63155 */ // MIs[0] dst
23014 /* 63155 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23015 /* 63160 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23016 /* 63162 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23017 /* 63169 */ // (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)
23018 /* 63169 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8mr),
23019 /* 63172 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23020 /* 63176 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
23021 /* 63180 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23022 /* 63183 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23023 /* 63189 */ GIR_RootConstrainSelectedInstOperands,
23024 /* 63190 */ // GIR_Coverage, 22439,
23025 /* 63190 */ GIR_EraseRootFromParent_Done,
23026 /* 63191 */ // Label 1525: @63191
23027 /* 63191 */ GIM_Try, /*On fail goto*//*Label 1526*/ GIMT_Encode4(63289), // Rule ID 26006 //
23028 /* 63196 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23029 /* 63199 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23030 /* 63206 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23031 /* 63210 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
23032 /* 63214 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23033 /* 63218 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23034 /* 63222 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23035 /* 63227 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23036 /* 63231 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23037 /* 63235 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23038 /* 63238 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23039 /* 63242 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23040 /* 63249 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23041 /* 63253 */ // MIs[0] dst
23042 /* 63253 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23043 /* 63258 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23044 /* 63260 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23045 /* 63267 */ // (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)
23046 /* 63267 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8mr),
23047 /* 63270 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23048 /* 63274 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
23049 /* 63278 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23050 /* 63281 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23051 /* 63287 */ GIR_RootConstrainSelectedInstOperands,
23052 /* 63288 */ // GIR_Coverage, 26006,
23053 /* 63288 */ GIR_EraseRootFromParent_Done,
23054 /* 63289 */ // Label 1526: @63289
23055 /* 63289 */ GIM_Try, /*On fail goto*//*Label 1527*/ GIMT_Encode4(63387), // Rule ID 22447 //
23056 /* 63294 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23057 /* 63297 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23058 /* 63304 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23059 /* 63308 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
23060 /* 63312 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23061 /* 63316 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23062 /* 63320 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23063 /* 63324 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23064 /* 63328 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23065 /* 63331 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23066 /* 63335 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23067 /* 63342 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23068 /* 63346 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23069 /* 63351 */ // MIs[0] dst
23070 /* 63351 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23071 /* 63356 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23072 /* 63358 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23073 /* 63365 */ // (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)
23074 /* 63365 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8mr),
23075 /* 63368 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23076 /* 63372 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
23077 /* 63376 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23078 /* 63379 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23079 /* 63385 */ GIR_RootConstrainSelectedInstOperands,
23080 /* 63386 */ // GIR_Coverage, 22447,
23081 /* 63386 */ GIR_EraseRootFromParent_Done,
23082 /* 63387 */ // Label 1527: @63387
23083 /* 63387 */ GIM_Try, /*On fail goto*//*Label 1528*/ GIMT_Encode4(63485), // Rule ID 26010 //
23084 /* 63392 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23085 /* 63395 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23086 /* 63402 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23087 /* 63406 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
23088 /* 63410 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23089 /* 63414 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23090 /* 63418 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23091 /* 63423 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23092 /* 63427 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23093 /* 63431 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23094 /* 63434 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23095 /* 63438 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23096 /* 63445 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23097 /* 63449 */ // MIs[0] dst
23098 /* 63449 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23099 /* 63454 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23100 /* 63456 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23101 /* 63463 */ // (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)
23102 /* 63463 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8mr),
23103 /* 63466 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23104 /* 63470 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
23105 /* 63474 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23106 /* 63477 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23107 /* 63483 */ GIR_RootConstrainSelectedInstOperands,
23108 /* 63484 */ // GIR_Coverage, 26010,
23109 /* 63484 */ GIR_EraseRootFromParent_Done,
23110 /* 63485 */ // Label 1528: @63485
23111 /* 63485 */ GIM_Try, /*On fail goto*//*Label 1529*/ GIMT_Encode4(63583), // Rule ID 22463 //
23112 /* 63490 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23113 /* 63493 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23114 /* 63500 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23115 /* 63504 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
23116 /* 63508 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23117 /* 63512 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23118 /* 63516 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23119 /* 63520 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23120 /* 63524 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23121 /* 63527 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23122 /* 63531 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23123 /* 63538 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23124 /* 63542 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23125 /* 63547 */ // MIs[0] dst
23126 /* 63547 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23127 /* 63552 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23128 /* 63554 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23129 /* 63561 */ // (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)
23130 /* 63561 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8mr),
23131 /* 63564 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23132 /* 63568 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
23133 /* 63572 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23134 /* 63575 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23135 /* 63581 */ GIR_RootConstrainSelectedInstOperands,
23136 /* 63582 */ // GIR_Coverage, 22463,
23137 /* 63582 */ GIR_EraseRootFromParent_Done,
23138 /* 63583 */ // Label 1529: @63583
23139 /* 63583 */ GIM_Try, /*On fail goto*//*Label 1530*/ GIMT_Encode4(63681), // Rule ID 22455 //
23140 /* 63588 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23141 /* 63591 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23142 /* 63598 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23143 /* 63602 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
23144 /* 63606 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23145 /* 63610 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23146 /* 63614 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23147 /* 63618 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23148 /* 63622 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23149 /* 63625 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23150 /* 63629 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23151 /* 63636 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23152 /* 63640 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23153 /* 63645 */ // MIs[0] dst
23154 /* 63645 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23155 /* 63650 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23156 /* 63652 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23157 /* 63659 */ // (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)
23158 /* 63659 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8mr),
23159 /* 63662 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23160 /* 63666 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
23161 /* 63670 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23162 /* 63673 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23163 /* 63679 */ GIR_RootConstrainSelectedInstOperands,
23164 /* 63680 */ // GIR_Coverage, 22455,
23165 /* 63680 */ GIR_EraseRootFromParent_Done,
23166 /* 63681 */ // Label 1530: @63681
23167 /* 63681 */ GIM_Try, /*On fail goto*//*Label 1531*/ GIMT_Encode4(63779), // Rule ID 26014 //
23168 /* 63686 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23169 /* 63689 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23170 /* 63696 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23171 /* 63700 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
23172 /* 63704 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23173 /* 63708 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23174 /* 63712 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23175 /* 63717 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23176 /* 63721 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23177 /* 63725 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23178 /* 63728 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23179 /* 63732 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23180 /* 63739 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23181 /* 63743 */ // MIs[0] dst
23182 /* 63743 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23183 /* 63748 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23184 /* 63750 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23185 /* 63757 */ // (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)
23186 /* 63757 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8mr),
23187 /* 63760 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23188 /* 63764 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
23189 /* 63768 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23190 /* 63771 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23191 /* 63777 */ GIR_RootConstrainSelectedInstOperands,
23192 /* 63778 */ // GIR_Coverage, 26014,
23193 /* 63778 */ GIR_EraseRootFromParent_Done,
23194 /* 63779 */ // Label 1531: @63779
23195 /* 63779 */ GIM_Try, /*On fail goto*//*Label 1532*/ GIMT_Encode4(63867), // Rule ID 409 //
23196 /* 63784 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23197 /* 63787 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23198 /* 63791 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23199 /* 63795 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23200 /* 63799 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23201 /* 63803 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23202 /* 63807 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23203 /* 63811 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23204 /* 63815 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23205 /* 63818 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23206 /* 63822 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23207 /* 63826 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23208 /* 63831 */ // MIs[0] src1
23209 /* 63831 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23210 /* 63836 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23211 /* 63838 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23212 /* 63845 */ // (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)
23213 /* 63845 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8mr),
23214 /* 63848 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23215 /* 63852 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
23216 /* 63856 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23217 /* 63859 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23218 /* 63865 */ GIR_RootConstrainSelectedInstOperands,
23219 /* 63866 */ // GIR_Coverage, 409,
23220 /* 63866 */ GIR_EraseRootFromParent_Done,
23221 /* 63867 */ // Label 1532: @63867
23222 /* 63867 */ GIM_Try, /*On fail goto*//*Label 1533*/ GIMT_Encode4(63955), // Rule ID 23222 //
23223 /* 63872 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23224 /* 63875 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23225 /* 63879 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23226 /* 63883 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23227 /* 63887 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23228 /* 63891 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23229 /* 63895 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23230 /* 63900 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23231 /* 63904 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23232 /* 63908 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23233 /* 63911 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23234 /* 63915 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23235 /* 63919 */ // MIs[0] src1
23236 /* 63919 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23237 /* 63924 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23238 /* 63926 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23239 /* 63933 */ // (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)
23240 /* 63933 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8mr),
23241 /* 63936 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23242 /* 63940 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
23243 /* 63944 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23244 /* 63947 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23245 /* 63953 */ GIR_RootConstrainSelectedInstOperands,
23246 /* 63954 */ // GIR_Coverage, 23222,
23247 /* 63954 */ GIR_EraseRootFromParent_Done,
23248 /* 63955 */ // Label 1533: @63955
23249 /* 63955 */ GIM_Try, /*On fail goto*//*Label 1534*/ GIMT_Encode4(64043), // Rule ID 301 //
23250 /* 63960 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23251 /* 63963 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23252 /* 63967 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23253 /* 63971 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
23254 /* 63975 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23255 /* 63979 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23256 /* 63983 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23257 /* 63987 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23258 /* 63991 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23259 /* 63994 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23260 /* 63998 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23261 /* 64002 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23262 /* 64007 */ // MIs[0] src1
23263 /* 64007 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23264 /* 64012 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23265 /* 64014 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23266 /* 64021 */ // (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)
23267 /* 64021 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8mr),
23268 /* 64024 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23269 /* 64028 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
23270 /* 64032 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23271 /* 64035 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23272 /* 64041 */ GIR_RootConstrainSelectedInstOperands,
23273 /* 64042 */ // GIR_Coverage, 301,
23274 /* 64042 */ GIR_EraseRootFromParent_Done,
23275 /* 64043 */ // Label 1534: @64043
23276 /* 64043 */ GIM_Try, /*On fail goto*//*Label 1535*/ GIMT_Encode4(64131), // Rule ID 23186 //
23277 /* 64048 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23278 /* 64051 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23279 /* 64055 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23280 /* 64059 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
23281 /* 64063 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23282 /* 64067 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23283 /* 64071 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23284 /* 64076 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23285 /* 64080 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23286 /* 64084 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23287 /* 64087 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23288 /* 64091 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23289 /* 64095 */ // MIs[0] src1
23290 /* 64095 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23291 /* 64100 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23292 /* 64102 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23293 /* 64109 */ // (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)
23294 /* 64109 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8mr),
23295 /* 64112 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23296 /* 64116 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
23297 /* 64120 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23298 /* 64123 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23299 /* 64129 */ GIR_RootConstrainSelectedInstOperands,
23300 /* 64130 */ // GIR_Coverage, 23186,
23301 /* 64130 */ GIR_EraseRootFromParent_Done,
23302 /* 64131 */ // Label 1535: @64131
23303 /* 64131 */ GIM_Try, /*On fail goto*//*Label 1536*/ GIMT_Encode4(64229), // Rule ID 749 //
23304 /* 64136 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23305 /* 64139 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23306 /* 64143 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23307 /* 64147 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
23308 /* 64151 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23309 /* 64155 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23310 /* 64159 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23311 /* 64163 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23312 /* 64167 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23313 /* 64170 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23314 /* 64174 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
23315 /* 64178 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
23316 /* 64183 */ // MIs[0] src1
23317 /* 64183 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23318 /* 64188 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23319 /* 64190 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23320 /* 64197 */ // (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)
23321 /* 64197 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
23322 /* 64201 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
23323 /* 64207 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
23324 /* 64211 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR8mCL),
23325 /* 64214 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23326 /* 64218 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23327 /* 64221 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23328 /* 64227 */ GIR_RootConstrainSelectedInstOperands,
23329 /* 64228 */ // GIR_Coverage, 749,
23330 /* 64228 */ GIR_EraseRootFromParent_Done,
23331 /* 64229 */ // Label 1536: @64229
23332 /* 64229 */ GIM_Try, /*On fail goto*//*Label 1537*/ GIMT_Encode4(64327), // Rule ID 717 //
23333 /* 64234 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23334 /* 64237 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23335 /* 64241 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23336 /* 64245 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
23337 /* 64249 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23338 /* 64253 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23339 /* 64257 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23340 /* 64261 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23341 /* 64265 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23342 /* 64268 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23343 /* 64272 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
23344 /* 64276 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
23345 /* 64281 */ // MIs[0] src1
23346 /* 64281 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23347 /* 64286 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23348 /* 64288 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23349 /* 64295 */ // (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)
23350 /* 64295 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
23351 /* 64299 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
23352 /* 64305 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
23353 /* 64309 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR8mCL),
23354 /* 64312 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23355 /* 64316 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23356 /* 64319 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23357 /* 64325 */ GIR_RootConstrainSelectedInstOperands,
23358 /* 64326 */ // GIR_Coverage, 717,
23359 /* 64326 */ GIR_EraseRootFromParent_Done,
23360 /* 64327 */ // Label 1537: @64327
23361 /* 64327 */ GIM_Try, /*On fail goto*//*Label 1538*/ GIMT_Encode4(64415), // Rule ID 337 //
23362 /* 64332 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23363 /* 64335 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23364 /* 64339 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23365 /* 64343 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
23366 /* 64347 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23367 /* 64351 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23368 /* 64355 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23369 /* 64359 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23370 /* 64363 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23371 /* 64366 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23372 /* 64370 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23373 /* 64374 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23374 /* 64379 */ // MIs[0] src1
23375 /* 64379 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23376 /* 64384 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23377 /* 64386 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23378 /* 64393 */ // (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)
23379 /* 64393 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8mr),
23380 /* 64396 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23381 /* 64400 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
23382 /* 64404 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23383 /* 64407 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23384 /* 64413 */ GIR_RootConstrainSelectedInstOperands,
23385 /* 64414 */ // GIR_Coverage, 337,
23386 /* 64414 */ GIR_EraseRootFromParent_Done,
23387 /* 64415 */ // Label 1538: @64415
23388 /* 64415 */ GIM_Try, /*On fail goto*//*Label 1539*/ GIMT_Encode4(64503), // Rule ID 23198 //
23389 /* 64420 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23390 /* 64423 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23391 /* 64427 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23392 /* 64431 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
23393 /* 64435 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23394 /* 64439 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23395 /* 64443 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23396 /* 64448 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23397 /* 64452 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23398 /* 64456 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23399 /* 64459 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23400 /* 64463 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23401 /* 64467 */ // MIs[0] src1
23402 /* 64467 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23403 /* 64472 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23404 /* 64474 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23405 /* 64481 */ // (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)
23406 /* 64481 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8mr),
23407 /* 64484 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23408 /* 64488 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
23409 /* 64492 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23410 /* 64495 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23411 /* 64501 */ GIR_RootConstrainSelectedInstOperands,
23412 /* 64502 */ // GIR_Coverage, 23198,
23413 /* 64502 */ GIR_EraseRootFromParent_Done,
23414 /* 64503 */ // Label 1539: @64503
23415 /* 64503 */ GIM_Try, /*On fail goto*//*Label 1540*/ GIMT_Encode4(64601), // Rule ID 781 //
23416 /* 64508 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23417 /* 64511 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23418 /* 64515 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23419 /* 64519 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
23420 /* 64523 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23421 /* 64527 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23422 /* 64531 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23423 /* 64535 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23424 /* 64539 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23425 /* 64542 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23426 /* 64546 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
23427 /* 64550 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
23428 /* 64555 */ // MIs[0] src1
23429 /* 64555 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23430 /* 64560 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23431 /* 64562 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23432 /* 64569 */ // (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)
23433 /* 64569 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
23434 /* 64573 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
23435 /* 64579 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
23436 /* 64583 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8mCL),
23437 /* 64586 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23438 /* 64590 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23439 /* 64593 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23440 /* 64599 */ GIR_RootConstrainSelectedInstOperands,
23441 /* 64600 */ // GIR_Coverage, 781,
23442 /* 64600 */ GIR_EraseRootFromParent_Done,
23443 /* 64601 */ // Label 1540: @64601
23444 /* 64601 */ GIM_Try, /*On fail goto*//*Label 1541*/ GIMT_Encode4(64699), // Rule ID 813 //
23445 /* 64606 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23446 /* 64609 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23447 /* 64613 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23448 /* 64617 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
23449 /* 64621 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23450 /* 64625 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23451 /* 64629 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23452 /* 64633 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23453 /* 64637 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23454 /* 64640 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23455 /* 64644 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
23456 /* 64648 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
23457 /* 64653 */ // MIs[0] src1
23458 /* 64653 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23459 /* 64658 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23460 /* 64660 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23461 /* 64667 */ // (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)
23462 /* 64667 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
23463 /* 64671 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
23464 /* 64677 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
23465 /* 64681 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8mCL),
23466 /* 64684 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23467 /* 64688 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23468 /* 64691 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23469 /* 64697 */ GIR_RootConstrainSelectedInstOperands,
23470 /* 64698 */ // GIR_Coverage, 813,
23471 /* 64698 */ GIR_EraseRootFromParent_Done,
23472 /* 64699 */ // Label 1541: @64699
23473 /* 64699 */ GIM_Try, /*On fail goto*//*Label 1542*/ GIMT_Encode4(64797), // Rule ID 685 //
23474 /* 64704 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23475 /* 64707 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23476 /* 64711 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23477 /* 64715 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
23478 /* 64719 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23479 /* 64723 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23480 /* 64727 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23481 /* 64731 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23482 /* 64735 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23483 /* 64738 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23484 /* 64742 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
23485 /* 64746 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
23486 /* 64751 */ // MIs[0] src1
23487 /* 64751 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23488 /* 64756 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23489 /* 64758 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23490 /* 64765 */ // (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)
23491 /* 64765 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
23492 /* 64769 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
23493 /* 64775 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
23494 /* 64779 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL8mCL),
23495 /* 64782 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23496 /* 64786 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23497 /* 64789 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23498 /* 64795 */ GIR_RootConstrainSelectedInstOperands,
23499 /* 64796 */ // GIR_Coverage, 685,
23500 /* 64796 */ GIR_EraseRootFromParent_Done,
23501 /* 64797 */ // Label 1542: @64797
23502 /* 64797 */ GIM_Try, /*On fail goto*//*Label 1543*/ GIMT_Encode4(64885), // Rule ID 445 //
23503 /* 64802 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23504 /* 64805 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23505 /* 64809 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23506 /* 64813 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
23507 /* 64817 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23508 /* 64821 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23509 /* 64825 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23510 /* 64829 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23511 /* 64833 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23512 /* 64836 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23513 /* 64840 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23514 /* 64844 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23515 /* 64849 */ // MIs[0] src1
23516 /* 64849 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23517 /* 64854 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23518 /* 64856 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23519 /* 64863 */ // (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)
23520 /* 64863 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8mr),
23521 /* 64866 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23522 /* 64870 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
23523 /* 64874 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23524 /* 64877 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23525 /* 64883 */ GIR_RootConstrainSelectedInstOperands,
23526 /* 64884 */ // GIR_Coverage, 445,
23527 /* 64884 */ GIR_EraseRootFromParent_Done,
23528 /* 64885 */ // Label 1543: @64885
23529 /* 64885 */ GIM_Try, /*On fail goto*//*Label 1544*/ GIMT_Encode4(64973), // Rule ID 373 //
23530 /* 64890 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23531 /* 64893 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23532 /* 64897 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23533 /* 64901 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
23534 /* 64905 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23535 /* 64909 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23536 /* 64913 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23537 /* 64917 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23538 /* 64921 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23539 /* 64924 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23540 /* 64928 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23541 /* 64932 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23542 /* 64937 */ // MIs[0] src1
23543 /* 64937 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23544 /* 64942 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23545 /* 64944 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23546 /* 64951 */ // (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)
23547 /* 64951 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8mr),
23548 /* 64954 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23549 /* 64958 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
23550 /* 64962 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23551 /* 64965 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23552 /* 64971 */ GIR_RootConstrainSelectedInstOperands,
23553 /* 64972 */ // GIR_Coverage, 373,
23554 /* 64972 */ GIR_EraseRootFromParent_Done,
23555 /* 64973 */ // Label 1544: @64973
23556 /* 64973 */ GIM_Try, /*On fail goto*//*Label 1545*/ GIMT_Encode4(65061), // Rule ID 23210 //
23557 /* 64978 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23558 /* 64981 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23559 /* 64985 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23560 /* 64989 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
23561 /* 64993 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23562 /* 64997 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23563 /* 65001 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23564 /* 65006 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23565 /* 65010 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23566 /* 65014 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23567 /* 65017 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23568 /* 65021 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23569 /* 65025 */ // MIs[0] src1
23570 /* 65025 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23571 /* 65030 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23572 /* 65032 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23573 /* 65039 */ // (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)
23574 /* 65039 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8mr),
23575 /* 65042 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23576 /* 65046 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
23577 /* 65050 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23578 /* 65053 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23579 /* 65059 */ GIR_RootConstrainSelectedInstOperands,
23580 /* 65060 */ // GIR_Coverage, 23210,
23581 /* 65060 */ GIR_EraseRootFromParent_Done,
23582 /* 65061 */ // Label 1545: @65061
23583 /* 65061 */ GIM_Try, /*On fail goto*//*Label 1546*/ GIMT_Encode4(65115), // Rule ID 24 //
23584 /* 65066 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23585 /* 65069 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23586 /* 65073 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23587 /* 65077 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23588 /* 65081 */ // MIs[1] Operand 1
23589 /* 65081 */ // No operand predicates
23590 /* 65081 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
23591 /* 65085 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
23592 /* 65089 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23593 /* 65091 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23594 /* 65098 */ // (st (imm:{ *:[i8] })<<P:Predicate_imm_su>>:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV8mi addr:{ *:[iPTR] }:$dst, (imm:{ *:[i8] }):$src)
23595 /* 65098 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8mi),
23596 /* 65101 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23597 /* 65105 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
23598 /* 65108 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
23599 /* 65113 */ GIR_RootConstrainSelectedInstOperands,
23600 /* 65114 */ // GIR_Coverage, 24,
23601 /* 65114 */ GIR_EraseRootFromParent_Done,
23602 /* 65115 */ // Label 1546: @65115
23603 /* 65115 */ GIM_Try, /*On fail goto*//*Label 1547*/ GIMT_Encode4(65168), // Rule ID 22507 //
23604 /* 65120 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23605 /* 65123 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23606 /* 65130 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23607 /* 65134 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23608 /* 65138 */ // MIs[1] Operand 1
23609 /* 65138 */ // No operand predicates
23610 /* 65138 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
23611 /* 65142 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23612 /* 65144 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23613 /* 65151 */ // (atomic_store (imm:{ *:[i8] }):$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_8>> => (MOV8mi addr:{ *:[iPTR] }:$dst, (imm:{ *:[i8] }):$src)
23614 /* 65151 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8mi),
23615 /* 65154 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23616 /* 65158 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
23617 /* 65161 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
23618 /* 65166 */ GIR_RootConstrainSelectedInstOperands,
23619 /* 65167 */ // GIR_Coverage, 22507,
23620 /* 65167 */ GIR_EraseRootFromParent_Done,
23621 /* 65168 */ // Label 1547: @65168
23622 /* 65168 */ GIM_Try, /*On fail goto*//*Label 1548*/ GIMT_Encode4(65213), // Rule ID 22511 //
23623 /* 65173 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23624 /* 65176 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23625 /* 65183 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23626 /* 65187 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
23627 /* 65191 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23628 /* 65198 */ // (atomic_store GR8:{ *:[i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_8>> => (MOV8mr addr:{ *:[iPTR] }:$dst, GR8:{ *:[i8] }:$src)
23629 /* 65198 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8mr),
23630 /* 65201 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23631 /* 65205 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
23632 /* 65207 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
23633 /* 65211 */ GIR_RootConstrainSelectedInstOperands,
23634 /* 65212 */ // GIR_Coverage, 22511,
23635 /* 65212 */ GIR_EraseRootFromParent_Done,
23636 /* 65213 */ // Label 1548: @65213
23637 /* 65213 */ GIM_Try, /*On fail goto*//*Label 1549*/ GIMT_Encode4(65255), // Rule ID 32 //
23638 /* 65218 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23639 /* 65221 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23640 /* 65225 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23641 /* 65229 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
23642 /* 65233 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23643 /* 65240 */ // (st GR8:{ *:[i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV8mr addr:{ *:[iPTR] }:$dst, GR8:{ *:[i8] }:$src)
23644 /* 65240 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8mr),
23645 /* 65243 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23646 /* 65247 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
23647 /* 65249 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
23648 /* 65253 */ GIR_RootConstrainSelectedInstOperands,
23649 /* 65254 */ // GIR_Coverage, 32,
23650 /* 65254 */ GIR_EraseRootFromParent_Done,
23651 /* 65255 */ // Label 1549: @65255
23652 /* 65255 */ GIM_Reject,
23653 /* 65256 */ // Label 1476: @65256
23654 /* 65256 */ GIM_Try, /*On fail goto*//*Label 1550*/ GIMT_Encode4(65352), // Rule ID 22492 //
23655 /* 65261 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
23656 /* 65264 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23657 /* 65267 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23658 /* 65274 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23659 /* 65278 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23660 /* 65282 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23661 /* 65286 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23662 /* 65290 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23663 /* 65294 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23664 /* 65298 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23665 /* 65301 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23666 /* 65305 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23667 /* 65312 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23668 /* 65316 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
23669 /* 65320 */ // MIs[0] dst
23670 /* 65320 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23671 /* 65325 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23672 /* 65327 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23673 /* 65334 */ // (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)
23674 /* 65334 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC16m),
23675 /* 65337 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23676 /* 65341 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23677 /* 65344 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23678 /* 65350 */ GIR_RootConstrainSelectedInstOperands,
23679 /* 65351 */ // GIR_Coverage, 22492,
23680 /* 65351 */ GIR_EraseRootFromParent_Done,
23681 /* 65352 */ // Label 1550: @65352
23682 /* 65352 */ GIM_Try, /*On fail goto*//*Label 1551*/ GIMT_Encode4(65448), // Rule ID 22496 //
23683 /* 65357 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
23684 /* 65360 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23685 /* 65363 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23686 /* 65370 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23687 /* 65374 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23688 /* 65378 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23689 /* 65382 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23690 /* 65386 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23691 /* 65390 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23692 /* 65394 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23693 /* 65397 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23694 /* 65401 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23695 /* 65408 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23696 /* 65412 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
23697 /* 65416 */ // MIs[0] dst
23698 /* 65416 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23699 /* 65421 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23700 /* 65423 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23701 /* 65430 */ // (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)
23702 /* 65430 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC16m),
23703 /* 65433 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23704 /* 65437 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23705 /* 65440 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23706 /* 65446 */ GIR_RootConstrainSelectedInstOperands,
23707 /* 65447 */ // GIR_Coverage, 22496,
23708 /* 65447 */ GIR_EraseRootFromParent_Done,
23709 /* 65448 */ // Label 1551: @65448
23710 /* 65448 */ GIM_Try, /*On fail goto*//*Label 1552*/ GIMT_Encode4(65541), // Rule ID 22500 //
23711 /* 65453 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23712 /* 65456 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23713 /* 65463 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23714 /* 65467 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
23715 /* 65471 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23716 /* 65475 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23717 /* 65479 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
23718 /* 65483 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23719 /* 65487 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23720 /* 65491 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23721 /* 65494 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23722 /* 65498 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23723 /* 65505 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23724 /* 65509 */ // MIs[0] dst
23725 /* 65509 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23726 /* 65514 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23727 /* 65516 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23728 /* 65523 */ // (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)
23729 /* 65523 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG16m),
23730 /* 65526 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23731 /* 65530 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23732 /* 65533 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23733 /* 65539 */ GIR_RootConstrainSelectedInstOperands,
23734 /* 65540 */ // GIR_Coverage, 22500,
23735 /* 65540 */ GIR_EraseRootFromParent_Done,
23736 /* 65541 */ // Label 1552: @65541
23737 /* 65541 */ GIM_Try, /*On fail goto*//*Label 1553*/ GIMT_Encode4(65631), // Rule ID 22504 //
23738 /* 65546 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23739 /* 65549 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23740 /* 65556 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23741 /* 65560 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
23742 /* 65564 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23743 /* 65568 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23744 /* 65572 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23745 /* 65576 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23746 /* 65580 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23747 /* 65583 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23748 /* 65587 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23749 /* 65594 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23750 /* 65598 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
23751 /* 65602 */ // MIs[0] dst
23752 /* 65602 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23753 /* 65607 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23754 /* 65609 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23755 /* 65616 */ // (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)
23756 /* 65616 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT16m),
23757 /* 65619 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23758 /* 65623 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23759 /* 65629 */ GIR_RootConstrainSelectedInstOperands,
23760 /* 65630 */ // GIR_Coverage, 22504,
23761 /* 65630 */ GIR_EraseRootFromParent_Done,
23762 /* 65631 */ // Label 1553: @65631
23763 /* 65631 */ GIM_Try, /*On fail goto*//*Label 1554*/ GIMT_Encode4(65717), // Rule ID 226 //
23764 /* 65636 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
23765 /* 65639 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23766 /* 65642 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23767 /* 65646 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23768 /* 65650 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23769 /* 65654 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23770 /* 65658 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23771 /* 65662 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23772 /* 65666 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23773 /* 65670 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23774 /* 65673 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23775 /* 65677 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23776 /* 65681 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
23777 /* 65685 */ // MIs[0] src1
23778 /* 65685 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23779 /* 65690 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23780 /* 65692 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23781 /* 65699 */ // (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)
23782 /* 65699 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC16m),
23783 /* 65702 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23784 /* 65706 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23785 /* 65709 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23786 /* 65715 */ GIR_RootConstrainSelectedInstOperands,
23787 /* 65716 */ // GIR_Coverage, 226,
23788 /* 65716 */ GIR_EraseRootFromParent_Done,
23789 /* 65717 */ // Label 1554: @65717
23790 /* 65717 */ GIM_Try, /*On fail goto*//*Label 1555*/ GIMT_Encode4(65803), // Rule ID 229 //
23791 /* 65722 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
23792 /* 65725 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23793 /* 65728 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23794 /* 65732 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23795 /* 65736 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23796 /* 65740 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23797 /* 65744 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23798 /* 65748 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23799 /* 65752 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23800 /* 65756 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23801 /* 65759 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23802 /* 65763 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23803 /* 65767 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
23804 /* 65771 */ // MIs[0] src1
23805 /* 65771 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23806 /* 65776 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23807 /* 65778 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23808 /* 65785 */ // (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)
23809 /* 65785 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC16m),
23810 /* 65788 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23811 /* 65792 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23812 /* 65795 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23813 /* 65801 */ GIR_RootConstrainSelectedInstOperands,
23814 /* 65802 */ // GIR_Coverage, 229,
23815 /* 65802 */ GIR_EraseRootFromParent_Done,
23816 /* 65803 */ // Label 1555: @65803
23817 /* 65803 */ GIM_Try, /*On fail goto*//*Label 1556*/ GIMT_Encode4(65896), // Rule ID 22614 //
23818 /* 65808 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23819 /* 65811 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23820 /* 65815 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23821 /* 65819 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23822 /* 65823 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23823 /* 65827 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23824 /* 65831 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23825 /* 65835 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23826 /* 65839 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23827 /* 65842 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23828 /* 65846 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23829 /* 65850 */ GIM_CheckConstantInt, /*MI*/1, /*Op*/2, GIMT_Encode8(128),
23830 /* 65861 */ // MIs[0] dst
23831 /* 65861 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23832 /* 65866 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23833 /* 65868 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23834 /* 65875 */ // (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] })
23835 /* 65875 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16mi),
23836 /* 65878 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23837 /* 65882 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/uint8_t(-128),
23838 /* 65885 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23839 /* 65888 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23840 /* 65894 */ GIR_RootConstrainSelectedInstOperands,
23841 /* 65895 */ // GIR_Coverage, 22614,
23842 /* 65895 */ GIR_EraseRootFromParent_Done,
23843 /* 65896 */ // Label 1556: @65896
23844 /* 65896 */ GIM_Try, /*On fail goto*//*Label 1557*/ GIMT_Encode4(65979), // Rule ID 17613 //
23845 /* 65901 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23846 /* 65904 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23847 /* 65908 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23848 /* 65912 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
23849 /* 65916 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23850 /* 65920 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23851 /* 65924 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23852 /* 65928 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23853 /* 65932 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23854 /* 65935 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23855 /* 65939 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23856 /* 65943 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 15,
23857 /* 65947 */ // MIs[0] dst
23858 /* 65947 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23859 /* 65952 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23860 /* 65954 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23861 /* 65961 */ // (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)
23862 /* 65961 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16m1),
23863 /* 65964 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23864 /* 65968 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23865 /* 65971 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23866 /* 65977 */ GIR_RootConstrainSelectedInstOperands,
23867 /* 65978 */ // GIR_Coverage, 17613,
23868 /* 65978 */ GIR_EraseRootFromParent_Done,
23869 /* 65979 */ // Label 1557: @65979
23870 /* 65979 */ GIM_Try, /*On fail goto*//*Label 1558*/ GIMT_Encode4(66062), // Rule ID 17617 //
23871 /* 65984 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23872 /* 65987 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23873 /* 65991 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23874 /* 65995 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
23875 /* 65999 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23876 /* 66003 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23877 /* 66007 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23878 /* 66011 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23879 /* 66015 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23880 /* 66018 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23881 /* 66022 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23882 /* 66026 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 15,
23883 /* 66030 */ // MIs[0] dst
23884 /* 66030 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23885 /* 66035 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23886 /* 66037 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23887 /* 66044 */ // (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)
23888 /* 66044 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16m1),
23889 /* 66047 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23890 /* 66051 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23891 /* 66054 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23892 /* 66060 */ GIR_RootConstrainSelectedInstOperands,
23893 /* 66061 */ // GIR_Coverage, 17617,
23894 /* 66061 */ GIR_EraseRootFromParent_Done,
23895 /* 66062 */ // Label 1558: @66062
23896 /* 66062 */ GIM_Try, /*On fail goto*//*Label 1559*/ GIMT_Encode4(66145), // Rule ID 262 //
23897 /* 66067 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23898 /* 66070 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23899 /* 66074 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23900 /* 66078 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
23901 /* 66082 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23902 /* 66086 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23903 /* 66090 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
23904 /* 66094 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23905 /* 66098 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23906 /* 66102 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23907 /* 66105 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23908 /* 66109 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23909 /* 66113 */ // MIs[0] src1
23910 /* 66113 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23911 /* 66118 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23912 /* 66120 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23913 /* 66127 */ // (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)
23914 /* 66127 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG16m),
23915 /* 66130 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23916 /* 66134 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23917 /* 66137 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23918 /* 66143 */ GIR_RootConstrainSelectedInstOperands,
23919 /* 66144 */ // GIR_Coverage, 262,
23920 /* 66144 */ GIR_EraseRootFromParent_Done,
23921 /* 66145 */ // Label 1559: @66145
23922 /* 66145 */ GIM_Try, /*On fail goto*//*Label 1560*/ GIMT_Encode4(66225), // Rule ID 270 //
23923 /* 66150 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23924 /* 66153 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23925 /* 66157 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23926 /* 66161 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
23927 /* 66165 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23928 /* 66169 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23929 /* 66173 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23930 /* 66177 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23931 /* 66181 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23932 /* 66184 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23933 /* 66188 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23934 /* 66192 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
23935 /* 66196 */ // MIs[0] src1
23936 /* 66196 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23937 /* 66201 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23938 /* 66203 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23939 /* 66210 */ // (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)
23940 /* 66210 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT16m),
23941 /* 66213 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23942 /* 66217 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23943 /* 66223 */ GIR_RootConstrainSelectedInstOperands,
23944 /* 66224 */ // GIR_Coverage, 270,
23945 /* 66224 */ GIR_EraseRootFromParent_Done,
23946 /* 66225 */ // Label 1560: @66225
23947 /* 66225 */ GIM_Try, /*On fail goto*//*Label 1561*/ GIMT_Encode4(66320), // Rule ID 414 //
23948 /* 66230 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23949 /* 66233 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23950 /* 66237 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23951 /* 66241 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23952 /* 66245 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23953 /* 66249 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23954 /* 66253 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23955 /* 66257 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23956 /* 66261 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23957 /* 66264 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23958 /* 66268 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23959 /* 66272 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23960 /* 66276 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23961 /* 66280 */ // MIs[3] Operand 1
23962 /* 66280 */ // No operand predicates
23963 /* 66280 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
23964 /* 66284 */ // MIs[0] src1
23965 /* 66284 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23966 /* 66289 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23967 /* 66291 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23968 /* 66298 */ // (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)
23969 /* 66298 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16mi),
23970 /* 66301 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23971 /* 66305 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23972 /* 66308 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23973 /* 66311 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23974 /* 66318 */ GIR_RootConstrainSelectedInstOperands,
23975 /* 66319 */ // GIR_Coverage, 414,
23976 /* 66319 */ GIR_EraseRootFromParent_Done,
23977 /* 66320 */ // Label 1561: @66320
23978 /* 66320 */ GIM_Try, /*On fail goto*//*Label 1562*/ GIMT_Encode4(66415), // Rule ID 306 //
23979 /* 66325 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23980 /* 66328 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23981 /* 66332 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23982 /* 66336 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
23983 /* 66340 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23984 /* 66344 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23985 /* 66348 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23986 /* 66352 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23987 /* 66356 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23988 /* 66359 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23989 /* 66363 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23990 /* 66367 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23991 /* 66371 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23992 /* 66375 */ // MIs[3] Operand 1
23993 /* 66375 */ // No operand predicates
23994 /* 66375 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
23995 /* 66379 */ // MIs[0] src1
23996 /* 66379 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23997 /* 66384 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23998 /* 66386 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23999 /* 66393 */ // (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)
24000 /* 66393 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16mi),
24001 /* 66396 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24002 /* 66400 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
24003 /* 66403 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24004 /* 66406 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24005 /* 66413 */ GIR_RootConstrainSelectedInstOperands,
24006 /* 66414 */ // GIR_Coverage, 306,
24007 /* 66414 */ GIR_EraseRootFromParent_Done,
24008 /* 66415 */ // Label 1562: @66415
24009 /* 66415 */ GIM_Try, /*On fail goto*//*Label 1563*/ GIMT_Encode4(66510), // Rule ID 342 //
24010 /* 66420 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24011 /* 66423 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24012 /* 66427 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24013 /* 66431 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
24014 /* 66435 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24015 /* 66439 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24016 /* 66443 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24017 /* 66447 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24018 /* 66451 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24019 /* 66454 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24020 /* 66458 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24021 /* 66462 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24022 /* 66466 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24023 /* 66470 */ // MIs[3] Operand 1
24024 /* 66470 */ // No operand predicates
24025 /* 66470 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
24026 /* 66474 */ // MIs[0] src1
24027 /* 66474 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24028 /* 66479 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24029 /* 66481 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24030 /* 66488 */ // (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)
24031 /* 66488 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16mi),
24032 /* 66491 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24033 /* 66495 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
24034 /* 66498 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24035 /* 66501 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24036 /* 66508 */ GIR_RootConstrainSelectedInstOperands,
24037 /* 66509 */ // GIR_Coverage, 342,
24038 /* 66509 */ GIR_EraseRootFromParent_Done,
24039 /* 66510 */ // Label 1563: @66510
24040 /* 66510 */ GIM_Try, /*On fail goto*//*Label 1564*/ GIMT_Encode4(66605), // Rule ID 454 //
24041 /* 66515 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24042 /* 66518 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24043 /* 66522 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24044 /* 66526 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
24045 /* 66530 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24046 /* 66534 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24047 /* 66538 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24048 /* 66542 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24049 /* 66546 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24050 /* 66549 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24051 /* 66553 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24052 /* 66557 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24053 /* 66561 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24054 /* 66565 */ // MIs[3] Operand 1
24055 /* 66565 */ // No operand predicates
24056 /* 66565 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
24057 /* 66569 */ // MIs[0] src1
24058 /* 66569 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24059 /* 66574 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24060 /* 66576 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24061 /* 66583 */ // (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)
24062 /* 66583 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16mi),
24063 /* 66586 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24064 /* 66590 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
24065 /* 66593 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24066 /* 66596 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24067 /* 66603 */ GIR_RootConstrainSelectedInstOperands,
24068 /* 66604 */ // GIR_Coverage, 454,
24069 /* 66604 */ GIR_EraseRootFromParent_Done,
24070 /* 66605 */ // Label 1564: @66605
24071 /* 66605 */ GIM_Try, /*On fail goto*//*Label 1565*/ GIMT_Encode4(66700), // Rule ID 378 //
24072 /* 66610 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24073 /* 66613 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24074 /* 66617 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24075 /* 66621 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
24076 /* 66625 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24077 /* 66629 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24078 /* 66633 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24079 /* 66637 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24080 /* 66641 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24081 /* 66644 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24082 /* 66648 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24083 /* 66652 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24084 /* 66656 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24085 /* 66660 */ // MIs[3] Operand 1
24086 /* 66660 */ // No operand predicates
24087 /* 66660 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
24088 /* 66664 */ // MIs[0] src1
24089 /* 66664 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24090 /* 66669 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24091 /* 66671 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24092 /* 66678 */ // (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)
24093 /* 66678 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16mi),
24094 /* 66681 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24095 /* 66685 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
24096 /* 66688 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24097 /* 66691 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24098 /* 66698 */ GIR_RootConstrainSelectedInstOperands,
24099 /* 66699 */ // GIR_Coverage, 378,
24100 /* 66699 */ GIR_EraseRootFromParent_Done,
24101 /* 66700 */ // Label 1565: @66700
24102 /* 66700 */ GIM_Try, /*On fail goto*//*Label 1566*/ GIMT_Encode4(66801), // Rule ID 22428 //
24103 /* 66705 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24104 /* 66708 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24105 /* 66715 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24106 /* 66719 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
24107 /* 66723 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24108 /* 66727 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24109 /* 66731 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24110 /* 66735 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24111 /* 66739 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24112 /* 66742 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24113 /* 66746 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24114 /* 66753 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24115 /* 66757 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24116 /* 66761 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24117 /* 66765 */ // MIs[3] Operand 1
24118 /* 66765 */ // No operand predicates
24119 /* 66765 */ // MIs[0] dst
24120 /* 66765 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24121 /* 66770 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24122 /* 66772 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24123 /* 66779 */ // (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)
24124 /* 66779 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16mi),
24125 /* 66782 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24126 /* 66786 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
24127 /* 66789 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24128 /* 66792 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24129 /* 66799 */ GIR_RootConstrainSelectedInstOperands,
24130 /* 66800 */ // GIR_Coverage, 22428,
24131 /* 66800 */ GIR_EraseRootFromParent_Done,
24132 /* 66801 */ // Label 1566: @66801
24133 /* 66801 */ GIM_Try, /*On fail goto*//*Label 1567*/ GIMT_Encode4(66902), // Rule ID 22436 //
24134 /* 66806 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24135 /* 66809 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24136 /* 66816 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24137 /* 66820 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
24138 /* 66824 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24139 /* 66828 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24140 /* 66832 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24141 /* 66836 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24142 /* 66840 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24143 /* 66843 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24144 /* 66847 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24145 /* 66854 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24146 /* 66858 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24147 /* 66862 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24148 /* 66866 */ // MIs[3] Operand 1
24149 /* 66866 */ // No operand predicates
24150 /* 66866 */ // MIs[0] dst
24151 /* 66866 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24152 /* 66871 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24153 /* 66873 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24154 /* 66880 */ // (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)
24155 /* 66880 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16mi),
24156 /* 66883 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24157 /* 66887 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
24158 /* 66890 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24159 /* 66893 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24160 /* 66900 */ GIR_RootConstrainSelectedInstOperands,
24161 /* 66901 */ // GIR_Coverage, 22436,
24162 /* 66901 */ GIR_EraseRootFromParent_Done,
24163 /* 66902 */ // Label 1567: @66902
24164 /* 66902 */ GIM_Try, /*On fail goto*//*Label 1568*/ GIMT_Encode4(67003), // Rule ID 22444 //
24165 /* 66907 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24166 /* 66910 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24167 /* 66917 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24168 /* 66921 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
24169 /* 66925 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24170 /* 66929 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24171 /* 66933 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24172 /* 66937 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24173 /* 66941 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24174 /* 66944 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24175 /* 66948 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24176 /* 66955 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24177 /* 66959 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24178 /* 66963 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24179 /* 66967 */ // MIs[3] Operand 1
24180 /* 66967 */ // No operand predicates
24181 /* 66967 */ // MIs[0] dst
24182 /* 66967 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24183 /* 66972 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24184 /* 66974 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24185 /* 66981 */ // (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)
24186 /* 66981 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16mi),
24187 /* 66984 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24188 /* 66988 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
24189 /* 66991 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24190 /* 66994 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24191 /* 67001 */ GIR_RootConstrainSelectedInstOperands,
24192 /* 67002 */ // GIR_Coverage, 22444,
24193 /* 67002 */ GIR_EraseRootFromParent_Done,
24194 /* 67003 */ // Label 1568: @67003
24195 /* 67003 */ GIM_Try, /*On fail goto*//*Label 1569*/ GIMT_Encode4(67104), // Rule ID 22460 //
24196 /* 67008 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24197 /* 67011 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24198 /* 67018 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24199 /* 67022 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
24200 /* 67026 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24201 /* 67030 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24202 /* 67034 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24203 /* 67038 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24204 /* 67042 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24205 /* 67045 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24206 /* 67049 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24207 /* 67056 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24208 /* 67060 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24209 /* 67064 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24210 /* 67068 */ // MIs[3] Operand 1
24211 /* 67068 */ // No operand predicates
24212 /* 67068 */ // MIs[0] dst
24213 /* 67068 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24214 /* 67073 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24215 /* 67075 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24216 /* 67082 */ // (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)
24217 /* 67082 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16mi),
24218 /* 67085 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24219 /* 67089 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
24220 /* 67092 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24221 /* 67095 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24222 /* 67102 */ GIR_RootConstrainSelectedInstOperands,
24223 /* 67103 */ // GIR_Coverage, 22460,
24224 /* 67103 */ GIR_EraseRootFromParent_Done,
24225 /* 67104 */ // Label 1569: @67104
24226 /* 67104 */ GIM_Try, /*On fail goto*//*Label 1570*/ GIMT_Encode4(67205), // Rule ID 22452 //
24227 /* 67109 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24228 /* 67112 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24229 /* 67119 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24230 /* 67123 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
24231 /* 67127 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24232 /* 67131 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24233 /* 67135 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24234 /* 67139 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24235 /* 67143 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24236 /* 67146 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24237 /* 67150 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24238 /* 67157 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24239 /* 67161 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24240 /* 67165 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24241 /* 67169 */ // MIs[3] Operand 1
24242 /* 67169 */ // No operand predicates
24243 /* 67169 */ // MIs[0] dst
24244 /* 67169 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24245 /* 67174 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24246 /* 67176 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24247 /* 67183 */ // (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)
24248 /* 67183 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16mi),
24249 /* 67186 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24250 /* 67190 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
24251 /* 67193 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24252 /* 67196 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24253 /* 67203 */ GIR_RootConstrainSelectedInstOperands,
24254 /* 67204 */ // GIR_Coverage, 22452,
24255 /* 67204 */ GIR_EraseRootFromParent_Done,
24256 /* 67205 */ // Label 1570: @67205
24257 /* 67205 */ GIM_Try, /*On fail goto*//*Label 1571*/ GIMT_Encode4(67296), // Rule ID 734 //
24258 /* 67210 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24259 /* 67213 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24260 /* 67217 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24261 /* 67221 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
24262 /* 67225 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24263 /* 67229 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24264 /* 67233 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24265 /* 67237 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24266 /* 67241 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24267 /* 67244 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24268 /* 67248 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24269 /* 67252 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24270 /* 67256 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24271 /* 67260 */ // MIs[3] Operand 1
24272 /* 67260 */ // No operand predicates
24273 /* 67260 */ // MIs[0] src1
24274 /* 67260 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24275 /* 67265 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24276 /* 67267 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24277 /* 67274 */ // (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)
24278 /* 67274 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR16mi),
24279 /* 67277 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24280 /* 67281 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
24281 /* 67284 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24282 /* 67287 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24283 /* 67294 */ GIR_RootConstrainSelectedInstOperands,
24284 /* 67295 */ // GIR_Coverage, 734,
24285 /* 67295 */ GIR_EraseRootFromParent_Done,
24286 /* 67296 */ // Label 1571: @67296
24287 /* 67296 */ GIM_Try, /*On fail goto*//*Label 1572*/ GIMT_Encode4(67387), // Rule ID 702 //
24288 /* 67301 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24289 /* 67304 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24290 /* 67308 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24291 /* 67312 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
24292 /* 67316 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24293 /* 67320 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24294 /* 67324 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24295 /* 67328 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24296 /* 67332 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24297 /* 67335 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24298 /* 67339 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24299 /* 67343 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24300 /* 67347 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24301 /* 67351 */ // MIs[3] Operand 1
24302 /* 67351 */ // No operand predicates
24303 /* 67351 */ // MIs[0] src1
24304 /* 67351 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24305 /* 67356 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24306 /* 67358 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24307 /* 67365 */ // (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)
24308 /* 67365 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR16mi),
24309 /* 67368 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24310 /* 67372 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
24311 /* 67375 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24312 /* 67378 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24313 /* 67385 */ GIR_RootConstrainSelectedInstOperands,
24314 /* 67386 */ // GIR_Coverage, 702,
24315 /* 67386 */ GIR_EraseRootFromParent_Done,
24316 /* 67387 */ // Label 1572: @67387
24317 /* 67387 */ GIM_Try, /*On fail goto*//*Label 1573*/ GIMT_Encode4(67478), // Rule ID 766 //
24318 /* 67392 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24319 /* 67395 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24320 /* 67399 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24321 /* 67403 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
24322 /* 67407 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24323 /* 67411 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24324 /* 67415 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24325 /* 67419 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24326 /* 67423 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24327 /* 67426 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24328 /* 67430 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24329 /* 67434 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24330 /* 67438 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24331 /* 67442 */ // MIs[3] Operand 1
24332 /* 67442 */ // No operand predicates
24333 /* 67442 */ // MIs[0] src1
24334 /* 67442 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24335 /* 67447 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24336 /* 67449 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24337 /* 67456 */ // (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)
24338 /* 67456 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16mi),
24339 /* 67459 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24340 /* 67463 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
24341 /* 67466 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24342 /* 67469 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24343 /* 67476 */ GIR_RootConstrainSelectedInstOperands,
24344 /* 67477 */ // GIR_Coverage, 766,
24345 /* 67477 */ GIR_EraseRootFromParent_Done,
24346 /* 67478 */ // Label 1573: @67478
24347 /* 67478 */ GIM_Try, /*On fail goto*//*Label 1574*/ GIMT_Encode4(67569), // Rule ID 798 //
24348 /* 67483 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24349 /* 67486 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24350 /* 67490 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24351 /* 67494 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
24352 /* 67498 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24353 /* 67502 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24354 /* 67506 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24355 /* 67510 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24356 /* 67514 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24357 /* 67517 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24358 /* 67521 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24359 /* 67525 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24360 /* 67529 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24361 /* 67533 */ // MIs[3] Operand 1
24362 /* 67533 */ // No operand predicates
24363 /* 67533 */ // MIs[0] src1
24364 /* 67533 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24365 /* 67538 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24366 /* 67540 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24367 /* 67547 */ // (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)
24368 /* 67547 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16mi),
24369 /* 67550 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24370 /* 67554 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
24371 /* 67557 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24372 /* 67560 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24373 /* 67567 */ GIR_RootConstrainSelectedInstOperands,
24374 /* 67568 */ // GIR_Coverage, 798,
24375 /* 67568 */ GIR_EraseRootFromParent_Done,
24376 /* 67569 */ // Label 1574: @67569
24377 /* 67569 */ GIM_Try, /*On fail goto*//*Label 1575*/ GIMT_Encode4(67660), // Rule ID 670 //
24378 /* 67574 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24379 /* 67577 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24380 /* 67581 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24381 /* 67585 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
24382 /* 67589 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24383 /* 67593 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24384 /* 67597 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24385 /* 67601 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24386 /* 67605 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24387 /* 67608 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24388 /* 67612 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24389 /* 67616 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24390 /* 67620 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24391 /* 67624 */ // MIs[3] Operand 1
24392 /* 67624 */ // No operand predicates
24393 /* 67624 */ // MIs[0] src1
24394 /* 67624 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24395 /* 67629 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24396 /* 67631 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24397 /* 67638 */ // (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)
24398 /* 67638 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL16mi),
24399 /* 67641 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24400 /* 67645 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
24401 /* 67648 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24402 /* 67651 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24403 /* 67658 */ GIR_RootConstrainSelectedInstOperands,
24404 /* 67659 */ // GIR_Coverage, 670,
24405 /* 67659 */ GIR_EraseRootFromParent_Done,
24406 /* 67660 */ // Label 1575: @67660
24407 /* 67660 */ GIM_Try, /*On fail goto*//*Label 1576*/ GIMT_Encode4(67758), // Rule ID 22432 //
24408 /* 67665 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24409 /* 67668 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24410 /* 67675 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24411 /* 67679 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
24412 /* 67683 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24413 /* 67687 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24414 /* 67691 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24415 /* 67695 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24416 /* 67699 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24417 /* 67702 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24418 /* 67706 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24419 /* 67713 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24420 /* 67717 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24421 /* 67722 */ // MIs[0] dst
24422 /* 67722 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24423 /* 67727 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24424 /* 67729 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24425 /* 67736 */ // (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)
24426 /* 67736 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16mr),
24427 /* 67739 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24428 /* 67743 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
24429 /* 67747 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24430 /* 67750 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24431 /* 67756 */ GIR_RootConstrainSelectedInstOperands,
24432 /* 67757 */ // GIR_Coverage, 22432,
24433 /* 67757 */ GIR_EraseRootFromParent_Done,
24434 /* 67758 */ // Label 1576: @67758
24435 /* 67758 */ GIM_Try, /*On fail goto*//*Label 1577*/ GIMT_Encode4(67856), // Rule ID 26003 //
24436 /* 67763 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24437 /* 67766 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24438 /* 67773 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24439 /* 67777 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
24440 /* 67781 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24441 /* 67785 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24442 /* 67789 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24443 /* 67794 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
24444 /* 67798 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24445 /* 67802 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24446 /* 67805 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24447 /* 67809 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24448 /* 67816 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24449 /* 67820 */ // MIs[0] dst
24450 /* 67820 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24451 /* 67825 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24452 /* 67827 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24453 /* 67834 */ // (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)
24454 /* 67834 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16mr),
24455 /* 67837 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24456 /* 67841 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
24457 /* 67845 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24458 /* 67848 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24459 /* 67854 */ GIR_RootConstrainSelectedInstOperands,
24460 /* 67855 */ // GIR_Coverage, 26003,
24461 /* 67855 */ GIR_EraseRootFromParent_Done,
24462 /* 67856 */ // Label 1577: @67856
24463 /* 67856 */ GIM_Try, /*On fail goto*//*Label 1578*/ GIMT_Encode4(67954), // Rule ID 22440 //
24464 /* 67861 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24465 /* 67864 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24466 /* 67871 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24467 /* 67875 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
24468 /* 67879 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24469 /* 67883 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24470 /* 67887 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24471 /* 67891 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24472 /* 67895 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24473 /* 67898 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24474 /* 67902 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24475 /* 67909 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24476 /* 67913 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24477 /* 67918 */ // MIs[0] dst
24478 /* 67918 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24479 /* 67923 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24480 /* 67925 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24481 /* 67932 */ // (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)
24482 /* 67932 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16mr),
24483 /* 67935 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24484 /* 67939 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
24485 /* 67943 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24486 /* 67946 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24487 /* 67952 */ GIR_RootConstrainSelectedInstOperands,
24488 /* 67953 */ // GIR_Coverage, 22440,
24489 /* 67953 */ GIR_EraseRootFromParent_Done,
24490 /* 67954 */ // Label 1578: @67954
24491 /* 67954 */ GIM_Try, /*On fail goto*//*Label 1579*/ GIMT_Encode4(68052), // Rule ID 26007 //
24492 /* 67959 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24493 /* 67962 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24494 /* 67969 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24495 /* 67973 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
24496 /* 67977 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24497 /* 67981 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24498 /* 67985 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24499 /* 67990 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
24500 /* 67994 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24501 /* 67998 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24502 /* 68001 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24503 /* 68005 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24504 /* 68012 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24505 /* 68016 */ // MIs[0] dst
24506 /* 68016 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24507 /* 68021 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24508 /* 68023 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24509 /* 68030 */ // (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)
24510 /* 68030 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16mr),
24511 /* 68033 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24512 /* 68037 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
24513 /* 68041 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24514 /* 68044 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24515 /* 68050 */ GIR_RootConstrainSelectedInstOperands,
24516 /* 68051 */ // GIR_Coverage, 26007,
24517 /* 68051 */ GIR_EraseRootFromParent_Done,
24518 /* 68052 */ // Label 1579: @68052
24519 /* 68052 */ GIM_Try, /*On fail goto*//*Label 1580*/ GIMT_Encode4(68150), // Rule ID 22448 //
24520 /* 68057 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24521 /* 68060 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24522 /* 68067 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24523 /* 68071 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
24524 /* 68075 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24525 /* 68079 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24526 /* 68083 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24527 /* 68087 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24528 /* 68091 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24529 /* 68094 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24530 /* 68098 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24531 /* 68105 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24532 /* 68109 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24533 /* 68114 */ // MIs[0] dst
24534 /* 68114 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24535 /* 68119 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24536 /* 68121 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24537 /* 68128 */ // (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)
24538 /* 68128 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16mr),
24539 /* 68131 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24540 /* 68135 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
24541 /* 68139 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24542 /* 68142 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24543 /* 68148 */ GIR_RootConstrainSelectedInstOperands,
24544 /* 68149 */ // GIR_Coverage, 22448,
24545 /* 68149 */ GIR_EraseRootFromParent_Done,
24546 /* 68150 */ // Label 1580: @68150
24547 /* 68150 */ GIM_Try, /*On fail goto*//*Label 1581*/ GIMT_Encode4(68248), // Rule ID 26011 //
24548 /* 68155 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24549 /* 68158 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24550 /* 68165 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24551 /* 68169 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
24552 /* 68173 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24553 /* 68177 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24554 /* 68181 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24555 /* 68186 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
24556 /* 68190 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24557 /* 68194 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24558 /* 68197 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24559 /* 68201 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24560 /* 68208 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24561 /* 68212 */ // MIs[0] dst
24562 /* 68212 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24563 /* 68217 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24564 /* 68219 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24565 /* 68226 */ // (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)
24566 /* 68226 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16mr),
24567 /* 68229 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24568 /* 68233 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
24569 /* 68237 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24570 /* 68240 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24571 /* 68246 */ GIR_RootConstrainSelectedInstOperands,
24572 /* 68247 */ // GIR_Coverage, 26011,
24573 /* 68247 */ GIR_EraseRootFromParent_Done,
24574 /* 68248 */ // Label 1581: @68248
24575 /* 68248 */ GIM_Try, /*On fail goto*//*Label 1582*/ GIMT_Encode4(68346), // Rule ID 22464 //
24576 /* 68253 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24577 /* 68256 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24578 /* 68263 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24579 /* 68267 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
24580 /* 68271 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24581 /* 68275 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24582 /* 68279 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24583 /* 68283 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24584 /* 68287 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24585 /* 68290 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24586 /* 68294 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24587 /* 68301 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24588 /* 68305 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24589 /* 68310 */ // MIs[0] dst
24590 /* 68310 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24591 /* 68315 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24592 /* 68317 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24593 /* 68324 */ // (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)
24594 /* 68324 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16mr),
24595 /* 68327 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24596 /* 68331 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
24597 /* 68335 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24598 /* 68338 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24599 /* 68344 */ GIR_RootConstrainSelectedInstOperands,
24600 /* 68345 */ // GIR_Coverage, 22464,
24601 /* 68345 */ GIR_EraseRootFromParent_Done,
24602 /* 68346 */ // Label 1582: @68346
24603 /* 68346 */ GIM_Try, /*On fail goto*//*Label 1583*/ GIMT_Encode4(68444), // Rule ID 22456 //
24604 /* 68351 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24605 /* 68354 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24606 /* 68361 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24607 /* 68365 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
24608 /* 68369 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24609 /* 68373 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24610 /* 68377 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24611 /* 68381 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24612 /* 68385 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24613 /* 68388 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24614 /* 68392 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24615 /* 68399 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24616 /* 68403 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24617 /* 68408 */ // MIs[0] dst
24618 /* 68408 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24619 /* 68413 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24620 /* 68415 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24621 /* 68422 */ // (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)
24622 /* 68422 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16mr),
24623 /* 68425 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24624 /* 68429 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
24625 /* 68433 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24626 /* 68436 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24627 /* 68442 */ GIR_RootConstrainSelectedInstOperands,
24628 /* 68443 */ // GIR_Coverage, 22456,
24629 /* 68443 */ GIR_EraseRootFromParent_Done,
24630 /* 68444 */ // Label 1583: @68444
24631 /* 68444 */ GIM_Try, /*On fail goto*//*Label 1584*/ GIMT_Encode4(68542), // Rule ID 26015 //
24632 /* 68449 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24633 /* 68452 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24634 /* 68459 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24635 /* 68463 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
24636 /* 68467 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24637 /* 68471 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24638 /* 68475 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24639 /* 68480 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
24640 /* 68484 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24641 /* 68488 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24642 /* 68491 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24643 /* 68495 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24644 /* 68502 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24645 /* 68506 */ // MIs[0] dst
24646 /* 68506 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24647 /* 68511 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24648 /* 68513 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24649 /* 68520 */ // (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)
24650 /* 68520 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16mr),
24651 /* 68523 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24652 /* 68527 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
24653 /* 68531 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24654 /* 68534 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24655 /* 68540 */ GIR_RootConstrainSelectedInstOperands,
24656 /* 68541 */ // GIR_Coverage, 26015,
24657 /* 68541 */ GIR_EraseRootFromParent_Done,
24658 /* 68542 */ // Label 1584: @68542
24659 /* 68542 */ GIM_Try, /*On fail goto*//*Label 1585*/ GIMT_Encode4(68630), // Rule ID 410 //
24660 /* 68547 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24661 /* 68550 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24662 /* 68554 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24663 /* 68558 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
24664 /* 68562 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24665 /* 68566 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24666 /* 68570 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24667 /* 68574 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24668 /* 68578 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24669 /* 68581 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24670 /* 68585 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24671 /* 68589 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24672 /* 68594 */ // MIs[0] src1
24673 /* 68594 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24674 /* 68599 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24675 /* 68601 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24676 /* 68608 */ // (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)
24677 /* 68608 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16mr),
24678 /* 68611 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24679 /* 68615 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
24680 /* 68619 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24681 /* 68622 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24682 /* 68628 */ GIR_RootConstrainSelectedInstOperands,
24683 /* 68629 */ // GIR_Coverage, 410,
24684 /* 68629 */ GIR_EraseRootFromParent_Done,
24685 /* 68630 */ // Label 1585: @68630
24686 /* 68630 */ GIM_Try, /*On fail goto*//*Label 1586*/ GIMT_Encode4(68718), // Rule ID 23223 //
24687 /* 68635 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24688 /* 68638 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24689 /* 68642 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24690 /* 68646 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
24691 /* 68650 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24692 /* 68654 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24693 /* 68658 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24694 /* 68663 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
24695 /* 68667 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24696 /* 68671 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24697 /* 68674 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24698 /* 68678 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24699 /* 68682 */ // MIs[0] src1
24700 /* 68682 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24701 /* 68687 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24702 /* 68689 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24703 /* 68696 */ // (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)
24704 /* 68696 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16mr),
24705 /* 68699 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24706 /* 68703 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
24707 /* 68707 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24708 /* 68710 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24709 /* 68716 */ GIR_RootConstrainSelectedInstOperands,
24710 /* 68717 */ // GIR_Coverage, 23223,
24711 /* 68717 */ GIR_EraseRootFromParent_Done,
24712 /* 68718 */ // Label 1586: @68718
24713 /* 68718 */ GIM_Try, /*On fail goto*//*Label 1587*/ GIMT_Encode4(68806), // Rule ID 302 //
24714 /* 68723 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24715 /* 68726 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24716 /* 68730 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24717 /* 68734 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
24718 /* 68738 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24719 /* 68742 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24720 /* 68746 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24721 /* 68750 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24722 /* 68754 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24723 /* 68757 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24724 /* 68761 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24725 /* 68765 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24726 /* 68770 */ // MIs[0] src1
24727 /* 68770 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24728 /* 68775 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24729 /* 68777 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24730 /* 68784 */ // (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)
24731 /* 68784 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16mr),
24732 /* 68787 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24733 /* 68791 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
24734 /* 68795 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24735 /* 68798 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24736 /* 68804 */ GIR_RootConstrainSelectedInstOperands,
24737 /* 68805 */ // GIR_Coverage, 302,
24738 /* 68805 */ GIR_EraseRootFromParent_Done,
24739 /* 68806 */ // Label 1587: @68806
24740 /* 68806 */ GIM_Try, /*On fail goto*//*Label 1588*/ GIMT_Encode4(68894), // Rule ID 23187 //
24741 /* 68811 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24742 /* 68814 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24743 /* 68818 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24744 /* 68822 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
24745 /* 68826 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24746 /* 68830 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24747 /* 68834 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24748 /* 68839 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
24749 /* 68843 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24750 /* 68847 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24751 /* 68850 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24752 /* 68854 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24753 /* 68858 */ // MIs[0] src1
24754 /* 68858 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24755 /* 68863 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24756 /* 68865 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24757 /* 68872 */ // (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)
24758 /* 68872 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16mr),
24759 /* 68875 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24760 /* 68879 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
24761 /* 68883 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24762 /* 68886 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24763 /* 68892 */ GIR_RootConstrainSelectedInstOperands,
24764 /* 68893 */ // GIR_Coverage, 23187,
24765 /* 68893 */ GIR_EraseRootFromParent_Done,
24766 /* 68894 */ // Label 1588: @68894
24767 /* 68894 */ GIM_Try, /*On fail goto*//*Label 1589*/ GIMT_Encode4(68992), // Rule ID 750 //
24768 /* 68899 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24769 /* 68902 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24770 /* 68906 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24771 /* 68910 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
24772 /* 68914 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24773 /* 68918 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24774 /* 68922 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24775 /* 68926 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24776 /* 68930 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24777 /* 68933 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24778 /* 68937 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24779 /* 68941 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
24780 /* 68946 */ // MIs[0] src1
24781 /* 68946 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24782 /* 68951 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24783 /* 68953 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24784 /* 68960 */ // (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)
24785 /* 68960 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24786 /* 68964 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
24787 /* 68970 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
24788 /* 68974 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR16mCL),
24789 /* 68977 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24790 /* 68981 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24791 /* 68984 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24792 /* 68990 */ GIR_RootConstrainSelectedInstOperands,
24793 /* 68991 */ // GIR_Coverage, 750,
24794 /* 68991 */ GIR_EraseRootFromParent_Done,
24795 /* 68992 */ // Label 1589: @68992
24796 /* 68992 */ GIM_Try, /*On fail goto*//*Label 1590*/ GIMT_Encode4(69090), // Rule ID 718 //
24797 /* 68997 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24798 /* 69000 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24799 /* 69004 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24800 /* 69008 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
24801 /* 69012 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24802 /* 69016 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24803 /* 69020 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24804 /* 69024 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24805 /* 69028 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24806 /* 69031 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24807 /* 69035 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24808 /* 69039 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
24809 /* 69044 */ // MIs[0] src1
24810 /* 69044 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24811 /* 69049 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24812 /* 69051 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24813 /* 69058 */ // (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)
24814 /* 69058 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24815 /* 69062 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
24816 /* 69068 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
24817 /* 69072 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR16mCL),
24818 /* 69075 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24819 /* 69079 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24820 /* 69082 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24821 /* 69088 */ GIR_RootConstrainSelectedInstOperands,
24822 /* 69089 */ // GIR_Coverage, 718,
24823 /* 69089 */ GIR_EraseRootFromParent_Done,
24824 /* 69090 */ // Label 1590: @69090
24825 /* 69090 */ GIM_Try, /*On fail goto*//*Label 1591*/ GIMT_Encode4(69178), // Rule ID 338 //
24826 /* 69095 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24827 /* 69098 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24828 /* 69102 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24829 /* 69106 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
24830 /* 69110 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24831 /* 69114 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24832 /* 69118 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24833 /* 69122 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24834 /* 69126 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24835 /* 69129 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24836 /* 69133 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24837 /* 69137 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24838 /* 69142 */ // MIs[0] src1
24839 /* 69142 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24840 /* 69147 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24841 /* 69149 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24842 /* 69156 */ // (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)
24843 /* 69156 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16mr),
24844 /* 69159 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24845 /* 69163 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
24846 /* 69167 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24847 /* 69170 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24848 /* 69176 */ GIR_RootConstrainSelectedInstOperands,
24849 /* 69177 */ // GIR_Coverage, 338,
24850 /* 69177 */ GIR_EraseRootFromParent_Done,
24851 /* 69178 */ // Label 1591: @69178
24852 /* 69178 */ GIM_Try, /*On fail goto*//*Label 1592*/ GIMT_Encode4(69266), // Rule ID 23199 //
24853 /* 69183 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24854 /* 69186 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24855 /* 69190 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24856 /* 69194 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
24857 /* 69198 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24858 /* 69202 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24859 /* 69206 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24860 /* 69211 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
24861 /* 69215 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24862 /* 69219 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24863 /* 69222 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24864 /* 69226 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24865 /* 69230 */ // MIs[0] src1
24866 /* 69230 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24867 /* 69235 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24868 /* 69237 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24869 /* 69244 */ // (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)
24870 /* 69244 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16mr),
24871 /* 69247 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24872 /* 69251 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
24873 /* 69255 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24874 /* 69258 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24875 /* 69264 */ GIR_RootConstrainSelectedInstOperands,
24876 /* 69265 */ // GIR_Coverage, 23199,
24877 /* 69265 */ GIR_EraseRootFromParent_Done,
24878 /* 69266 */ // Label 1592: @69266
24879 /* 69266 */ GIM_Try, /*On fail goto*//*Label 1593*/ GIMT_Encode4(69364), // Rule ID 782 //
24880 /* 69271 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24881 /* 69274 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24882 /* 69278 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24883 /* 69282 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
24884 /* 69286 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24885 /* 69290 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24886 /* 69294 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24887 /* 69298 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24888 /* 69302 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24889 /* 69305 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24890 /* 69309 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24891 /* 69313 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
24892 /* 69318 */ // MIs[0] src1
24893 /* 69318 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24894 /* 69323 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24895 /* 69325 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24896 /* 69332 */ // (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)
24897 /* 69332 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24898 /* 69336 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
24899 /* 69342 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
24900 /* 69346 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16mCL),
24901 /* 69349 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24902 /* 69353 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24903 /* 69356 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24904 /* 69362 */ GIR_RootConstrainSelectedInstOperands,
24905 /* 69363 */ // GIR_Coverage, 782,
24906 /* 69363 */ GIR_EraseRootFromParent_Done,
24907 /* 69364 */ // Label 1593: @69364
24908 /* 69364 */ GIM_Try, /*On fail goto*//*Label 1594*/ GIMT_Encode4(69462), // Rule ID 814 //
24909 /* 69369 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24910 /* 69372 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24911 /* 69376 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24912 /* 69380 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
24913 /* 69384 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24914 /* 69388 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24915 /* 69392 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24916 /* 69396 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24917 /* 69400 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24918 /* 69403 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24919 /* 69407 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24920 /* 69411 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
24921 /* 69416 */ // MIs[0] src1
24922 /* 69416 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24923 /* 69421 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24924 /* 69423 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24925 /* 69430 */ // (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)
24926 /* 69430 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24927 /* 69434 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
24928 /* 69440 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
24929 /* 69444 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16mCL),
24930 /* 69447 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24931 /* 69451 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24932 /* 69454 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24933 /* 69460 */ GIR_RootConstrainSelectedInstOperands,
24934 /* 69461 */ // GIR_Coverage, 814,
24935 /* 69461 */ GIR_EraseRootFromParent_Done,
24936 /* 69462 */ // Label 1594: @69462
24937 /* 69462 */ GIM_Try, /*On fail goto*//*Label 1595*/ GIMT_Encode4(69560), // Rule ID 686 //
24938 /* 69467 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24939 /* 69470 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24940 /* 69474 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24941 /* 69478 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
24942 /* 69482 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24943 /* 69486 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24944 /* 69490 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24945 /* 69494 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24946 /* 69498 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24947 /* 69501 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24948 /* 69505 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24949 /* 69509 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
24950 /* 69514 */ // MIs[0] src1
24951 /* 69514 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24952 /* 69519 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24953 /* 69521 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24954 /* 69528 */ // (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)
24955 /* 69528 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24956 /* 69532 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
24957 /* 69538 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
24958 /* 69542 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL16mCL),
24959 /* 69545 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24960 /* 69549 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24961 /* 69552 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24962 /* 69558 */ GIR_RootConstrainSelectedInstOperands,
24963 /* 69559 */ // GIR_Coverage, 686,
24964 /* 69559 */ GIR_EraseRootFromParent_Done,
24965 /* 69560 */ // Label 1595: @69560
24966 /* 69560 */ GIM_Try, /*On fail goto*//*Label 1596*/ GIMT_Encode4(69648), // Rule ID 446 //
24967 /* 69565 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24968 /* 69568 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24969 /* 69572 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24970 /* 69576 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
24971 /* 69580 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24972 /* 69584 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24973 /* 69588 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24974 /* 69592 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24975 /* 69596 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24976 /* 69599 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24977 /* 69603 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24978 /* 69607 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24979 /* 69612 */ // MIs[0] src1
24980 /* 69612 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24981 /* 69617 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24982 /* 69619 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24983 /* 69626 */ // (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)
24984 /* 69626 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16mr),
24985 /* 69629 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24986 /* 69633 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
24987 /* 69637 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24988 /* 69640 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24989 /* 69646 */ GIR_RootConstrainSelectedInstOperands,
24990 /* 69647 */ // GIR_Coverage, 446,
24991 /* 69647 */ GIR_EraseRootFromParent_Done,
24992 /* 69648 */ // Label 1596: @69648
24993 /* 69648 */ GIM_Try, /*On fail goto*//*Label 1597*/ GIMT_Encode4(69736), // Rule ID 374 //
24994 /* 69653 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24995 /* 69656 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24996 /* 69660 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24997 /* 69664 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
24998 /* 69668 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24999 /* 69672 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
25000 /* 69676 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25001 /* 69680 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25002 /* 69684 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25003 /* 69687 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25004 /* 69691 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25005 /* 69695 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
25006 /* 69700 */ // MIs[0] src1
25007 /* 69700 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25008 /* 69705 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25009 /* 69707 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25010 /* 69714 */ // (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)
25011 /* 69714 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16mr),
25012 /* 69717 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25013 /* 69721 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
25014 /* 69725 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25015 /* 69728 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25016 /* 69734 */ GIR_RootConstrainSelectedInstOperands,
25017 /* 69735 */ // GIR_Coverage, 374,
25018 /* 69735 */ GIR_EraseRootFromParent_Done,
25019 /* 69736 */ // Label 1597: @69736
25020 /* 69736 */ GIM_Try, /*On fail goto*//*Label 1598*/ GIMT_Encode4(69824), // Rule ID 23211 //
25021 /* 69741 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25022 /* 69744 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25023 /* 69748 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25024 /* 69752 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
25025 /* 69756 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
25026 /* 69760 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
25027 /* 69764 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
25028 /* 69769 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25029 /* 69773 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25030 /* 69777 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25031 /* 69780 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25032 /* 69784 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25033 /* 69788 */ // MIs[0] src1
25034 /* 69788 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25035 /* 69793 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25036 /* 69795 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25037 /* 69802 */ // (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)
25038 /* 69802 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16mr),
25039 /* 69805 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25040 /* 69809 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
25041 /* 69813 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25042 /* 69816 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25043 /* 69822 */ GIR_RootConstrainSelectedInstOperands,
25044 /* 69823 */ // GIR_Coverage, 23211,
25045 /* 69823 */ GIR_EraseRootFromParent_Done,
25046 /* 69824 */ // Label 1598: @69824
25047 /* 69824 */ GIM_Try, /*On fail goto*//*Label 1599*/ GIMT_Encode4(69878), // Rule ID 25 //
25048 /* 69829 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25049 /* 69832 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25050 /* 69836 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25051 /* 69840 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25052 /* 69844 */ // MIs[1] Operand 1
25053 /* 69844 */ // No operand predicates
25054 /* 69844 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
25055 /* 69848 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
25056 /* 69852 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25057 /* 69854 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25058 /* 69861 */ // (st (imm:{ *:[i16] })<<P:Predicate_imm_su>>:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV16mi addr:{ *:[iPTR] }:$dst, (imm:{ *:[i16] }):$src)
25059 /* 69861 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16mi),
25060 /* 69864 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25061 /* 69868 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
25062 /* 69871 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
25063 /* 69876 */ GIR_RootConstrainSelectedInstOperands,
25064 /* 69877 */ // GIR_Coverage, 25,
25065 /* 69877 */ GIR_EraseRootFromParent_Done,
25066 /* 69878 */ // Label 1599: @69878
25067 /* 69878 */ GIM_Try, /*On fail goto*//*Label 1600*/ GIMT_Encode4(69931), // Rule ID 22508 //
25068 /* 69883 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25069 /* 69886 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
25070 /* 69893 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25071 /* 69897 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25072 /* 69901 */ // MIs[1] Operand 1
25073 /* 69901 */ // No operand predicates
25074 /* 69901 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
25075 /* 69905 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25076 /* 69907 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25077 /* 69914 */ // (atomic_store (imm:{ *:[i16] }):$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_16>> => (MOV16mi addr:{ *:[iPTR] }:$dst, (imm:{ *:[i16] }):$src)
25078 /* 69914 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16mi),
25079 /* 69917 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25080 /* 69921 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
25081 /* 69924 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
25082 /* 69929 */ GIR_RootConstrainSelectedInstOperands,
25083 /* 69930 */ // GIR_Coverage, 22508,
25084 /* 69930 */ GIR_EraseRootFromParent_Done,
25085 /* 69931 */ // Label 1600: @69931
25086 /* 69931 */ GIM_Try, /*On fail goto*//*Label 1601*/ GIMT_Encode4(69994), // Rule ID 50 //
25087 /* 69936 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVBE_NoEGPR),
25088 /* 69939 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25089 /* 69942 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25090 /* 69946 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25091 /* 69950 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BSWAP),
25092 /* 69954 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
25093 /* 69958 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
25094 /* 69963 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
25095 /* 69967 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25096 /* 69969 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25097 /* 69976 */ // (st (bswap:{ *:[i16] } GR16:{ *:[i16] }:$src1), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVBE16mr addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src1)
25098 /* 69976 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE16mr),
25099 /* 69979 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25100 /* 69983 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
25101 /* 69987 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
25102 /* 69992 */ GIR_RootConstrainSelectedInstOperands,
25103 /* 69993 */ // GIR_Coverage, 50,
25104 /* 69993 */ GIR_EraseRootFromParent_Done,
25105 /* 69994 */ // Label 1601: @69994
25106 /* 69994 */ GIM_Try, /*On fail goto*//*Label 1602*/ GIMT_Encode4(70057), // Rule ID 56 //
25107 /* 69999 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVBE_In64BitMode),
25108 /* 70002 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25109 /* 70005 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25110 /* 70009 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25111 /* 70013 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BSWAP),
25112 /* 70017 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
25113 /* 70021 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
25114 /* 70026 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
25115 /* 70030 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25116 /* 70032 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25117 /* 70039 */ // (st (bswap:{ *:[i16] } GR16:{ *:[i16] }:$src1), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVBE16mr_EVEX addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src1)
25118 /* 70039 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE16mr_EVEX),
25119 /* 70042 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25120 /* 70046 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
25121 /* 70050 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
25122 /* 70055 */ GIR_RootConstrainSelectedInstOperands,
25123 /* 70056 */ // GIR_Coverage, 56,
25124 /* 70056 */ GIR_EraseRootFromParent_Done,
25125 /* 70057 */ // Label 1602: @70057
25126 /* 70057 */ GIM_Try, /*On fail goto*//*Label 1603*/ GIMT_Encode4(70102), // Rule ID 22512 //
25127 /* 70062 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25128 /* 70065 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
25129 /* 70072 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
25130 /* 70076 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
25131 /* 70080 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25132 /* 70087 */ // (atomic_store GR16:{ *:[i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_16>> => (MOV16mr addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src)
25133 /* 70087 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16mr),
25134 /* 70090 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25135 /* 70094 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
25136 /* 70096 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
25137 /* 70100 */ GIR_RootConstrainSelectedInstOperands,
25138 /* 70101 */ // GIR_Coverage, 22512,
25139 /* 70101 */ GIR_EraseRootFromParent_Done,
25140 /* 70102 */ // Label 1603: @70102
25141 /* 70102 */ GIM_Try, /*On fail goto*//*Label 1604*/ GIMT_Encode4(70144), // Rule ID 33 //
25142 /* 70107 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25143 /* 70110 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25144 /* 70114 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
25145 /* 70118 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
25146 /* 70122 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25147 /* 70129 */ // (st GR16:{ *:[i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV16mr addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src)
25148 /* 70129 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16mr),
25149 /* 70132 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25150 /* 70136 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
25151 /* 70138 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
25152 /* 70142 */ GIR_RootConstrainSelectedInstOperands,
25153 /* 70143 */ // GIR_Coverage, 33,
25154 /* 70143 */ GIR_EraseRootFromParent_Done,
25155 /* 70144 */ // Label 1604: @70144
25156 /* 70144 */ GIM_Try, /*On fail goto*//*Label 1605*/ GIMT_Encode4(70189), // Rule ID 4622 //
25157 /* 70149 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
25158 /* 70152 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25159 /* 70155 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25160 /* 70159 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
25161 /* 70163 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
25162 /* 70167 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25163 /* 70174 */ // (st FR16X:{ *:[f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVSHZmr addr:{ *:[iPTR] }:$dst, FR16X:{ *:[f16] }:$src)
25164 /* 70174 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSHZmr),
25165 /* 70177 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25166 /* 70181 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
25167 /* 70183 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
25168 /* 70187 */ GIR_RootConstrainSelectedInstOperands,
25169 /* 70188 */ // GIR_Coverage, 4622,
25170 /* 70188 */ GIR_EraseRootFromParent_Done,
25171 /* 70189 */ // Label 1605: @70189
25172 /* 70189 */ GIM_Try, /*On fail goto*//*Label 1606*/ GIMT_Encode4(70255), // Rule ID 18547 //
25173 /* 70194 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
25174 /* 70197 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25175 /* 70200 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25176 /* 70204 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
25177 /* 70208 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25178 /* 70215 */ // (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] })
25179 /* 70215 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
25180 /* 70218 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
25181 /* 70222 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
25182 /* 70227 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/0, // src
25183 /* 70231 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR128RegClassID),
25184 /* 70236 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PEXTRWmri),
25185 /* 70239 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25186 /* 70243 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
25187 /* 70246 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
25188 /* 70249 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
25189 /* 70253 */ GIR_RootConstrainSelectedInstOperands,
25190 /* 70254 */ // GIR_Coverage, 18547,
25191 /* 70254 */ GIR_EraseRootFromParent_Done,
25192 /* 70255 */ // Label 1606: @70255
25193 /* 70255 */ GIM_Try, /*On fail goto*//*Label 1607*/ GIMT_Encode4(70321), // Rule ID 18548 //
25194 /* 70260 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoBWI),
25195 /* 70263 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25196 /* 70266 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25197 /* 70270 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
25198 /* 70274 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25199 /* 70281 */ // (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] })
25200 /* 70281 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
25201 /* 70284 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
25202 /* 70288 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
25203 /* 70293 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/0, // src
25204 /* 70297 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR128RegClassID),
25205 /* 70302 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPEXTRWmri),
25206 /* 70305 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25207 /* 70309 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
25208 /* 70312 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
25209 /* 70315 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
25210 /* 70319 */ GIR_RootConstrainSelectedInstOperands,
25211 /* 70320 */ // GIR_Coverage, 18548,
25212 /* 70320 */ GIR_EraseRootFromParent_Done,
25213 /* 70321 */ // Label 1607: @70321
25214 /* 70321 */ GIM_Try, /*On fail goto*//*Label 1608*/ GIMT_Encode4(70433), // Rule ID 18336 //
25215 /* 70326 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
25216 /* 70329 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25217 /* 70332 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25218 /* 70336 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
25219 /* 70340 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25220 /* 70347 */ // (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] }))
25221 /* 70347 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s16,
25222 /* 70350 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
25223 /* 70354 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
25224 /* 70359 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/0, // src
25225 /* 70363 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR128RegClassID),
25226 /* 70368 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
25227 /* 70371 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(X86::PEXTRWrri),
25228 /* 70375 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
25229 /* 70380 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
25230 /* 70383 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/0,
25231 /* 70386 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
25232 /* 70388 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
25233 /* 70391 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
25234 /* 70395 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
25235 /* 70400 */ GIR_AddTempSubRegister, /*InsnID*/1, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
25236 /* 70407 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
25237 /* 70412 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
25238 /* 70417 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16mr),
25239 /* 70420 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25240 /* 70424 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
25241 /* 70427 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
25242 /* 70431 */ GIR_RootConstrainSelectedInstOperands,
25243 /* 70432 */ // GIR_Coverage, 18336,
25244 /* 70432 */ GIR_EraseRootFromParent_Done,
25245 /* 70433 */ // Label 1608: @70433
25246 /* 70433 */ GIM_Try, /*On fail goto*//*Label 1609*/ GIMT_Encode4(70499), // Rule ID 21840 //
25247 /* 70438 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
25248 /* 70441 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25249 /* 70444 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25250 /* 70448 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
25251 /* 70452 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25252 /* 70459 */ // (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] })
25253 /* 70459 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
25254 /* 70462 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
25255 /* 70466 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
25256 /* 70471 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/0, // src
25257 /* 70475 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR128RegClassID),
25258 /* 70480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPEXTRWZmri),
25259 /* 70483 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25260 /* 70487 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
25261 /* 70490 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
25262 /* 70493 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
25263 /* 70497 */ GIR_RootConstrainSelectedInstOperands,
25264 /* 70498 */ // GIR_Coverage, 21840,
25265 /* 70498 */ GIR_EraseRootFromParent_Done,
25266 /* 70499 */ // Label 1609: @70499
25267 /* 70499 */ GIM_Reject,
25268 /* 70500 */ // Label 1477: @70500
25269 /* 70500 */ GIM_Try, /*On fail goto*//*Label 1610*/ GIMT_Encode4(70596), // Rule ID 22493 //
25270 /* 70505 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
25271 /* 70508 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25272 /* 70511 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25273 /* 70518 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25274 /* 70522 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
25275 /* 70526 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25276 /* 70530 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25277 /* 70534 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25278 /* 70538 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25279 /* 70542 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25280 /* 70545 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25281 /* 70549 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25282 /* 70556 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25283 /* 70560 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
25284 /* 70564 */ // MIs[0] dst
25285 /* 70564 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25286 /* 70569 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25287 /* 70571 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25288 /* 70578 */ // (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)
25289 /* 70578 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC32m),
25290 /* 70581 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25291 /* 70585 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25292 /* 70588 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25293 /* 70594 */ GIR_RootConstrainSelectedInstOperands,
25294 /* 70595 */ // GIR_Coverage, 22493,
25295 /* 70595 */ GIR_EraseRootFromParent_Done,
25296 /* 70596 */ // Label 1610: @70596
25297 /* 70596 */ GIM_Try, /*On fail goto*//*Label 1611*/ GIMT_Encode4(70692), // Rule ID 22497 //
25298 /* 70601 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
25299 /* 70604 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25300 /* 70607 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25301 /* 70614 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25302 /* 70618 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
25303 /* 70622 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25304 /* 70626 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25305 /* 70630 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25306 /* 70634 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25307 /* 70638 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25308 /* 70641 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25309 /* 70645 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25310 /* 70652 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25311 /* 70656 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
25312 /* 70660 */ // MIs[0] dst
25313 /* 70660 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25314 /* 70665 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25315 /* 70667 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25316 /* 70674 */ // (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)
25317 /* 70674 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC32m),
25318 /* 70677 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25319 /* 70681 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25320 /* 70684 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25321 /* 70690 */ GIR_RootConstrainSelectedInstOperands,
25322 /* 70691 */ // GIR_Coverage, 22497,
25323 /* 70691 */ GIR_EraseRootFromParent_Done,
25324 /* 70692 */ // Label 1611: @70692
25325 /* 70692 */ GIM_Try, /*On fail goto*//*Label 1612*/ GIMT_Encode4(70785), // Rule ID 22501 //
25326 /* 70697 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25327 /* 70700 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25328 /* 70707 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25329 /* 70711 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
25330 /* 70715 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25331 /* 70719 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25332 /* 70723 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
25333 /* 70727 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25334 /* 70731 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25335 /* 70735 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25336 /* 70738 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25337 /* 70742 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25338 /* 70749 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25339 /* 70753 */ // MIs[0] dst
25340 /* 70753 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25341 /* 70758 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25342 /* 70760 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25343 /* 70767 */ // (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)
25344 /* 70767 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG32m),
25345 /* 70770 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25346 /* 70774 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25347 /* 70777 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25348 /* 70783 */ GIR_RootConstrainSelectedInstOperands,
25349 /* 70784 */ // GIR_Coverage, 22501,
25350 /* 70784 */ GIR_EraseRootFromParent_Done,
25351 /* 70785 */ // Label 1612: @70785
25352 /* 70785 */ GIM_Try, /*On fail goto*//*Label 1613*/ GIMT_Encode4(70875), // Rule ID 22505 //
25353 /* 70790 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25354 /* 70793 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25355 /* 70800 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25356 /* 70804 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
25357 /* 70808 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25358 /* 70812 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25359 /* 70816 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25360 /* 70820 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25361 /* 70824 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25362 /* 70827 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25363 /* 70831 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25364 /* 70838 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25365 /* 70842 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
25366 /* 70846 */ // MIs[0] dst
25367 /* 70846 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25368 /* 70851 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25369 /* 70853 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25370 /* 70860 */ // (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)
25371 /* 70860 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT32m),
25372 /* 70863 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25373 /* 70867 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25374 /* 70873 */ GIR_RootConstrainSelectedInstOperands,
25375 /* 70874 */ // GIR_Coverage, 22505,
25376 /* 70874 */ GIR_EraseRootFromParent_Done,
25377 /* 70875 */ // Label 1613: @70875
25378 /* 70875 */ GIM_Try, /*On fail goto*//*Label 1614*/ GIMT_Encode4(70961), // Rule ID 227 //
25379 /* 70880 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
25380 /* 70883 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25381 /* 70886 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25382 /* 70890 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25383 /* 70894 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
25384 /* 70898 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25385 /* 70902 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25386 /* 70906 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25387 /* 70910 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25388 /* 70914 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25389 /* 70917 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25390 /* 70921 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25391 /* 70925 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
25392 /* 70929 */ // MIs[0] src1
25393 /* 70929 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25394 /* 70934 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25395 /* 70936 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25396 /* 70943 */ // (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)
25397 /* 70943 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC32m),
25398 /* 70946 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25399 /* 70950 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25400 /* 70953 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25401 /* 70959 */ GIR_RootConstrainSelectedInstOperands,
25402 /* 70960 */ // GIR_Coverage, 227,
25403 /* 70960 */ GIR_EraseRootFromParent_Done,
25404 /* 70961 */ // Label 1614: @70961
25405 /* 70961 */ GIM_Try, /*On fail goto*//*Label 1615*/ GIMT_Encode4(71047), // Rule ID 230 //
25406 /* 70966 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
25407 /* 70969 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25408 /* 70972 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25409 /* 70976 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25410 /* 70980 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
25411 /* 70984 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25412 /* 70988 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25413 /* 70992 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25414 /* 70996 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25415 /* 71000 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25416 /* 71003 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25417 /* 71007 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25418 /* 71011 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
25419 /* 71015 */ // MIs[0] src1
25420 /* 71015 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25421 /* 71020 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25422 /* 71022 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25423 /* 71029 */ // (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)
25424 /* 71029 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC32m),
25425 /* 71032 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25426 /* 71036 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25427 /* 71039 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25428 /* 71045 */ GIR_RootConstrainSelectedInstOperands,
25429 /* 71046 */ // GIR_Coverage, 230,
25430 /* 71046 */ GIR_EraseRootFromParent_Done,
25431 /* 71047 */ // Label 1615: @71047
25432 /* 71047 */ GIM_Try, /*On fail goto*//*Label 1616*/ GIMT_Encode4(71140), // Rule ID 22615 //
25433 /* 71052 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25434 /* 71055 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25435 /* 71059 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25436 /* 71063 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
25437 /* 71067 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25438 /* 71071 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25439 /* 71075 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25440 /* 71079 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25441 /* 71083 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25442 /* 71086 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25443 /* 71090 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25444 /* 71094 */ GIM_CheckConstantInt, /*MI*/1, /*Op*/2, GIMT_Encode8(128),
25445 /* 71105 */ // MIs[0] dst
25446 /* 71105 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25447 /* 71110 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25448 /* 71112 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25449 /* 71119 */ // (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] })
25450 /* 71119 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32mi),
25451 /* 71122 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25452 /* 71126 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/uint8_t(-128),
25453 /* 71129 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25454 /* 71132 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25455 /* 71138 */ GIR_RootConstrainSelectedInstOperands,
25456 /* 71139 */ // GIR_Coverage, 22615,
25457 /* 71139 */ GIR_EraseRootFromParent_Done,
25458 /* 71140 */ // Label 1616: @71140
25459 /* 71140 */ GIM_Try, /*On fail goto*//*Label 1617*/ GIMT_Encode4(71223), // Rule ID 17614 //
25460 /* 71145 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25461 /* 71148 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25462 /* 71152 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25463 /* 71156 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
25464 /* 71160 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25465 /* 71164 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25466 /* 71168 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25467 /* 71172 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25468 /* 71176 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25469 /* 71179 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25470 /* 71183 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25471 /* 71187 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 31,
25472 /* 71191 */ // MIs[0] dst
25473 /* 71191 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25474 /* 71196 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25475 /* 71198 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25476 /* 71205 */ // (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)
25477 /* 71205 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32m1),
25478 /* 71208 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25479 /* 71212 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25480 /* 71215 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25481 /* 71221 */ GIR_RootConstrainSelectedInstOperands,
25482 /* 71222 */ // GIR_Coverage, 17614,
25483 /* 71222 */ GIR_EraseRootFromParent_Done,
25484 /* 71223 */ // Label 1617: @71223
25485 /* 71223 */ GIM_Try, /*On fail goto*//*Label 1618*/ GIMT_Encode4(71306), // Rule ID 17618 //
25486 /* 71228 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25487 /* 71231 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25488 /* 71235 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25489 /* 71239 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
25490 /* 71243 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25491 /* 71247 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25492 /* 71251 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25493 /* 71255 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25494 /* 71259 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25495 /* 71262 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25496 /* 71266 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25497 /* 71270 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 31,
25498 /* 71274 */ // MIs[0] dst
25499 /* 71274 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25500 /* 71279 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25501 /* 71281 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25502 /* 71288 */ // (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)
25503 /* 71288 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32m1),
25504 /* 71291 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25505 /* 71295 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25506 /* 71298 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25507 /* 71304 */ GIR_RootConstrainSelectedInstOperands,
25508 /* 71305 */ // GIR_Coverage, 17618,
25509 /* 71305 */ GIR_EraseRootFromParent_Done,
25510 /* 71306 */ // Label 1618: @71306
25511 /* 71306 */ GIM_Try, /*On fail goto*//*Label 1619*/ GIMT_Encode4(71389), // Rule ID 263 //
25512 /* 71311 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25513 /* 71314 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25514 /* 71318 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25515 /* 71322 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
25516 /* 71326 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25517 /* 71330 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25518 /* 71334 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
25519 /* 71338 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25520 /* 71342 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25521 /* 71346 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25522 /* 71349 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25523 /* 71353 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25524 /* 71357 */ // MIs[0] src1
25525 /* 71357 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25526 /* 71362 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25527 /* 71364 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25528 /* 71371 */ // (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)
25529 /* 71371 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG32m),
25530 /* 71374 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25531 /* 71378 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25532 /* 71381 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25533 /* 71387 */ GIR_RootConstrainSelectedInstOperands,
25534 /* 71388 */ // GIR_Coverage, 263,
25535 /* 71388 */ GIR_EraseRootFromParent_Done,
25536 /* 71389 */ // Label 1619: @71389
25537 /* 71389 */ GIM_Try, /*On fail goto*//*Label 1620*/ GIMT_Encode4(71469), // Rule ID 271 //
25538 /* 71394 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25539 /* 71397 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25540 /* 71401 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25541 /* 71405 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
25542 /* 71409 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25543 /* 71413 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25544 /* 71417 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25545 /* 71421 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25546 /* 71425 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25547 /* 71428 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25548 /* 71432 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25549 /* 71436 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
25550 /* 71440 */ // MIs[0] src1
25551 /* 71440 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25552 /* 71445 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25553 /* 71447 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25554 /* 71454 */ // (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)
25555 /* 71454 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT32m),
25556 /* 71457 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25557 /* 71461 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25558 /* 71467 */ GIR_RootConstrainSelectedInstOperands,
25559 /* 71468 */ // GIR_Coverage, 271,
25560 /* 71468 */ GIR_EraseRootFromParent_Done,
25561 /* 71469 */ // Label 1620: @71469
25562 /* 71469 */ GIM_Try, /*On fail goto*//*Label 1621*/ GIMT_Encode4(71564), // Rule ID 415 //
25563 /* 71474 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25564 /* 71477 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25565 /* 71481 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25566 /* 71485 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
25567 /* 71489 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25568 /* 71493 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25569 /* 71497 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25570 /* 71501 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25571 /* 71505 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25572 /* 71508 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25573 /* 71512 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25574 /* 71516 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25575 /* 71520 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25576 /* 71524 */ // MIs[3] Operand 1
25577 /* 71524 */ // No operand predicates
25578 /* 71524 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
25579 /* 71528 */ // MIs[0] src1
25580 /* 71528 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25581 /* 71533 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25582 /* 71535 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25583 /* 71542 */ // (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)
25584 /* 71542 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32mi),
25585 /* 71545 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25586 /* 71549 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25587 /* 71552 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25588 /* 71555 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25589 /* 71562 */ GIR_RootConstrainSelectedInstOperands,
25590 /* 71563 */ // GIR_Coverage, 415,
25591 /* 71563 */ GIR_EraseRootFromParent_Done,
25592 /* 71564 */ // Label 1621: @71564
25593 /* 71564 */ GIM_Try, /*On fail goto*//*Label 1622*/ GIMT_Encode4(71659), // Rule ID 307 //
25594 /* 71569 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25595 /* 71572 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25596 /* 71576 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25597 /* 71580 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
25598 /* 71584 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25599 /* 71588 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25600 /* 71592 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25601 /* 71596 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25602 /* 71600 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25603 /* 71603 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25604 /* 71607 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25605 /* 71611 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25606 /* 71615 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25607 /* 71619 */ // MIs[3] Operand 1
25608 /* 71619 */ // No operand predicates
25609 /* 71619 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
25610 /* 71623 */ // MIs[0] src1
25611 /* 71623 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25612 /* 71628 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25613 /* 71630 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25614 /* 71637 */ // (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)
25615 /* 71637 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32mi),
25616 /* 71640 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25617 /* 71644 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25618 /* 71647 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25619 /* 71650 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25620 /* 71657 */ GIR_RootConstrainSelectedInstOperands,
25621 /* 71658 */ // GIR_Coverage, 307,
25622 /* 71658 */ GIR_EraseRootFromParent_Done,
25623 /* 71659 */ // Label 1622: @71659
25624 /* 71659 */ GIM_Try, /*On fail goto*//*Label 1623*/ GIMT_Encode4(71754), // Rule ID 343 //
25625 /* 71664 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25626 /* 71667 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25627 /* 71671 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25628 /* 71675 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
25629 /* 71679 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25630 /* 71683 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25631 /* 71687 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25632 /* 71691 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25633 /* 71695 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25634 /* 71698 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25635 /* 71702 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25636 /* 71706 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25637 /* 71710 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25638 /* 71714 */ // MIs[3] Operand 1
25639 /* 71714 */ // No operand predicates
25640 /* 71714 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
25641 /* 71718 */ // MIs[0] src1
25642 /* 71718 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25643 /* 71723 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25644 /* 71725 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25645 /* 71732 */ // (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)
25646 /* 71732 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32mi),
25647 /* 71735 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25648 /* 71739 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25649 /* 71742 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25650 /* 71745 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25651 /* 71752 */ GIR_RootConstrainSelectedInstOperands,
25652 /* 71753 */ // GIR_Coverage, 343,
25653 /* 71753 */ GIR_EraseRootFromParent_Done,
25654 /* 71754 */ // Label 1623: @71754
25655 /* 71754 */ GIM_Try, /*On fail goto*//*Label 1624*/ GIMT_Encode4(71849), // Rule ID 455 //
25656 /* 71759 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25657 /* 71762 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25658 /* 71766 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25659 /* 71770 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
25660 /* 71774 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25661 /* 71778 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25662 /* 71782 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25663 /* 71786 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25664 /* 71790 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25665 /* 71793 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25666 /* 71797 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25667 /* 71801 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25668 /* 71805 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25669 /* 71809 */ // MIs[3] Operand 1
25670 /* 71809 */ // No operand predicates
25671 /* 71809 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
25672 /* 71813 */ // MIs[0] src1
25673 /* 71813 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25674 /* 71818 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25675 /* 71820 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25676 /* 71827 */ // (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)
25677 /* 71827 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32mi),
25678 /* 71830 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25679 /* 71834 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25680 /* 71837 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25681 /* 71840 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25682 /* 71847 */ GIR_RootConstrainSelectedInstOperands,
25683 /* 71848 */ // GIR_Coverage, 455,
25684 /* 71848 */ GIR_EraseRootFromParent_Done,
25685 /* 71849 */ // Label 1624: @71849
25686 /* 71849 */ GIM_Try, /*On fail goto*//*Label 1625*/ GIMT_Encode4(71944), // Rule ID 379 //
25687 /* 71854 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25688 /* 71857 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25689 /* 71861 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25690 /* 71865 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
25691 /* 71869 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25692 /* 71873 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25693 /* 71877 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25694 /* 71881 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25695 /* 71885 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25696 /* 71888 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25697 /* 71892 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25698 /* 71896 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25699 /* 71900 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25700 /* 71904 */ // MIs[3] Operand 1
25701 /* 71904 */ // No operand predicates
25702 /* 71904 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
25703 /* 71908 */ // MIs[0] src1
25704 /* 71908 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25705 /* 71913 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25706 /* 71915 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25707 /* 71922 */ // (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)
25708 /* 71922 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32mi),
25709 /* 71925 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25710 /* 71929 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25711 /* 71932 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25712 /* 71935 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25713 /* 71942 */ GIR_RootConstrainSelectedInstOperands,
25714 /* 71943 */ // GIR_Coverage, 379,
25715 /* 71943 */ GIR_EraseRootFromParent_Done,
25716 /* 71944 */ // Label 1625: @71944
25717 /* 71944 */ GIM_Try, /*On fail goto*//*Label 1626*/ GIMT_Encode4(72045), // Rule ID 22429 //
25718 /* 71949 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25719 /* 71952 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25720 /* 71959 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25721 /* 71963 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
25722 /* 71967 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25723 /* 71971 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25724 /* 71975 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25725 /* 71979 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25726 /* 71983 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25727 /* 71986 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25728 /* 71990 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25729 /* 71997 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25730 /* 72001 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25731 /* 72005 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25732 /* 72009 */ // MIs[3] Operand 1
25733 /* 72009 */ // No operand predicates
25734 /* 72009 */ // MIs[0] dst
25735 /* 72009 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25736 /* 72014 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25737 /* 72016 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25738 /* 72023 */ // (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)
25739 /* 72023 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32mi),
25740 /* 72026 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25741 /* 72030 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
25742 /* 72033 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25743 /* 72036 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25744 /* 72043 */ GIR_RootConstrainSelectedInstOperands,
25745 /* 72044 */ // GIR_Coverage, 22429,
25746 /* 72044 */ GIR_EraseRootFromParent_Done,
25747 /* 72045 */ // Label 1626: @72045
25748 /* 72045 */ GIM_Try, /*On fail goto*//*Label 1627*/ GIMT_Encode4(72146), // Rule ID 22437 //
25749 /* 72050 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25750 /* 72053 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25751 /* 72060 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25752 /* 72064 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
25753 /* 72068 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25754 /* 72072 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25755 /* 72076 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25756 /* 72080 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25757 /* 72084 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25758 /* 72087 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25759 /* 72091 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25760 /* 72098 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25761 /* 72102 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25762 /* 72106 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25763 /* 72110 */ // MIs[3] Operand 1
25764 /* 72110 */ // No operand predicates
25765 /* 72110 */ // MIs[0] dst
25766 /* 72110 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25767 /* 72115 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25768 /* 72117 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25769 /* 72124 */ // (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)
25770 /* 72124 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32mi),
25771 /* 72127 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25772 /* 72131 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
25773 /* 72134 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25774 /* 72137 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25775 /* 72144 */ GIR_RootConstrainSelectedInstOperands,
25776 /* 72145 */ // GIR_Coverage, 22437,
25777 /* 72145 */ GIR_EraseRootFromParent_Done,
25778 /* 72146 */ // Label 1627: @72146
25779 /* 72146 */ GIM_Try, /*On fail goto*//*Label 1628*/ GIMT_Encode4(72247), // Rule ID 22445 //
25780 /* 72151 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25781 /* 72154 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25782 /* 72161 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25783 /* 72165 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
25784 /* 72169 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25785 /* 72173 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25786 /* 72177 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25787 /* 72181 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25788 /* 72185 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25789 /* 72188 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25790 /* 72192 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25791 /* 72199 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25792 /* 72203 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25793 /* 72207 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25794 /* 72211 */ // MIs[3] Operand 1
25795 /* 72211 */ // No operand predicates
25796 /* 72211 */ // MIs[0] dst
25797 /* 72211 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25798 /* 72216 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25799 /* 72218 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25800 /* 72225 */ // (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)
25801 /* 72225 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32mi),
25802 /* 72228 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25803 /* 72232 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
25804 /* 72235 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25805 /* 72238 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25806 /* 72245 */ GIR_RootConstrainSelectedInstOperands,
25807 /* 72246 */ // GIR_Coverage, 22445,
25808 /* 72246 */ GIR_EraseRootFromParent_Done,
25809 /* 72247 */ // Label 1628: @72247
25810 /* 72247 */ GIM_Try, /*On fail goto*//*Label 1629*/ GIMT_Encode4(72348), // Rule ID 22461 //
25811 /* 72252 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25812 /* 72255 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25813 /* 72262 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25814 /* 72266 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
25815 /* 72270 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25816 /* 72274 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25817 /* 72278 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25818 /* 72282 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25819 /* 72286 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25820 /* 72289 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25821 /* 72293 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25822 /* 72300 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25823 /* 72304 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25824 /* 72308 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25825 /* 72312 */ // MIs[3] Operand 1
25826 /* 72312 */ // No operand predicates
25827 /* 72312 */ // MIs[0] dst
25828 /* 72312 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25829 /* 72317 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25830 /* 72319 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25831 /* 72326 */ // (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)
25832 /* 72326 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32mi),
25833 /* 72329 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25834 /* 72333 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
25835 /* 72336 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25836 /* 72339 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25837 /* 72346 */ GIR_RootConstrainSelectedInstOperands,
25838 /* 72347 */ // GIR_Coverage, 22461,
25839 /* 72347 */ GIR_EraseRootFromParent_Done,
25840 /* 72348 */ // Label 1629: @72348
25841 /* 72348 */ GIM_Try, /*On fail goto*//*Label 1630*/ GIMT_Encode4(72449), // Rule ID 22453 //
25842 /* 72353 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25843 /* 72356 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25844 /* 72363 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25845 /* 72367 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
25846 /* 72371 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25847 /* 72375 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25848 /* 72379 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25849 /* 72383 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25850 /* 72387 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25851 /* 72390 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25852 /* 72394 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25853 /* 72401 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25854 /* 72405 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25855 /* 72409 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25856 /* 72413 */ // MIs[3] Operand 1
25857 /* 72413 */ // No operand predicates
25858 /* 72413 */ // MIs[0] dst
25859 /* 72413 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25860 /* 72418 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25861 /* 72420 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25862 /* 72427 */ // (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)
25863 /* 72427 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32mi),
25864 /* 72430 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25865 /* 72434 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
25866 /* 72437 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25867 /* 72440 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25868 /* 72447 */ GIR_RootConstrainSelectedInstOperands,
25869 /* 72448 */ // GIR_Coverage, 22453,
25870 /* 72448 */ GIR_EraseRootFromParent_Done,
25871 /* 72449 */ // Label 1630: @72449
25872 /* 72449 */ GIM_Try, /*On fail goto*//*Label 1631*/ GIMT_Encode4(72553), // Rule ID 834 //
25873 /* 72454 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25874 /* 72457 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25875 /* 72461 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25876 /* 72465 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHL),
25877 /* 72469 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25878 /* 72473 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25879 /* 72477 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
25880 /* 72481 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25881 /* 72485 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25882 /* 72489 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25883 /* 72492 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25884 /* 72496 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25885 /* 72500 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25886 /* 72505 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/3, // MIs[3]
25887 /* 72509 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25888 /* 72513 */ // MIs[3] Operand 1
25889 /* 72513 */ // No operand predicates
25890 /* 72513 */ // MIs[0] src1
25891 /* 72513 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25892 /* 72518 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25893 /* 72520 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25894 /* 72527 */ // (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)
25895 /* 72527 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD32mri8),
25896 /* 72530 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25897 /* 72534 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
25898 /* 72538 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src3
25899 /* 72541 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25900 /* 72544 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25901 /* 72551 */ GIR_RootConstrainSelectedInstOperands,
25902 /* 72552 */ // GIR_Coverage, 834,
25903 /* 72552 */ GIR_EraseRootFromParent_Done,
25904 /* 72553 */ // Label 1631: @72553
25905 /* 72553 */ GIM_Try, /*On fail goto*//*Label 1632*/ GIMT_Encode4(72657), // Rule ID 858 //
25906 /* 72558 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25907 /* 72561 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25908 /* 72565 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25909 /* 72569 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHR),
25910 /* 72573 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25911 /* 72577 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25912 /* 72581 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
25913 /* 72585 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25914 /* 72590 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25915 /* 72594 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25916 /* 72598 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25917 /* 72601 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25918 /* 72605 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25919 /* 72609 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/3, // MIs[3]
25920 /* 72613 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25921 /* 72617 */ // MIs[3] Operand 1
25922 /* 72617 */ // No operand predicates
25923 /* 72617 */ // MIs[0] src1
25924 /* 72617 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25925 /* 72622 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25926 /* 72624 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25927 /* 72631 */ // (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)
25928 /* 72631 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD32mri8),
25929 /* 72634 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25930 /* 72638 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
25931 /* 72642 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src3
25932 /* 72645 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25933 /* 72648 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25934 /* 72655 */ GIR_RootConstrainSelectedInstOperands,
25935 /* 72656 */ // GIR_Coverage, 858,
25936 /* 72656 */ GIR_EraseRootFromParent_Done,
25937 /* 72657 */ // Label 1632: @72657
25938 /* 72657 */ GIM_Try, /*On fail goto*//*Label 1633*/ GIMT_Encode4(72748), // Rule ID 735 //
25939 /* 72662 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25940 /* 72665 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25941 /* 72669 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25942 /* 72673 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
25943 /* 72677 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25944 /* 72681 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25945 /* 72685 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25946 /* 72689 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25947 /* 72693 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25948 /* 72696 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25949 /* 72700 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25950 /* 72704 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25951 /* 72708 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25952 /* 72712 */ // MIs[3] Operand 1
25953 /* 72712 */ // No operand predicates
25954 /* 72712 */ // MIs[0] src1
25955 /* 72712 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25956 /* 72717 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25957 /* 72719 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25958 /* 72726 */ // (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)
25959 /* 72726 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR32mi),
25960 /* 72729 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25961 /* 72733 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25962 /* 72736 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25963 /* 72739 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25964 /* 72746 */ GIR_RootConstrainSelectedInstOperands,
25965 /* 72747 */ // GIR_Coverage, 735,
25966 /* 72747 */ GIR_EraseRootFromParent_Done,
25967 /* 72748 */ // Label 1633: @72748
25968 /* 72748 */ GIM_Try, /*On fail goto*//*Label 1634*/ GIMT_Encode4(72839), // Rule ID 703 //
25969 /* 72753 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25970 /* 72756 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25971 /* 72760 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25972 /* 72764 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
25973 /* 72768 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25974 /* 72772 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25975 /* 72776 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25976 /* 72780 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25977 /* 72784 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25978 /* 72787 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25979 /* 72791 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25980 /* 72795 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25981 /* 72799 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25982 /* 72803 */ // MIs[3] Operand 1
25983 /* 72803 */ // No operand predicates
25984 /* 72803 */ // MIs[0] src1
25985 /* 72803 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25986 /* 72808 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25987 /* 72810 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25988 /* 72817 */ // (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)
25989 /* 72817 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR32mi),
25990 /* 72820 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25991 /* 72824 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25992 /* 72827 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25993 /* 72830 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25994 /* 72837 */ GIR_RootConstrainSelectedInstOperands,
25995 /* 72838 */ // GIR_Coverage, 703,
25996 /* 72838 */ GIR_EraseRootFromParent_Done,
25997 /* 72839 */ // Label 1634: @72839
25998 /* 72839 */ GIM_Try, /*On fail goto*//*Label 1635*/ GIMT_Encode4(72930), // Rule ID 767 //
25999 /* 72844 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26000 /* 72847 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26001 /* 72851 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26002 /* 72855 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
26003 /* 72859 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26004 /* 72863 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26005 /* 72867 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26006 /* 72871 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26007 /* 72875 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26008 /* 72878 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26009 /* 72882 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
26010 /* 72886 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
26011 /* 72890 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26012 /* 72894 */ // MIs[3] Operand 1
26013 /* 72894 */ // No operand predicates
26014 /* 72894 */ // MIs[0] src1
26015 /* 72894 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26016 /* 72899 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26017 /* 72901 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26018 /* 72908 */ // (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)
26019 /* 72908 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32mi),
26020 /* 72911 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26021 /* 72915 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
26022 /* 72918 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26023 /* 72921 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26024 /* 72928 */ GIR_RootConstrainSelectedInstOperands,
26025 /* 72929 */ // GIR_Coverage, 767,
26026 /* 72929 */ GIR_EraseRootFromParent_Done,
26027 /* 72930 */ // Label 1635: @72930
26028 /* 72930 */ GIM_Try, /*On fail goto*//*Label 1636*/ GIMT_Encode4(73021), // Rule ID 799 //
26029 /* 72935 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26030 /* 72938 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26031 /* 72942 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26032 /* 72946 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
26033 /* 72950 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26034 /* 72954 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26035 /* 72958 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26036 /* 72962 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26037 /* 72966 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26038 /* 72969 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26039 /* 72973 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
26040 /* 72977 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
26041 /* 72981 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26042 /* 72985 */ // MIs[3] Operand 1
26043 /* 72985 */ // No operand predicates
26044 /* 72985 */ // MIs[0] src1
26045 /* 72985 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26046 /* 72990 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26047 /* 72992 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26048 /* 72999 */ // (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)
26049 /* 72999 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32mi),
26050 /* 73002 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26051 /* 73006 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
26052 /* 73009 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26053 /* 73012 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26054 /* 73019 */ GIR_RootConstrainSelectedInstOperands,
26055 /* 73020 */ // GIR_Coverage, 799,
26056 /* 73020 */ GIR_EraseRootFromParent_Done,
26057 /* 73021 */ // Label 1636: @73021
26058 /* 73021 */ GIM_Try, /*On fail goto*//*Label 1637*/ GIMT_Encode4(73112), // Rule ID 671 //
26059 /* 73026 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26060 /* 73029 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26061 /* 73033 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26062 /* 73037 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
26063 /* 73041 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26064 /* 73045 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26065 /* 73049 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26066 /* 73053 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26067 /* 73057 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26068 /* 73060 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26069 /* 73064 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
26070 /* 73068 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
26071 /* 73072 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26072 /* 73076 */ // MIs[3] Operand 1
26073 /* 73076 */ // No operand predicates
26074 /* 73076 */ // MIs[0] src1
26075 /* 73076 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26076 /* 73081 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26077 /* 73083 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26078 /* 73090 */ // (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)
26079 /* 73090 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL32mi),
26080 /* 73093 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26081 /* 73097 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
26082 /* 73100 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26083 /* 73103 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26084 /* 73110 */ GIR_RootConstrainSelectedInstOperands,
26085 /* 73111 */ // GIR_Coverage, 671,
26086 /* 73111 */ GIR_EraseRootFromParent_Done,
26087 /* 73112 */ // Label 1637: @73112
26088 /* 73112 */ GIM_Try, /*On fail goto*//*Label 1638*/ GIMT_Encode4(73210), // Rule ID 22433 //
26089 /* 73117 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26090 /* 73120 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26091 /* 73127 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26092 /* 73131 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26093 /* 73135 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26094 /* 73139 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26095 /* 73143 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26096 /* 73147 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26097 /* 73151 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26098 /* 73154 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26099 /* 73158 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26100 /* 73165 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26101 /* 73169 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26102 /* 73174 */ // MIs[0] dst
26103 /* 73174 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26104 /* 73179 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26105 /* 73181 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26106 /* 73188 */ // (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)
26107 /* 73188 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32mr),
26108 /* 73191 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26109 /* 73195 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
26110 /* 73199 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26111 /* 73202 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26112 /* 73208 */ GIR_RootConstrainSelectedInstOperands,
26113 /* 73209 */ // GIR_Coverage, 22433,
26114 /* 73209 */ GIR_EraseRootFromParent_Done,
26115 /* 73210 */ // Label 1638: @73210
26116 /* 73210 */ GIM_Try, /*On fail goto*//*Label 1639*/ GIMT_Encode4(73308), // Rule ID 26004 //
26117 /* 73215 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26118 /* 73218 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26119 /* 73225 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26120 /* 73229 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26121 /* 73233 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26122 /* 73237 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26123 /* 73241 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26124 /* 73246 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26125 /* 73250 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26126 /* 73254 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26127 /* 73257 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26128 /* 73261 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26129 /* 73268 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26130 /* 73272 */ // MIs[0] dst
26131 /* 73272 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26132 /* 73277 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26133 /* 73279 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26134 /* 73286 */ // (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)
26135 /* 73286 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32mr),
26136 /* 73289 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26137 /* 73293 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
26138 /* 73297 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26139 /* 73300 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26140 /* 73306 */ GIR_RootConstrainSelectedInstOperands,
26141 /* 73307 */ // GIR_Coverage, 26004,
26142 /* 73307 */ GIR_EraseRootFromParent_Done,
26143 /* 73308 */ // Label 1639: @73308
26144 /* 73308 */ GIM_Try, /*On fail goto*//*Label 1640*/ GIMT_Encode4(73406), // Rule ID 22441 //
26145 /* 73313 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26146 /* 73316 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26147 /* 73323 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26148 /* 73327 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
26149 /* 73331 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26150 /* 73335 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26151 /* 73339 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26152 /* 73343 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26153 /* 73347 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26154 /* 73350 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26155 /* 73354 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26156 /* 73361 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26157 /* 73365 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26158 /* 73370 */ // MIs[0] dst
26159 /* 73370 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26160 /* 73375 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26161 /* 73377 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26162 /* 73384 */ // (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)
26163 /* 73384 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32mr),
26164 /* 73387 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26165 /* 73391 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
26166 /* 73395 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26167 /* 73398 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26168 /* 73404 */ GIR_RootConstrainSelectedInstOperands,
26169 /* 73405 */ // GIR_Coverage, 22441,
26170 /* 73405 */ GIR_EraseRootFromParent_Done,
26171 /* 73406 */ // Label 1640: @73406
26172 /* 73406 */ GIM_Try, /*On fail goto*//*Label 1641*/ GIMT_Encode4(73504), // Rule ID 26008 //
26173 /* 73411 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26174 /* 73414 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26175 /* 73421 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26176 /* 73425 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
26177 /* 73429 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26178 /* 73433 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26179 /* 73437 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26180 /* 73442 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26181 /* 73446 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26182 /* 73450 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26183 /* 73453 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26184 /* 73457 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26185 /* 73464 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26186 /* 73468 */ // MIs[0] dst
26187 /* 73468 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26188 /* 73473 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26189 /* 73475 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26190 /* 73482 */ // (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)
26191 /* 73482 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32mr),
26192 /* 73485 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26193 /* 73489 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
26194 /* 73493 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26195 /* 73496 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26196 /* 73502 */ GIR_RootConstrainSelectedInstOperands,
26197 /* 73503 */ // GIR_Coverage, 26008,
26198 /* 73503 */ GIR_EraseRootFromParent_Done,
26199 /* 73504 */ // Label 1641: @73504
26200 /* 73504 */ GIM_Try, /*On fail goto*//*Label 1642*/ GIMT_Encode4(73602), // Rule ID 22449 //
26201 /* 73509 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26202 /* 73512 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26203 /* 73519 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26204 /* 73523 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
26205 /* 73527 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26206 /* 73531 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26207 /* 73535 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26208 /* 73539 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26209 /* 73543 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26210 /* 73546 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26211 /* 73550 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26212 /* 73557 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26213 /* 73561 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26214 /* 73566 */ // MIs[0] dst
26215 /* 73566 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26216 /* 73571 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26217 /* 73573 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26218 /* 73580 */ // (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)
26219 /* 73580 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32mr),
26220 /* 73583 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26221 /* 73587 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
26222 /* 73591 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26223 /* 73594 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26224 /* 73600 */ GIR_RootConstrainSelectedInstOperands,
26225 /* 73601 */ // GIR_Coverage, 22449,
26226 /* 73601 */ GIR_EraseRootFromParent_Done,
26227 /* 73602 */ // Label 1642: @73602
26228 /* 73602 */ GIM_Try, /*On fail goto*//*Label 1643*/ GIMT_Encode4(73700), // Rule ID 26012 //
26229 /* 73607 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26230 /* 73610 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26231 /* 73617 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26232 /* 73621 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
26233 /* 73625 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26234 /* 73629 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26235 /* 73633 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26236 /* 73638 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26237 /* 73642 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26238 /* 73646 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26239 /* 73649 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26240 /* 73653 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26241 /* 73660 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26242 /* 73664 */ // MIs[0] dst
26243 /* 73664 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26244 /* 73669 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26245 /* 73671 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26246 /* 73678 */ // (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)
26247 /* 73678 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32mr),
26248 /* 73681 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26249 /* 73685 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
26250 /* 73689 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26251 /* 73692 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26252 /* 73698 */ GIR_RootConstrainSelectedInstOperands,
26253 /* 73699 */ // GIR_Coverage, 26012,
26254 /* 73699 */ GIR_EraseRootFromParent_Done,
26255 /* 73700 */ // Label 1643: @73700
26256 /* 73700 */ GIM_Try, /*On fail goto*//*Label 1644*/ GIMT_Encode4(73798), // Rule ID 22465 //
26257 /* 73705 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26258 /* 73708 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26259 /* 73715 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26260 /* 73719 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
26261 /* 73723 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26262 /* 73727 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26263 /* 73731 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26264 /* 73735 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26265 /* 73739 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26266 /* 73742 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26267 /* 73746 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26268 /* 73753 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26269 /* 73757 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26270 /* 73762 */ // MIs[0] dst
26271 /* 73762 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26272 /* 73767 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26273 /* 73769 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26274 /* 73776 */ // (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)
26275 /* 73776 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32mr),
26276 /* 73779 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26277 /* 73783 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
26278 /* 73787 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26279 /* 73790 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26280 /* 73796 */ GIR_RootConstrainSelectedInstOperands,
26281 /* 73797 */ // GIR_Coverage, 22465,
26282 /* 73797 */ GIR_EraseRootFromParent_Done,
26283 /* 73798 */ // Label 1644: @73798
26284 /* 73798 */ GIM_Try, /*On fail goto*//*Label 1645*/ GIMT_Encode4(73896), // Rule ID 22457 //
26285 /* 73803 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26286 /* 73806 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26287 /* 73813 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26288 /* 73817 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
26289 /* 73821 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26290 /* 73825 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26291 /* 73829 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26292 /* 73833 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26293 /* 73837 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26294 /* 73840 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26295 /* 73844 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26296 /* 73851 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26297 /* 73855 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26298 /* 73860 */ // MIs[0] dst
26299 /* 73860 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26300 /* 73865 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26301 /* 73867 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26302 /* 73874 */ // (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)
26303 /* 73874 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32mr),
26304 /* 73877 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26305 /* 73881 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
26306 /* 73885 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26307 /* 73888 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26308 /* 73894 */ GIR_RootConstrainSelectedInstOperands,
26309 /* 73895 */ // GIR_Coverage, 22457,
26310 /* 73895 */ GIR_EraseRootFromParent_Done,
26311 /* 73896 */ // Label 1645: @73896
26312 /* 73896 */ GIM_Try, /*On fail goto*//*Label 1646*/ GIMT_Encode4(73994), // Rule ID 26016 //
26313 /* 73901 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26314 /* 73904 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26315 /* 73911 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26316 /* 73915 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
26317 /* 73919 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26318 /* 73923 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26319 /* 73927 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26320 /* 73932 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26321 /* 73936 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26322 /* 73940 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26323 /* 73943 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26324 /* 73947 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26325 /* 73954 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26326 /* 73958 */ // MIs[0] dst
26327 /* 73958 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26328 /* 73963 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26329 /* 73965 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26330 /* 73972 */ // (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)
26331 /* 73972 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32mr),
26332 /* 73975 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26333 /* 73979 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
26334 /* 73983 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26335 /* 73986 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26336 /* 73992 */ GIR_RootConstrainSelectedInstOperands,
26337 /* 73993 */ // GIR_Coverage, 26016,
26338 /* 73993 */ GIR_EraseRootFromParent_Done,
26339 /* 73994 */ // Label 1646: @73994
26340 /* 73994 */ GIM_Try, /*On fail goto*//*Label 1647*/ GIMT_Encode4(74105), // Rule ID 837 //
26341 /* 73999 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26342 /* 74002 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26343 /* 74006 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26344 /* 74010 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHL),
26345 /* 74014 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26346 /* 74018 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26347 /* 74022 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
26348 /* 74026 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26349 /* 74030 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26350 /* 74034 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26351 /* 74037 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26352 /* 74041 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
26353 /* 74045 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26354 /* 74050 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
26355 /* 74055 */ // MIs[0] src1
26356 /* 74055 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26357 /* 74060 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26358 /* 74062 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26359 /* 74069 */ // (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)
26360 /* 74069 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
26361 /* 74073 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
26362 /* 74079 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // CL
26363 /* 74083 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD32mrCL),
26364 /* 74086 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26365 /* 74090 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
26366 /* 74094 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26367 /* 74097 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26368 /* 74103 */ GIR_RootConstrainSelectedInstOperands,
26369 /* 74104 */ // GIR_Coverage, 837,
26370 /* 74104 */ GIR_EraseRootFromParent_Done,
26371 /* 74105 */ // Label 1647: @74105
26372 /* 74105 */ GIM_Try, /*On fail goto*//*Label 1648*/ GIMT_Encode4(74216), // Rule ID 861 //
26373 /* 74110 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26374 /* 74113 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26375 /* 74117 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26376 /* 74121 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHR),
26377 /* 74125 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26378 /* 74129 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26379 /* 74133 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
26380 /* 74137 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26381 /* 74142 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26382 /* 74146 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26383 /* 74150 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26384 /* 74153 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26385 /* 74157 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
26386 /* 74161 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
26387 /* 74166 */ // MIs[0] src1
26388 /* 74166 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26389 /* 74171 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26390 /* 74173 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26391 /* 74180 */ // (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)
26392 /* 74180 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
26393 /* 74184 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
26394 /* 74190 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // CL
26395 /* 74194 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD32mrCL),
26396 /* 74197 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26397 /* 74201 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
26398 /* 74205 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26399 /* 74208 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26400 /* 74214 */ GIR_RootConstrainSelectedInstOperands,
26401 /* 74215 */ // GIR_Coverage, 861,
26402 /* 74215 */ GIR_EraseRootFromParent_Done,
26403 /* 74216 */ // Label 1648: @74216
26404 /* 74216 */ GIM_Try, /*On fail goto*//*Label 1649*/ GIMT_Encode4(74304), // Rule ID 411 //
26405 /* 74221 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26406 /* 74224 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26407 /* 74228 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26408 /* 74232 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26409 /* 74236 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26410 /* 74240 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26411 /* 74244 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26412 /* 74248 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26413 /* 74252 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26414 /* 74255 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26415 /* 74259 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26416 /* 74263 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26417 /* 74268 */ // MIs[0] src1
26418 /* 74268 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26419 /* 74273 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26420 /* 74275 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26421 /* 74282 */ // (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)
26422 /* 74282 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32mr),
26423 /* 74285 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26424 /* 74289 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
26425 /* 74293 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26426 /* 74296 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26427 /* 74302 */ GIR_RootConstrainSelectedInstOperands,
26428 /* 74303 */ // GIR_Coverage, 411,
26429 /* 74303 */ GIR_EraseRootFromParent_Done,
26430 /* 74304 */ // Label 1649: @74304
26431 /* 74304 */ GIM_Try, /*On fail goto*//*Label 1650*/ GIMT_Encode4(74392), // Rule ID 23224 //
26432 /* 74309 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26433 /* 74312 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26434 /* 74316 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26435 /* 74320 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26436 /* 74324 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26437 /* 74328 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26438 /* 74332 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26439 /* 74337 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26440 /* 74341 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26441 /* 74345 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26442 /* 74348 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26443 /* 74352 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26444 /* 74356 */ // MIs[0] src1
26445 /* 74356 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26446 /* 74361 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26447 /* 74363 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26448 /* 74370 */ // (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)
26449 /* 74370 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32mr),
26450 /* 74373 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26451 /* 74377 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
26452 /* 74381 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26453 /* 74384 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26454 /* 74390 */ GIR_RootConstrainSelectedInstOperands,
26455 /* 74391 */ // GIR_Coverage, 23224,
26456 /* 74391 */ GIR_EraseRootFromParent_Done,
26457 /* 74392 */ // Label 1650: @74392
26458 /* 74392 */ GIM_Try, /*On fail goto*//*Label 1651*/ GIMT_Encode4(74480), // Rule ID 303 //
26459 /* 74397 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26460 /* 74400 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26461 /* 74404 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26462 /* 74408 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
26463 /* 74412 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26464 /* 74416 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26465 /* 74420 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26466 /* 74424 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26467 /* 74428 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26468 /* 74431 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26469 /* 74435 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26470 /* 74439 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26471 /* 74444 */ // MIs[0] src1
26472 /* 74444 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26473 /* 74449 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26474 /* 74451 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26475 /* 74458 */ // (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)
26476 /* 74458 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32mr),
26477 /* 74461 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26478 /* 74465 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
26479 /* 74469 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26480 /* 74472 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26481 /* 74478 */ GIR_RootConstrainSelectedInstOperands,
26482 /* 74479 */ // GIR_Coverage, 303,
26483 /* 74479 */ GIR_EraseRootFromParent_Done,
26484 /* 74480 */ // Label 1651: @74480
26485 /* 74480 */ GIM_Try, /*On fail goto*//*Label 1652*/ GIMT_Encode4(74568), // Rule ID 23188 //
26486 /* 74485 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26487 /* 74488 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26488 /* 74492 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26489 /* 74496 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
26490 /* 74500 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26491 /* 74504 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26492 /* 74508 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26493 /* 74513 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26494 /* 74517 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26495 /* 74521 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26496 /* 74524 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26497 /* 74528 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26498 /* 74532 */ // MIs[0] src1
26499 /* 74532 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26500 /* 74537 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26501 /* 74539 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26502 /* 74546 */ // (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)
26503 /* 74546 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32mr),
26504 /* 74549 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26505 /* 74553 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
26506 /* 74557 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26507 /* 74560 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26508 /* 74566 */ GIR_RootConstrainSelectedInstOperands,
26509 /* 74567 */ // GIR_Coverage, 23188,
26510 /* 74567 */ GIR_EraseRootFromParent_Done,
26511 /* 74568 */ // Label 1652: @74568
26512 /* 74568 */ GIM_Try, /*On fail goto*//*Label 1653*/ GIMT_Encode4(74666), // Rule ID 751 //
26513 /* 74573 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26514 /* 74576 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26515 /* 74580 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26516 /* 74584 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
26517 /* 74588 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26518 /* 74592 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26519 /* 74596 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26520 /* 74600 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26521 /* 74604 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26522 /* 74607 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26523 /* 74611 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
26524 /* 74615 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
26525 /* 74620 */ // MIs[0] src1
26526 /* 74620 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26527 /* 74625 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26528 /* 74627 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26529 /* 74634 */ // (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)
26530 /* 74634 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
26531 /* 74638 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
26532 /* 74644 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
26533 /* 74648 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR32mCL),
26534 /* 74651 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26535 /* 74655 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26536 /* 74658 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26537 /* 74664 */ GIR_RootConstrainSelectedInstOperands,
26538 /* 74665 */ // GIR_Coverage, 751,
26539 /* 74665 */ GIR_EraseRootFromParent_Done,
26540 /* 74666 */ // Label 1653: @74666
26541 /* 74666 */ GIM_Try, /*On fail goto*//*Label 1654*/ GIMT_Encode4(74764), // Rule ID 719 //
26542 /* 74671 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26543 /* 74674 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26544 /* 74678 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26545 /* 74682 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
26546 /* 74686 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26547 /* 74690 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26548 /* 74694 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26549 /* 74698 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26550 /* 74702 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26551 /* 74705 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26552 /* 74709 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
26553 /* 74713 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
26554 /* 74718 */ // MIs[0] src1
26555 /* 74718 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26556 /* 74723 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26557 /* 74725 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26558 /* 74732 */ // (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)
26559 /* 74732 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
26560 /* 74736 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
26561 /* 74742 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
26562 /* 74746 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR32mCL),
26563 /* 74749 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26564 /* 74753 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26565 /* 74756 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26566 /* 74762 */ GIR_RootConstrainSelectedInstOperands,
26567 /* 74763 */ // GIR_Coverage, 719,
26568 /* 74763 */ GIR_EraseRootFromParent_Done,
26569 /* 74764 */ // Label 1654: @74764
26570 /* 74764 */ GIM_Try, /*On fail goto*//*Label 1655*/ GIMT_Encode4(74852), // Rule ID 339 //
26571 /* 74769 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26572 /* 74772 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26573 /* 74776 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26574 /* 74780 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
26575 /* 74784 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26576 /* 74788 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26577 /* 74792 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26578 /* 74796 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26579 /* 74800 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26580 /* 74803 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26581 /* 74807 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26582 /* 74811 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26583 /* 74816 */ // MIs[0] src1
26584 /* 74816 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26585 /* 74821 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26586 /* 74823 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26587 /* 74830 */ // (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)
26588 /* 74830 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32mr),
26589 /* 74833 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26590 /* 74837 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
26591 /* 74841 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26592 /* 74844 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26593 /* 74850 */ GIR_RootConstrainSelectedInstOperands,
26594 /* 74851 */ // GIR_Coverage, 339,
26595 /* 74851 */ GIR_EraseRootFromParent_Done,
26596 /* 74852 */ // Label 1655: @74852
26597 /* 74852 */ GIM_Try, /*On fail goto*//*Label 1656*/ GIMT_Encode4(74940), // Rule ID 23200 //
26598 /* 74857 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26599 /* 74860 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26600 /* 74864 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26601 /* 74868 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
26602 /* 74872 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26603 /* 74876 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26604 /* 74880 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26605 /* 74885 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26606 /* 74889 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26607 /* 74893 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26608 /* 74896 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26609 /* 74900 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26610 /* 74904 */ // MIs[0] src1
26611 /* 74904 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26612 /* 74909 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26613 /* 74911 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26614 /* 74918 */ // (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)
26615 /* 74918 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32mr),
26616 /* 74921 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26617 /* 74925 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
26618 /* 74929 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26619 /* 74932 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26620 /* 74938 */ GIR_RootConstrainSelectedInstOperands,
26621 /* 74939 */ // GIR_Coverage, 23200,
26622 /* 74939 */ GIR_EraseRootFromParent_Done,
26623 /* 74940 */ // Label 1656: @74940
26624 /* 74940 */ GIM_Try, /*On fail goto*//*Label 1657*/ GIMT_Encode4(75038), // Rule ID 783 //
26625 /* 74945 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26626 /* 74948 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26627 /* 74952 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26628 /* 74956 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
26629 /* 74960 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26630 /* 74964 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26631 /* 74968 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26632 /* 74972 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26633 /* 74976 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26634 /* 74979 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26635 /* 74983 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
26636 /* 74987 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
26637 /* 74992 */ // MIs[0] src1
26638 /* 74992 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26639 /* 74997 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26640 /* 74999 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26641 /* 75006 */ // (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)
26642 /* 75006 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
26643 /* 75010 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
26644 /* 75016 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
26645 /* 75020 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32mCL),
26646 /* 75023 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26647 /* 75027 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26648 /* 75030 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26649 /* 75036 */ GIR_RootConstrainSelectedInstOperands,
26650 /* 75037 */ // GIR_Coverage, 783,
26651 /* 75037 */ GIR_EraseRootFromParent_Done,
26652 /* 75038 */ // Label 1657: @75038
26653 /* 75038 */ GIM_Try, /*On fail goto*//*Label 1658*/ GIMT_Encode4(75136), // Rule ID 815 //
26654 /* 75043 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26655 /* 75046 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26656 /* 75050 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26657 /* 75054 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
26658 /* 75058 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26659 /* 75062 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26660 /* 75066 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26661 /* 75070 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26662 /* 75074 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26663 /* 75077 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26664 /* 75081 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
26665 /* 75085 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
26666 /* 75090 */ // MIs[0] src1
26667 /* 75090 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26668 /* 75095 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26669 /* 75097 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26670 /* 75104 */ // (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)
26671 /* 75104 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
26672 /* 75108 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
26673 /* 75114 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
26674 /* 75118 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32mCL),
26675 /* 75121 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26676 /* 75125 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26677 /* 75128 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26678 /* 75134 */ GIR_RootConstrainSelectedInstOperands,
26679 /* 75135 */ // GIR_Coverage, 815,
26680 /* 75135 */ GIR_EraseRootFromParent_Done,
26681 /* 75136 */ // Label 1658: @75136
26682 /* 75136 */ GIM_Try, /*On fail goto*//*Label 1659*/ GIMT_Encode4(75234), // Rule ID 687 //
26683 /* 75141 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26684 /* 75144 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26685 /* 75148 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26686 /* 75152 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
26687 /* 75156 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26688 /* 75160 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26689 /* 75164 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26690 /* 75168 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26691 /* 75172 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26692 /* 75175 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26693 /* 75179 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
26694 /* 75183 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
26695 /* 75188 */ // MIs[0] src1
26696 /* 75188 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26697 /* 75193 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26698 /* 75195 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26699 /* 75202 */ // (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)
26700 /* 75202 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
26701 /* 75206 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
26702 /* 75212 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
26703 /* 75216 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL32mCL),
26704 /* 75219 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26705 /* 75223 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26706 /* 75226 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26707 /* 75232 */ GIR_RootConstrainSelectedInstOperands,
26708 /* 75233 */ // GIR_Coverage, 687,
26709 /* 75233 */ GIR_EraseRootFromParent_Done,
26710 /* 75234 */ // Label 1659: @75234
26711 /* 75234 */ GIM_Try, /*On fail goto*//*Label 1660*/ GIMT_Encode4(75322), // Rule ID 447 //
26712 /* 75239 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26713 /* 75242 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26714 /* 75246 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26715 /* 75250 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
26716 /* 75254 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26717 /* 75258 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26718 /* 75262 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26719 /* 75266 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26720 /* 75270 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26721 /* 75273 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26722 /* 75277 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26723 /* 75281 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26724 /* 75286 */ // MIs[0] src1
26725 /* 75286 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26726 /* 75291 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26727 /* 75293 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26728 /* 75300 */ // (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)
26729 /* 75300 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32mr),
26730 /* 75303 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26731 /* 75307 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
26732 /* 75311 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26733 /* 75314 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26734 /* 75320 */ GIR_RootConstrainSelectedInstOperands,
26735 /* 75321 */ // GIR_Coverage, 447,
26736 /* 75321 */ GIR_EraseRootFromParent_Done,
26737 /* 75322 */ // Label 1660: @75322
26738 /* 75322 */ GIM_Try, /*On fail goto*//*Label 1661*/ GIMT_Encode4(75410), // Rule ID 375 //
26739 /* 75327 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26740 /* 75330 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26741 /* 75334 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26742 /* 75338 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
26743 /* 75342 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26744 /* 75346 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26745 /* 75350 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26746 /* 75354 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26747 /* 75358 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26748 /* 75361 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26749 /* 75365 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26750 /* 75369 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26751 /* 75374 */ // MIs[0] src1
26752 /* 75374 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26753 /* 75379 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26754 /* 75381 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26755 /* 75388 */ // (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)
26756 /* 75388 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32mr),
26757 /* 75391 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26758 /* 75395 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
26759 /* 75399 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26760 /* 75402 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26761 /* 75408 */ GIR_RootConstrainSelectedInstOperands,
26762 /* 75409 */ // GIR_Coverage, 375,
26763 /* 75409 */ GIR_EraseRootFromParent_Done,
26764 /* 75410 */ // Label 1661: @75410
26765 /* 75410 */ GIM_Try, /*On fail goto*//*Label 1662*/ GIMT_Encode4(75498), // Rule ID 23212 //
26766 /* 75415 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26767 /* 75418 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26768 /* 75422 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26769 /* 75426 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
26770 /* 75430 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26771 /* 75434 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26772 /* 75438 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26773 /* 75443 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26774 /* 75447 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26775 /* 75451 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26776 /* 75454 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26777 /* 75458 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26778 /* 75462 */ // MIs[0] src1
26779 /* 75462 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26780 /* 75467 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26781 /* 75469 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26782 /* 75476 */ // (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)
26783 /* 75476 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32mr),
26784 /* 75479 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26785 /* 75483 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
26786 /* 75487 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26787 /* 75490 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26788 /* 75496 */ GIR_RootConstrainSelectedInstOperands,
26789 /* 75497 */ // GIR_Coverage, 23212,
26790 /* 75497 */ GIR_EraseRootFromParent_Done,
26791 /* 75498 */ // Label 1662: @75498
26792 /* 75498 */ GIM_Try, /*On fail goto*//*Label 1663*/ GIMT_Encode4(75552), // Rule ID 26 //
26793 /* 75503 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26794 /* 75506 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26795 /* 75510 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26796 /* 75514 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26797 /* 75518 */ // MIs[1] Operand 1
26798 /* 75518 */ // No operand predicates
26799 /* 75518 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
26800 /* 75522 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26801 /* 75526 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
26802 /* 75528 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26803 /* 75535 */ // (st (imm:{ *:[i32] })<<P:Predicate_imm_su>>:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV32mi addr:{ *:[iPTR] }:$dst, (imm:{ *:[i32] }):$src)
26804 /* 75535 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32mi),
26805 /* 75538 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26806 /* 75542 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
26807 /* 75545 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
26808 /* 75550 */ GIR_RootConstrainSelectedInstOperands,
26809 /* 75551 */ // GIR_Coverage, 26,
26810 /* 75551 */ GIR_EraseRootFromParent_Done,
26811 /* 75552 */ // Label 1663: @75552
26812 /* 75552 */ GIM_Try, /*On fail goto*//*Label 1664*/ GIMT_Encode4(75618), // Rule ID 22519 //
26813 /* 75557 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
26814 /* 75560 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26815 /* 75563 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26816 /* 75570 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26817 /* 75574 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
26818 /* 75578 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26819 /* 75582 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
26820 /* 75587 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26821 /* 75591 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
26822 /* 75593 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26823 /* 75600 */ // (atomic_store (bitconvert:{ *:[i32] } FR32:{ *:[f32] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (MOVSSmr addr:{ *:[iPTR] }:$dst, FR32:{ *:[f32] }:$src)
26824 /* 75600 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSSmr),
26825 /* 75603 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26826 /* 75607 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
26827 /* 75611 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
26828 /* 75616 */ GIR_RootConstrainSelectedInstOperands,
26829 /* 75617 */ // GIR_Coverage, 22519,
26830 /* 75617 */ GIR_EraseRootFromParent_Done,
26831 /* 75618 */ // Label 1664: @75618
26832 /* 75618 */ GIM_Try, /*On fail goto*//*Label 1665*/ GIMT_Encode4(75684), // Rule ID 22520 //
26833 /* 75623 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
26834 /* 75626 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26835 /* 75629 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26836 /* 75636 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26837 /* 75640 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
26838 /* 75644 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26839 /* 75648 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
26840 /* 75653 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26841 /* 75657 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
26842 /* 75659 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26843 /* 75666 */ // (atomic_store (bitconvert:{ *:[i32] } FR32:{ *:[f32] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (VMOVSSmr addr:{ *:[iPTR] }:$dst, FR32:{ *:[f32] }:$src)
26844 /* 75666 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSmr),
26845 /* 75669 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26846 /* 75673 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
26847 /* 75677 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
26848 /* 75682 */ GIR_RootConstrainSelectedInstOperands,
26849 /* 75683 */ // GIR_Coverage, 22520,
26850 /* 75683 */ GIR_EraseRootFromParent_Done,
26851 /* 75684 */ // Label 1665: @75684
26852 /* 75684 */ GIM_Try, /*On fail goto*//*Label 1666*/ GIMT_Encode4(75750), // Rule ID 22521 //
26853 /* 75689 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
26854 /* 75692 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26855 /* 75695 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26856 /* 75702 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26857 /* 75706 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
26858 /* 75710 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26859 /* 75714 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
26860 /* 75719 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26861 /* 75723 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
26862 /* 75725 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26863 /* 75732 */ // (atomic_store (bitconvert:{ *:[i32] } FR32:{ *:[f32] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (VMOVSSZmr addr:{ *:[iPTR] }:$dst, FR32:{ *:[f32] }:$src)
26864 /* 75732 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSZmr),
26865 /* 75735 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26866 /* 75739 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
26867 /* 75743 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
26868 /* 75748 */ GIR_RootConstrainSelectedInstOperands,
26869 /* 75749 */ // GIR_Coverage, 22521,
26870 /* 75749 */ GIR_EraseRootFromParent_Done,
26871 /* 75750 */ // Label 1666: @75750
26872 /* 75750 */ GIM_Try, /*On fail goto*//*Label 1667*/ GIMT_Encode4(75803), // Rule ID 22509 //
26873 /* 75755 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26874 /* 75758 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26875 /* 75765 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26876 /* 75769 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26877 /* 75773 */ // MIs[1] Operand 1
26878 /* 75773 */ // No operand predicates
26879 /* 75773 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26880 /* 75777 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
26881 /* 75779 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26882 /* 75786 */ // (atomic_store (imm:{ *:[i32] }):$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (MOV32mi addr:{ *:[iPTR] }:$dst, (imm:{ *:[i32] }):$src)
26883 /* 75786 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32mi),
26884 /* 75789 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26885 /* 75793 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
26886 /* 75796 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
26887 /* 75801 */ GIR_RootConstrainSelectedInstOperands,
26888 /* 75802 */ // GIR_Coverage, 22509,
26889 /* 75802 */ GIR_EraseRootFromParent_Done,
26890 /* 75803 */ // Label 1667: @75803
26891 /* 75803 */ GIM_Try, /*On fail goto*//*Label 1668*/ GIMT_Encode4(75866), // Rule ID 52 //
26892 /* 75808 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVBE_NoEGPR),
26893 /* 75811 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26894 /* 75814 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26895 /* 75818 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26896 /* 75822 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BSWAP),
26897 /* 75826 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26898 /* 75830 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26899 /* 75835 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26900 /* 75839 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
26901 /* 75841 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26902 /* 75848 */ // (st (bswap:{ *:[i32] } GR32:{ *:[i32] }:$src1), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVBE32mr addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src1)
26903 /* 75848 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE32mr),
26904 /* 75851 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26905 /* 75855 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
26906 /* 75859 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
26907 /* 75864 */ GIR_RootConstrainSelectedInstOperands,
26908 /* 75865 */ // GIR_Coverage, 52,
26909 /* 75865 */ GIR_EraseRootFromParent_Done,
26910 /* 75866 */ // Label 1668: @75866
26911 /* 75866 */ GIM_Try, /*On fail goto*//*Label 1669*/ GIMT_Encode4(75929), // Rule ID 58 //
26912 /* 75871 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVBE_In64BitMode),
26913 /* 75874 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26914 /* 75877 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26915 /* 75881 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26916 /* 75885 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BSWAP),
26917 /* 75889 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26918 /* 75893 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26919 /* 75898 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26920 /* 75902 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
26921 /* 75904 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26922 /* 75911 */ // (st (bswap:{ *:[i32] } GR32:{ *:[i32] }:$src1), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVBE32mr_EVEX addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src1)
26923 /* 75911 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE32mr_EVEX),
26924 /* 75914 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26925 /* 75918 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
26926 /* 75922 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
26927 /* 75927 */ GIR_RootConstrainSelectedInstOperands,
26928 /* 75928 */ // GIR_Coverage, 58,
26929 /* 75928 */ GIR_EraseRootFromParent_Done,
26930 /* 75929 */ // Label 1669: @75929
26931 /* 75929 */ GIM_Try, /*On fail goto*//*Label 1670*/ GIMT_Encode4(75974), // Rule ID 22513 //
26932 /* 75934 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26933 /* 75937 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26934 /* 75944 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26935 /* 75948 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26936 /* 75952 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26937 /* 75959 */ // (atomic_store GR32:{ *:[i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (MOV32mr addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
26938 /* 75959 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32mr),
26939 /* 75962 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26940 /* 75966 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
26941 /* 75968 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
26942 /* 75972 */ GIR_RootConstrainSelectedInstOperands,
26943 /* 75973 */ // GIR_Coverage, 22513,
26944 /* 75973 */ GIR_EraseRootFromParent_Done,
26945 /* 75974 */ // Label 1670: @75974
26946 /* 75974 */ GIM_Try, /*On fail goto*//*Label 1671*/ GIMT_Encode4(76016), // Rule ID 34 //
26947 /* 75979 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26948 /* 75982 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26949 /* 75986 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26950 /* 75990 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26951 /* 75994 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26952 /* 76001 */ // (st GR32:{ *:[i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV32mr addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
26953 /* 76001 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32mr),
26954 /* 76004 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26955 /* 76008 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
26956 /* 76010 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
26957 /* 76014 */ GIR_RootConstrainSelectedInstOperands,
26958 /* 76015 */ // GIR_Coverage, 34,
26959 /* 76015 */ GIR_EraseRootFromParent_Done,
26960 /* 76016 */ // Label 1671: @76016
26961 /* 76016 */ GIM_Try, /*On fail goto*//*Label 1672*/ GIMT_Encode4(76064), // Rule ID 1095 //
26962 /* 76021 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
26963 /* 76024 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26964 /* 76027 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26965 /* 76031 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
26966 /* 76035 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26967 /* 76039 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26968 /* 76046 */ // (st RFP32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ST_Fp32m:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP32:{ *:[f32] }:$src)
26969 /* 76046 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ST_Fp32m),
26970 /* 76049 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
26971 /* 76053 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
26972 /* 76055 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
26973 /* 76058 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
26974 /* 76062 */ GIR_RootConstrainSelectedInstOperands,
26975 /* 76063 */ // GIR_Coverage, 1095,
26976 /* 76063 */ GIR_EraseRootFromParent_Done,
26977 /* 76064 */ // Label 1672: @76064
26978 /* 76064 */ GIM_Try, /*On fail goto*//*Label 1673*/ GIMT_Encode4(76109), // Rule ID 1688 //
26979 /* 76069 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
26980 /* 76072 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26981 /* 76075 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26982 /* 76079 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
26983 /* 76083 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26984 /* 76087 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26985 /* 76094 */ // (st FR32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVSSmr addr:{ *:[iPTR] }:$dst, FR32:{ *:[f32] }:$src)
26986 /* 76094 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSmr),
26987 /* 76097 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26988 /* 76101 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
26989 /* 76103 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
26990 /* 76107 */ GIR_RootConstrainSelectedInstOperands,
26991 /* 76108 */ // GIR_Coverage, 1688,
26992 /* 76108 */ GIR_EraseRootFromParent_Done,
26993 /* 76109 */ // Label 1673: @76109
26994 /* 76109 */ GIM_Try, /*On fail goto*//*Label 1674*/ GIMT_Encode4(76154), // Rule ID 1690 //
26995 /* 76114 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
26996 /* 76117 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26997 /* 76120 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26998 /* 76124 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
26999 /* 76128 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27000 /* 76132 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27001 /* 76139 */ // (st FR32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVSSmr addr:{ *:[iPTR] }:$dst, FR32:{ *:[f32] }:$src)
27002 /* 76139 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSSmr),
27003 /* 76142 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27004 /* 76146 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27005 /* 76148 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27006 /* 76152 */ GIR_RootConstrainSelectedInstOperands,
27007 /* 76153 */ // GIR_Coverage, 1690,
27008 /* 76153 */ GIR_EraseRootFromParent_Done,
27009 /* 76154 */ // Label 1674: @76154
27010 /* 76154 */ GIM_Try, /*On fail goto*//*Label 1675*/ GIMT_Encode4(76199), // Rule ID 4610 //
27011 /* 76159 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
27012 /* 76162 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27013 /* 76165 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27014 /* 76169 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
27015 /* 76173 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27016 /* 76177 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27017 /* 76184 */ // (st FR32X:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVSSZmr addr:{ *:[iPTR] }:$dst, FR32X:{ *:[f32] }:$src)
27018 /* 76184 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSZmr),
27019 /* 76187 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27020 /* 76191 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27021 /* 76193 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27022 /* 76197 */ GIR_RootConstrainSelectedInstOperands,
27023 /* 76198 */ // GIR_Coverage, 4610,
27024 /* 76198 */ GIR_EraseRootFromParent_Done,
27025 /* 76199 */ // Label 1675: @76199
27026 /* 76199 */ GIM_Reject,
27027 /* 76200 */ // Label 1478: @76200
27028 /* 76200 */ GIM_Try, /*On fail goto*//*Label 1676*/ GIMT_Encode4(76296), // Rule ID 22494 //
27029 /* 76205 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
27030 /* 76208 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27031 /* 76211 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27032 /* 76218 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27033 /* 76222 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
27034 /* 76226 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27035 /* 76230 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27036 /* 76234 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27037 /* 76238 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27038 /* 76242 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27039 /* 76245 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27040 /* 76249 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27041 /* 76256 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27042 /* 76260 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
27043 /* 76264 */ // MIs[0] dst
27044 /* 76264 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27045 /* 76269 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27046 /* 76271 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27047 /* 76278 */ // (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)
27048 /* 76278 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC64m),
27049 /* 76281 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27050 /* 76285 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27051 /* 76288 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27052 /* 76294 */ GIR_RootConstrainSelectedInstOperands,
27053 /* 76295 */ // GIR_Coverage, 22494,
27054 /* 76295 */ GIR_EraseRootFromParent_Done,
27055 /* 76296 */ // Label 1676: @76296
27056 /* 76296 */ GIM_Try, /*On fail goto*//*Label 1677*/ GIMT_Encode4(76392), // Rule ID 22498 //
27057 /* 76301 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
27058 /* 76304 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27059 /* 76307 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27060 /* 76314 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27061 /* 76318 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
27062 /* 76322 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27063 /* 76326 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27064 /* 76330 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27065 /* 76334 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27066 /* 76338 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27067 /* 76341 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27068 /* 76345 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27069 /* 76352 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27070 /* 76356 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
27071 /* 76360 */ // MIs[0] dst
27072 /* 76360 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27073 /* 76365 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27074 /* 76367 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27075 /* 76374 */ // (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)
27076 /* 76374 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC64m),
27077 /* 76377 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27078 /* 76381 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27079 /* 76384 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27080 /* 76390 */ GIR_RootConstrainSelectedInstOperands,
27081 /* 76391 */ // GIR_Coverage, 22498,
27082 /* 76391 */ GIR_EraseRootFromParent_Done,
27083 /* 76392 */ // Label 1677: @76392
27084 /* 76392 */ GIM_Try, /*On fail goto*//*Label 1678*/ GIMT_Encode4(76485), // Rule ID 22502 //
27085 /* 76397 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27086 /* 76400 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27087 /* 76407 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27088 /* 76411 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
27089 /* 76415 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27090 /* 76419 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27091 /* 76423 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
27092 /* 76427 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27093 /* 76431 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27094 /* 76435 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27095 /* 76438 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27096 /* 76442 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27097 /* 76449 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27098 /* 76453 */ // MIs[0] dst
27099 /* 76453 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27100 /* 76458 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27101 /* 76460 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27102 /* 76467 */ // (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)
27103 /* 76467 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG64m),
27104 /* 76470 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27105 /* 76474 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27106 /* 76477 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27107 /* 76483 */ GIR_RootConstrainSelectedInstOperands,
27108 /* 76484 */ // GIR_Coverage, 22502,
27109 /* 76484 */ GIR_EraseRootFromParent_Done,
27110 /* 76485 */ // Label 1678: @76485
27111 /* 76485 */ GIM_Try, /*On fail goto*//*Label 1679*/ GIMT_Encode4(76575), // Rule ID 22506 //
27112 /* 76490 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27113 /* 76493 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27114 /* 76500 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27115 /* 76504 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
27116 /* 76508 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27117 /* 76512 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27118 /* 76516 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27119 /* 76520 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27120 /* 76524 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27121 /* 76527 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27122 /* 76531 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27123 /* 76538 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27124 /* 76542 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
27125 /* 76546 */ // MIs[0] dst
27126 /* 76546 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27127 /* 76551 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27128 /* 76553 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27129 /* 76560 */ // (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)
27130 /* 76560 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT64m),
27131 /* 76563 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27132 /* 76567 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27133 /* 76573 */ GIR_RootConstrainSelectedInstOperands,
27134 /* 76574 */ // GIR_Coverage, 22506,
27135 /* 76574 */ GIR_EraseRootFromParent_Done,
27136 /* 76575 */ // Label 1679: @76575
27137 /* 76575 */ GIM_Try, /*On fail goto*//*Label 1680*/ GIMT_Encode4(76661), // Rule ID 231 //
27138 /* 76580 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode_UseIncDec),
27139 /* 76583 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27140 /* 76586 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27141 /* 76590 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27142 /* 76594 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
27143 /* 76598 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27144 /* 76602 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27145 /* 76606 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27146 /* 76610 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27147 /* 76614 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27148 /* 76617 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27149 /* 76621 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27150 /* 76625 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
27151 /* 76629 */ // MIs[0] src1
27152 /* 76629 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27153 /* 76634 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27154 /* 76636 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27155 /* 76643 */ // (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)
27156 /* 76643 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC64m),
27157 /* 76646 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27158 /* 76650 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27159 /* 76653 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27160 /* 76659 */ GIR_RootConstrainSelectedInstOperands,
27161 /* 76660 */ // GIR_Coverage, 231,
27162 /* 76660 */ GIR_EraseRootFromParent_Done,
27163 /* 76661 */ // Label 1680: @76661
27164 /* 76661 */ GIM_Try, /*On fail goto*//*Label 1681*/ GIMT_Encode4(76747), // Rule ID 232 //
27165 /* 76666 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode_UseIncDec),
27166 /* 76669 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27167 /* 76672 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27168 /* 76676 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27169 /* 76680 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
27170 /* 76684 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27171 /* 76688 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27172 /* 76692 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27173 /* 76696 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27174 /* 76700 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27175 /* 76703 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27176 /* 76707 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27177 /* 76711 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
27178 /* 76715 */ // MIs[0] src1
27179 /* 76715 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27180 /* 76720 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27181 /* 76722 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27182 /* 76729 */ // (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)
27183 /* 76729 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC64m),
27184 /* 76732 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27185 /* 76736 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27186 /* 76739 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27187 /* 76745 */ GIR_RootConstrainSelectedInstOperands,
27188 /* 76746 */ // GIR_Coverage, 232,
27189 /* 76746 */ GIR_EraseRootFromParent_Done,
27190 /* 76747 */ // Label 1681: @76747
27191 /* 76747 */ GIM_Try, /*On fail goto*//*Label 1682*/ GIMT_Encode4(76840), // Rule ID 22616 //
27192 /* 76752 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27193 /* 76755 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27194 /* 76759 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27195 /* 76763 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
27196 /* 76767 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27197 /* 76771 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27198 /* 76775 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27199 /* 76779 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27200 /* 76783 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27201 /* 76786 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27202 /* 76790 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27203 /* 76794 */ GIM_CheckConstantInt, /*MI*/1, /*Op*/2, GIMT_Encode8(128),
27204 /* 76805 */ // MIs[0] dst
27205 /* 76805 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27206 /* 76810 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27207 /* 76812 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27208 /* 76819 */ // (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] })
27209 /* 76819 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64mi32),
27210 /* 76822 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27211 /* 76826 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/uint8_t(-128),
27212 /* 76829 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27213 /* 76832 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27214 /* 76838 */ GIR_RootConstrainSelectedInstOperands,
27215 /* 76839 */ // GIR_Coverage, 22616,
27216 /* 76839 */ GIR_EraseRootFromParent_Done,
27217 /* 76840 */ // Label 1682: @76840
27218 /* 76840 */ GIM_Try, /*On fail goto*//*Label 1683*/ GIMT_Encode4(76940), // Rule ID 22624 //
27219 /* 76845 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27220 /* 76848 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27221 /* 76852 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27222 /* 76856 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
27223 /* 76860 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27224 /* 76864 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27225 /* 76868 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27226 /* 76872 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27227 /* 76876 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27228 /* 76879 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27229 /* 76883 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27230 /* 76887 */ GIM_CheckConstantInt, /*MI*/1, /*Op*/2, GIMT_Encode8(2147483648),
27231 /* 76898 */ // MIs[0] dst
27232 /* 76898 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27233 /* 76903 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27234 /* 76905 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27235 /* 76912 */ // (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] })
27236 /* 76912 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64mi32),
27237 /* 76915 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27238 /* 76919 */ GIR_AddImm, /*InsnID*/0, /*Imm*/GIMT_Encode8(-2147483648),
27239 /* 76929 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27240 /* 76932 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27241 /* 76938 */ GIR_RootConstrainSelectedInstOperands,
27242 /* 76939 */ // GIR_Coverage, 22624,
27243 /* 76939 */ GIR_EraseRootFromParent_Done,
27244 /* 76940 */ // Label 1683: @76940
27245 /* 76940 */ GIM_Try, /*On fail goto*//*Label 1684*/ GIMT_Encode4(77026), // Rule ID 17615 //
27246 /* 76945 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
27247 /* 76948 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27248 /* 76951 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27249 /* 76955 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27250 /* 76959 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
27251 /* 76963 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27252 /* 76967 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
27253 /* 76971 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27254 /* 76975 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27255 /* 76979 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27256 /* 76982 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27257 /* 76986 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27258 /* 76990 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 63,
27259 /* 76994 */ // MIs[0] dst
27260 /* 76994 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27261 /* 76999 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27262 /* 77001 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27263 /* 77008 */ // (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)
27264 /* 77008 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64m1),
27265 /* 77011 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27266 /* 77015 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27267 /* 77018 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27268 /* 77024 */ GIR_RootConstrainSelectedInstOperands,
27269 /* 77025 */ // GIR_Coverage, 17615,
27270 /* 77025 */ GIR_EraseRootFromParent_Done,
27271 /* 77026 */ // Label 1684: @77026
27272 /* 77026 */ GIM_Try, /*On fail goto*//*Label 1685*/ GIMT_Encode4(77112), // Rule ID 17619 //
27273 /* 77031 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
27274 /* 77034 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27275 /* 77037 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27276 /* 77041 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27277 /* 77045 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
27278 /* 77049 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27279 /* 77053 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
27280 /* 77057 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27281 /* 77061 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27282 /* 77065 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27283 /* 77068 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27284 /* 77072 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27285 /* 77076 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 63,
27286 /* 77080 */ // MIs[0] dst
27287 /* 77080 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27288 /* 77085 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27289 /* 77087 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27290 /* 77094 */ // (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)
27291 /* 77094 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64m1),
27292 /* 77097 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27293 /* 77101 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27294 /* 77104 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27295 /* 77110 */ GIR_RootConstrainSelectedInstOperands,
27296 /* 77111 */ // GIR_Coverage, 17619,
27297 /* 77111 */ GIR_EraseRootFromParent_Done,
27298 /* 77112 */ // Label 1685: @77112
27299 /* 77112 */ GIM_Try, /*On fail goto*//*Label 1686*/ GIMT_Encode4(77198), // Rule ID 264 //
27300 /* 77117 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
27301 /* 77120 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27302 /* 77123 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27303 /* 77127 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27304 /* 77131 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
27305 /* 77135 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27306 /* 77139 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27307 /* 77143 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
27308 /* 77147 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27309 /* 77151 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27310 /* 77155 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27311 /* 77158 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27312 /* 77162 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27313 /* 77166 */ // MIs[0] src1
27314 /* 77166 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27315 /* 77171 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27316 /* 77173 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27317 /* 77180 */ // (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)
27318 /* 77180 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG64m),
27319 /* 77183 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27320 /* 77187 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27321 /* 77190 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27322 /* 77196 */ GIR_RootConstrainSelectedInstOperands,
27323 /* 77197 */ // GIR_Coverage, 264,
27324 /* 77197 */ GIR_EraseRootFromParent_Done,
27325 /* 77198 */ // Label 1686: @77198
27326 /* 77198 */ GIM_Try, /*On fail goto*//*Label 1687*/ GIMT_Encode4(77281), // Rule ID 272 //
27327 /* 77203 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
27328 /* 77206 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27329 /* 77209 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27330 /* 77213 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27331 /* 77217 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
27332 /* 77221 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27333 /* 77225 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27334 /* 77229 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27335 /* 77233 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27336 /* 77237 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27337 /* 77240 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27338 /* 77244 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27339 /* 77248 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, uint8_t(-1),
27340 /* 77252 */ // MIs[0] src1
27341 /* 77252 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27342 /* 77257 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27343 /* 77259 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27344 /* 77266 */ // (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)
27345 /* 77266 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT64m),
27346 /* 77269 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27347 /* 77273 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27348 /* 77279 */ GIR_RootConstrainSelectedInstOperands,
27349 /* 77280 */ // GIR_Coverage, 272,
27350 /* 77280 */ GIR_EraseRootFromParent_Done,
27351 /* 77281 */ // Label 1687: @77281
27352 /* 77281 */ GIM_Try, /*On fail goto*//*Label 1688*/ GIMT_Encode4(77386), // Rule ID 22430 //
27353 /* 77286 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27354 /* 77289 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27355 /* 77296 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27356 /* 77300 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
27357 /* 77304 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27358 /* 77308 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27359 /* 77312 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27360 /* 77316 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27361 /* 77320 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27362 /* 77323 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27363 /* 77327 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27364 /* 77334 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27365 /* 77338 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
27366 /* 77342 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
27367 /* 77346 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
27368 /* 77350 */ // MIs[3] Operand 1
27369 /* 77350 */ // No operand predicates
27370 /* 77350 */ // MIs[0] dst
27371 /* 77350 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27372 /* 77355 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
27373 /* 77357 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27374 /* 77364 */ // (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)
27375 /* 77364 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64mi32),
27376 /* 77367 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27377 /* 77371 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
27378 /* 77374 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27379 /* 77377 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
27380 /* 77384 */ GIR_RootConstrainSelectedInstOperands,
27381 /* 77385 */ // GIR_Coverage, 22430,
27382 /* 77385 */ GIR_EraseRootFromParent_Done,
27383 /* 77386 */ // Label 1688: @77386
27384 /* 77386 */ GIM_Try, /*On fail goto*//*Label 1689*/ GIMT_Encode4(77491), // Rule ID 22438 //
27385 /* 77391 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27386 /* 77394 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27387 /* 77401 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27388 /* 77405 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
27389 /* 77409 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27390 /* 77413 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27391 /* 77417 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27392 /* 77421 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27393 /* 77425 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27394 /* 77428 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27395 /* 77432 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27396 /* 77439 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27397 /* 77443 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
27398 /* 77447 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
27399 /* 77451 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
27400 /* 77455 */ // MIs[3] Operand 1
27401 /* 77455 */ // No operand predicates
27402 /* 77455 */ // MIs[0] dst
27403 /* 77455 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27404 /* 77460 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
27405 /* 77462 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27406 /* 77469 */ // (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)
27407 /* 77469 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64mi32),
27408 /* 77472 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27409 /* 77476 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
27410 /* 77479 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27411 /* 77482 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
27412 /* 77489 */ GIR_RootConstrainSelectedInstOperands,
27413 /* 77490 */ // GIR_Coverage, 22438,
27414 /* 77490 */ GIR_EraseRootFromParent_Done,
27415 /* 77491 */ // Label 1689: @77491
27416 /* 77491 */ GIM_Try, /*On fail goto*//*Label 1690*/ GIMT_Encode4(77596), // Rule ID 22446 //
27417 /* 77496 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27418 /* 77499 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27419 /* 77506 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27420 /* 77510 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
27421 /* 77514 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27422 /* 77518 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27423 /* 77522 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27424 /* 77526 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27425 /* 77530 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27426 /* 77533 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27427 /* 77537 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27428 /* 77544 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27429 /* 77548 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
27430 /* 77552 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
27431 /* 77556 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
27432 /* 77560 */ // MIs[3] Operand 1
27433 /* 77560 */ // No operand predicates
27434 /* 77560 */ // MIs[0] dst
27435 /* 77560 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27436 /* 77565 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
27437 /* 77567 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27438 /* 77574 */ // (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)
27439 /* 77574 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64mi32),
27440 /* 77577 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27441 /* 77581 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
27442 /* 77584 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27443 /* 77587 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
27444 /* 77594 */ GIR_RootConstrainSelectedInstOperands,
27445 /* 77595 */ // GIR_Coverage, 22446,
27446 /* 77595 */ GIR_EraseRootFromParent_Done,
27447 /* 77596 */ // Label 1690: @77596
27448 /* 77596 */ GIM_Try, /*On fail goto*//*Label 1691*/ GIMT_Encode4(77701), // Rule ID 22462 //
27449 /* 77601 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27450 /* 77604 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27451 /* 77611 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27452 /* 77615 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
27453 /* 77619 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27454 /* 77623 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27455 /* 77627 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27456 /* 77631 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27457 /* 77635 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27458 /* 77638 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27459 /* 77642 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27460 /* 77649 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27461 /* 77653 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
27462 /* 77657 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
27463 /* 77661 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
27464 /* 77665 */ // MIs[3] Operand 1
27465 /* 77665 */ // No operand predicates
27466 /* 77665 */ // MIs[0] dst
27467 /* 77665 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27468 /* 77670 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
27469 /* 77672 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27470 /* 77679 */ // (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)
27471 /* 77679 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64mi32),
27472 /* 77682 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27473 /* 77686 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
27474 /* 77689 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27475 /* 77692 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
27476 /* 77699 */ GIR_RootConstrainSelectedInstOperands,
27477 /* 77700 */ // GIR_Coverage, 22462,
27478 /* 77700 */ GIR_EraseRootFromParent_Done,
27479 /* 77701 */ // Label 1691: @77701
27480 /* 77701 */ GIM_Try, /*On fail goto*//*Label 1692*/ GIMT_Encode4(77806), // Rule ID 22454 //
27481 /* 77706 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27482 /* 77709 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27483 /* 77716 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27484 /* 77720 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
27485 /* 77724 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27486 /* 77728 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27487 /* 77732 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27488 /* 77736 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27489 /* 77740 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27490 /* 77743 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27491 /* 77747 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27492 /* 77754 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27493 /* 77758 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
27494 /* 77762 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
27495 /* 77766 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
27496 /* 77770 */ // MIs[3] Operand 1
27497 /* 77770 */ // No operand predicates
27498 /* 77770 */ // MIs[0] dst
27499 /* 77770 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27500 /* 77775 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
27501 /* 77777 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27502 /* 77784 */ // (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)
27503 /* 77784 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64mi32),
27504 /* 77787 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27505 /* 77791 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
27506 /* 77794 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27507 /* 77797 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
27508 /* 77804 */ GIR_RootConstrainSelectedInstOperands,
27509 /* 77805 */ // GIR_Coverage, 22454,
27510 /* 77805 */ GIR_EraseRootFromParent_Done,
27511 /* 77806 */ // Label 1692: @77806
27512 /* 77806 */ GIM_Try, /*On fail goto*//*Label 1693*/ GIMT_Encode4(77910), // Rule ID 835 //
27513 /* 77811 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27514 /* 77814 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27515 /* 77818 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27516 /* 77822 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHL),
27517 /* 77826 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27518 /* 77830 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27519 /* 77834 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
27520 /* 77838 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27521 /* 77842 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27522 /* 77846 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27523 /* 77849 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27524 /* 77853 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27525 /* 77857 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27526 /* 77862 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/3, // MIs[3]
27527 /* 77866 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
27528 /* 77870 */ // MIs[3] Operand 1
27529 /* 77870 */ // No operand predicates
27530 /* 77870 */ // MIs[0] src1
27531 /* 77870 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27532 /* 77875 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
27533 /* 77877 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27534 /* 77884 */ // (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)
27535 /* 77884 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD64mri8),
27536 /* 77887 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27537 /* 77891 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
27538 /* 77895 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src3
27539 /* 77898 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27540 /* 77901 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
27541 /* 77908 */ GIR_RootConstrainSelectedInstOperands,
27542 /* 77909 */ // GIR_Coverage, 835,
27543 /* 77909 */ GIR_EraseRootFromParent_Done,
27544 /* 77910 */ // Label 1693: @77910
27545 /* 77910 */ GIM_Try, /*On fail goto*//*Label 1694*/ GIMT_Encode4(78014), // Rule ID 859 //
27546 /* 77915 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27547 /* 77918 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27548 /* 77922 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27549 /* 77926 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHR),
27550 /* 77930 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27551 /* 77934 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27552 /* 77938 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
27553 /* 77942 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27554 /* 77947 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27555 /* 77951 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27556 /* 77955 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27557 /* 77958 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27558 /* 77962 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27559 /* 77966 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/3, // MIs[3]
27560 /* 77970 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
27561 /* 77974 */ // MIs[3] Operand 1
27562 /* 77974 */ // No operand predicates
27563 /* 77974 */ // MIs[0] src1
27564 /* 77974 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27565 /* 77979 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
27566 /* 77981 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27567 /* 77988 */ // (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)
27568 /* 77988 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD64mri8),
27569 /* 77991 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27570 /* 77995 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
27571 /* 77999 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src3
27572 /* 78002 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27573 /* 78005 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
27574 /* 78012 */ GIR_RootConstrainSelectedInstOperands,
27575 /* 78013 */ // GIR_Coverage, 859,
27576 /* 78013 */ GIR_EraseRootFromParent_Done,
27577 /* 78014 */ // Label 1694: @78014
27578 /* 78014 */ GIM_Try, /*On fail goto*//*Label 1695*/ GIMT_Encode4(78108), // Rule ID 736 //
27579 /* 78019 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
27580 /* 78022 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27581 /* 78025 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27582 /* 78029 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27583 /* 78033 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
27584 /* 78037 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27585 /* 78041 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
27586 /* 78045 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27587 /* 78049 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27588 /* 78053 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27589 /* 78056 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27590 /* 78060 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27591 /* 78064 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
27592 /* 78068 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
27593 /* 78072 */ // MIs[3] Operand 1
27594 /* 78072 */ // No operand predicates
27595 /* 78072 */ // MIs[0] src1
27596 /* 78072 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27597 /* 78077 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
27598 /* 78079 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27599 /* 78086 */ // (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)
27600 /* 78086 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR64mi),
27601 /* 78089 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27602 /* 78093 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
27603 /* 78096 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27604 /* 78099 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
27605 /* 78106 */ GIR_RootConstrainSelectedInstOperands,
27606 /* 78107 */ // GIR_Coverage, 736,
27607 /* 78107 */ GIR_EraseRootFromParent_Done,
27608 /* 78108 */ // Label 1695: @78108
27609 /* 78108 */ GIM_Try, /*On fail goto*//*Label 1696*/ GIMT_Encode4(78202), // Rule ID 704 //
27610 /* 78113 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
27611 /* 78116 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27612 /* 78119 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27613 /* 78123 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27614 /* 78127 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
27615 /* 78131 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27616 /* 78135 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
27617 /* 78139 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27618 /* 78143 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27619 /* 78147 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27620 /* 78150 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27621 /* 78154 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27622 /* 78158 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
27623 /* 78162 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
27624 /* 78166 */ // MIs[3] Operand 1
27625 /* 78166 */ // No operand predicates
27626 /* 78166 */ // MIs[0] src1
27627 /* 78166 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27628 /* 78171 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
27629 /* 78173 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27630 /* 78180 */ // (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)
27631 /* 78180 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR64mi),
27632 /* 78183 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27633 /* 78187 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
27634 /* 78190 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27635 /* 78193 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
27636 /* 78200 */ GIR_RootConstrainSelectedInstOperands,
27637 /* 78201 */ // GIR_Coverage, 704,
27638 /* 78201 */ GIR_EraseRootFromParent_Done,
27639 /* 78202 */ // Label 1696: @78202
27640 /* 78202 */ GIM_Try, /*On fail goto*//*Label 1697*/ GIMT_Encode4(78296), // Rule ID 768 //
27641 /* 78207 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
27642 /* 78210 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27643 /* 78213 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27644 /* 78217 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27645 /* 78221 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
27646 /* 78225 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27647 /* 78229 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
27648 /* 78233 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27649 /* 78237 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27650 /* 78241 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27651 /* 78244 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27652 /* 78248 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27653 /* 78252 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
27654 /* 78256 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
27655 /* 78260 */ // MIs[3] Operand 1
27656 /* 78260 */ // No operand predicates
27657 /* 78260 */ // MIs[0] src1
27658 /* 78260 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27659 /* 78265 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
27660 /* 78267 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27661 /* 78274 */ // (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)
27662 /* 78274 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64mi),
27663 /* 78277 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27664 /* 78281 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
27665 /* 78284 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27666 /* 78287 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
27667 /* 78294 */ GIR_RootConstrainSelectedInstOperands,
27668 /* 78295 */ // GIR_Coverage, 768,
27669 /* 78295 */ GIR_EraseRootFromParent_Done,
27670 /* 78296 */ // Label 1697: @78296
27671 /* 78296 */ GIM_Try, /*On fail goto*//*Label 1698*/ GIMT_Encode4(78390), // Rule ID 800 //
27672 /* 78301 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
27673 /* 78304 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27674 /* 78307 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27675 /* 78311 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27676 /* 78315 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
27677 /* 78319 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27678 /* 78323 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
27679 /* 78327 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27680 /* 78331 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27681 /* 78335 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27682 /* 78338 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27683 /* 78342 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27684 /* 78346 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
27685 /* 78350 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
27686 /* 78354 */ // MIs[3] Operand 1
27687 /* 78354 */ // No operand predicates
27688 /* 78354 */ // MIs[0] src1
27689 /* 78354 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27690 /* 78359 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
27691 /* 78361 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27692 /* 78368 */ // (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)
27693 /* 78368 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64mi),
27694 /* 78371 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27695 /* 78375 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
27696 /* 78378 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27697 /* 78381 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
27698 /* 78388 */ GIR_RootConstrainSelectedInstOperands,
27699 /* 78389 */ // GIR_Coverage, 800,
27700 /* 78389 */ GIR_EraseRootFromParent_Done,
27701 /* 78390 */ // Label 1698: @78390
27702 /* 78390 */ GIM_Try, /*On fail goto*//*Label 1699*/ GIMT_Encode4(78484), // Rule ID 672 //
27703 /* 78395 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
27704 /* 78398 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27705 /* 78401 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27706 /* 78405 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27707 /* 78409 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
27708 /* 78413 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27709 /* 78417 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
27710 /* 78421 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27711 /* 78425 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27712 /* 78429 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27713 /* 78432 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27714 /* 78436 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27715 /* 78440 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
27716 /* 78444 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
27717 /* 78448 */ // MIs[3] Operand 1
27718 /* 78448 */ // No operand predicates
27719 /* 78448 */ // MIs[0] src1
27720 /* 78448 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27721 /* 78453 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
27722 /* 78455 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27723 /* 78462 */ // (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)
27724 /* 78462 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL64mi),
27725 /* 78465 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27726 /* 78469 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
27727 /* 78472 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27728 /* 78475 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
27729 /* 78482 */ GIR_RootConstrainSelectedInstOperands,
27730 /* 78483 */ // GIR_Coverage, 672,
27731 /* 78483 */ GIR_EraseRootFromParent_Done,
27732 /* 78484 */ // Label 1699: @78484
27733 /* 78484 */ GIM_Try, /*On fail goto*//*Label 1700*/ GIMT_Encode4(78582), // Rule ID 22434 //
27734 /* 78489 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27735 /* 78492 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27736 /* 78499 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27737 /* 78503 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
27738 /* 78507 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27739 /* 78511 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27740 /* 78515 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27741 /* 78519 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27742 /* 78523 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27743 /* 78526 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27744 /* 78530 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27745 /* 78537 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27746 /* 78541 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27747 /* 78546 */ // MIs[0] dst
27748 /* 78546 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27749 /* 78551 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27750 /* 78553 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27751 /* 78560 */ // (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)
27752 /* 78560 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64mr),
27753 /* 78563 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27754 /* 78567 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
27755 /* 78571 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27756 /* 78574 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27757 /* 78580 */ GIR_RootConstrainSelectedInstOperands,
27758 /* 78581 */ // GIR_Coverage, 22434,
27759 /* 78581 */ GIR_EraseRootFromParent_Done,
27760 /* 78582 */ // Label 1700: @78582
27761 /* 78582 */ GIM_Try, /*On fail goto*//*Label 1701*/ GIMT_Encode4(78680), // Rule ID 26005 //
27762 /* 78587 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27763 /* 78590 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27764 /* 78597 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27765 /* 78601 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
27766 /* 78605 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27767 /* 78609 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27768 /* 78613 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27769 /* 78618 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27770 /* 78622 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27771 /* 78626 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27772 /* 78629 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27773 /* 78633 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27774 /* 78640 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27775 /* 78644 */ // MIs[0] dst
27776 /* 78644 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27777 /* 78649 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27778 /* 78651 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27779 /* 78658 */ // (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)
27780 /* 78658 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64mr),
27781 /* 78661 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27782 /* 78665 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
27783 /* 78669 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27784 /* 78672 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27785 /* 78678 */ GIR_RootConstrainSelectedInstOperands,
27786 /* 78679 */ // GIR_Coverage, 26005,
27787 /* 78679 */ GIR_EraseRootFromParent_Done,
27788 /* 78680 */ // Label 1701: @78680
27789 /* 78680 */ GIM_Try, /*On fail goto*//*Label 1702*/ GIMT_Encode4(78778), // Rule ID 22442 //
27790 /* 78685 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27791 /* 78688 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27792 /* 78695 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27793 /* 78699 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
27794 /* 78703 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27795 /* 78707 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27796 /* 78711 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27797 /* 78715 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27798 /* 78719 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27799 /* 78722 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27800 /* 78726 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27801 /* 78733 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27802 /* 78737 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27803 /* 78742 */ // MIs[0] dst
27804 /* 78742 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27805 /* 78747 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27806 /* 78749 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27807 /* 78756 */ // (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)
27808 /* 78756 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64mr),
27809 /* 78759 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27810 /* 78763 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
27811 /* 78767 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27812 /* 78770 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27813 /* 78776 */ GIR_RootConstrainSelectedInstOperands,
27814 /* 78777 */ // GIR_Coverage, 22442,
27815 /* 78777 */ GIR_EraseRootFromParent_Done,
27816 /* 78778 */ // Label 1702: @78778
27817 /* 78778 */ GIM_Try, /*On fail goto*//*Label 1703*/ GIMT_Encode4(78876), // Rule ID 26009 //
27818 /* 78783 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27819 /* 78786 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27820 /* 78793 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27821 /* 78797 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
27822 /* 78801 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27823 /* 78805 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27824 /* 78809 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27825 /* 78814 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27826 /* 78818 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27827 /* 78822 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27828 /* 78825 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27829 /* 78829 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27830 /* 78836 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27831 /* 78840 */ // MIs[0] dst
27832 /* 78840 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27833 /* 78845 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27834 /* 78847 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27835 /* 78854 */ // (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)
27836 /* 78854 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64mr),
27837 /* 78857 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27838 /* 78861 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
27839 /* 78865 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27840 /* 78868 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27841 /* 78874 */ GIR_RootConstrainSelectedInstOperands,
27842 /* 78875 */ // GIR_Coverage, 26009,
27843 /* 78875 */ GIR_EraseRootFromParent_Done,
27844 /* 78876 */ // Label 1703: @78876
27845 /* 78876 */ GIM_Try, /*On fail goto*//*Label 1704*/ GIMT_Encode4(78974), // Rule ID 22450 //
27846 /* 78881 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27847 /* 78884 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27848 /* 78891 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27849 /* 78895 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
27850 /* 78899 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27851 /* 78903 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27852 /* 78907 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27853 /* 78911 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27854 /* 78915 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27855 /* 78918 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27856 /* 78922 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27857 /* 78929 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27858 /* 78933 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27859 /* 78938 */ // MIs[0] dst
27860 /* 78938 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27861 /* 78943 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27862 /* 78945 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27863 /* 78952 */ // (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)
27864 /* 78952 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64mr),
27865 /* 78955 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27866 /* 78959 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
27867 /* 78963 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27868 /* 78966 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27869 /* 78972 */ GIR_RootConstrainSelectedInstOperands,
27870 /* 78973 */ // GIR_Coverage, 22450,
27871 /* 78973 */ GIR_EraseRootFromParent_Done,
27872 /* 78974 */ // Label 1704: @78974
27873 /* 78974 */ GIM_Try, /*On fail goto*//*Label 1705*/ GIMT_Encode4(79072), // Rule ID 26013 //
27874 /* 78979 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27875 /* 78982 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27876 /* 78989 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27877 /* 78993 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
27878 /* 78997 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27879 /* 79001 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27880 /* 79005 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27881 /* 79010 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27882 /* 79014 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27883 /* 79018 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27884 /* 79021 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27885 /* 79025 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27886 /* 79032 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27887 /* 79036 */ // MIs[0] dst
27888 /* 79036 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27889 /* 79041 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27890 /* 79043 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27891 /* 79050 */ // (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)
27892 /* 79050 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64mr),
27893 /* 79053 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27894 /* 79057 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
27895 /* 79061 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27896 /* 79064 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27897 /* 79070 */ GIR_RootConstrainSelectedInstOperands,
27898 /* 79071 */ // GIR_Coverage, 26013,
27899 /* 79071 */ GIR_EraseRootFromParent_Done,
27900 /* 79072 */ // Label 1705: @79072
27901 /* 79072 */ GIM_Try, /*On fail goto*//*Label 1706*/ GIMT_Encode4(79170), // Rule ID 22466 //
27902 /* 79077 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27903 /* 79080 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27904 /* 79087 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27905 /* 79091 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
27906 /* 79095 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27907 /* 79099 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27908 /* 79103 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27909 /* 79107 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27910 /* 79111 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27911 /* 79114 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27912 /* 79118 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27913 /* 79125 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27914 /* 79129 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27915 /* 79134 */ // MIs[0] dst
27916 /* 79134 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27917 /* 79139 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27918 /* 79141 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27919 /* 79148 */ // (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)
27920 /* 79148 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64mr),
27921 /* 79151 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27922 /* 79155 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
27923 /* 79159 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27924 /* 79162 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27925 /* 79168 */ GIR_RootConstrainSelectedInstOperands,
27926 /* 79169 */ // GIR_Coverage, 22466,
27927 /* 79169 */ GIR_EraseRootFromParent_Done,
27928 /* 79170 */ // Label 1706: @79170
27929 /* 79170 */ GIM_Try, /*On fail goto*//*Label 1707*/ GIMT_Encode4(79268), // Rule ID 22458 //
27930 /* 79175 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27931 /* 79178 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27932 /* 79185 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27933 /* 79189 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
27934 /* 79193 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27935 /* 79197 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27936 /* 79201 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27937 /* 79205 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27938 /* 79209 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27939 /* 79212 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27940 /* 79216 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27941 /* 79223 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27942 /* 79227 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27943 /* 79232 */ // MIs[0] dst
27944 /* 79232 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27945 /* 79237 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27946 /* 79239 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27947 /* 79246 */ // (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)
27948 /* 79246 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64mr),
27949 /* 79249 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27950 /* 79253 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
27951 /* 79257 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27952 /* 79260 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27953 /* 79266 */ GIR_RootConstrainSelectedInstOperands,
27954 /* 79267 */ // GIR_Coverage, 22458,
27955 /* 79267 */ GIR_EraseRootFromParent_Done,
27956 /* 79268 */ // Label 1707: @79268
27957 /* 79268 */ GIM_Try, /*On fail goto*//*Label 1708*/ GIMT_Encode4(79366), // Rule ID 26017 //
27958 /* 79273 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27959 /* 79276 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27960 /* 79283 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27961 /* 79287 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
27962 /* 79291 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27963 /* 79295 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27964 /* 79299 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27965 /* 79304 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27966 /* 79308 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27967 /* 79312 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27968 /* 79315 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27969 /* 79319 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27970 /* 79326 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27971 /* 79330 */ // MIs[0] dst
27972 /* 79330 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27973 /* 79335 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27974 /* 79337 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27975 /* 79344 */ // (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)
27976 /* 79344 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64mr),
27977 /* 79347 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27978 /* 79351 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
27979 /* 79355 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27980 /* 79358 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27981 /* 79364 */ GIR_RootConstrainSelectedInstOperands,
27982 /* 79365 */ // GIR_Coverage, 26017,
27983 /* 79365 */ GIR_EraseRootFromParent_Done,
27984 /* 79366 */ // Label 1708: @79366
27985 /* 79366 */ GIM_Try, /*On fail goto*//*Label 1709*/ GIMT_Encode4(79477), // Rule ID 838 //
27986 /* 79371 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27987 /* 79374 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27988 /* 79378 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27989 /* 79382 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHL),
27990 /* 79386 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27991 /* 79390 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27992 /* 79394 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
27993 /* 79398 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27994 /* 79402 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27995 /* 79406 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27996 /* 79409 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27997 /* 79413 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27998 /* 79417 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27999 /* 79422 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
28000 /* 79427 */ // MIs[0] src1
28001 /* 79427 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28002 /* 79432 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28003 /* 79434 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28004 /* 79441 */ // (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)
28005 /* 79441 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
28006 /* 79445 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
28007 /* 79451 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // CL
28008 /* 79455 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD64mrCL),
28009 /* 79458 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28010 /* 79462 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
28011 /* 79466 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28012 /* 79469 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28013 /* 79475 */ GIR_RootConstrainSelectedInstOperands,
28014 /* 79476 */ // GIR_Coverage, 838,
28015 /* 79476 */ GIR_EraseRootFromParent_Done,
28016 /* 79477 */ // Label 1709: @79477
28017 /* 79477 */ GIM_Try, /*On fail goto*//*Label 1710*/ GIMT_Encode4(79588), // Rule ID 862 //
28018 /* 79482 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28019 /* 79485 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28020 /* 79489 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28021 /* 79493 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHR),
28022 /* 79497 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28023 /* 79501 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28024 /* 79505 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
28025 /* 79509 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28026 /* 79514 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
28027 /* 79518 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28028 /* 79522 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28029 /* 79525 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28030 /* 79529 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28031 /* 79533 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
28032 /* 79538 */ // MIs[0] src1
28033 /* 79538 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28034 /* 79543 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28035 /* 79545 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28036 /* 79552 */ // (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)
28037 /* 79552 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
28038 /* 79556 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
28039 /* 79562 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // CL
28040 /* 79566 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD64mrCL),
28041 /* 79569 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28042 /* 79573 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
28043 /* 79577 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28044 /* 79580 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28045 /* 79586 */ GIR_RootConstrainSelectedInstOperands,
28046 /* 79587 */ // GIR_Coverage, 862,
28047 /* 79587 */ GIR_EraseRootFromParent_Done,
28048 /* 79588 */ // Label 1710: @79588
28049 /* 79588 */ GIM_Try, /*On fail goto*//*Label 1711*/ GIMT_Encode4(79676), // Rule ID 412 //
28050 /* 79593 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28051 /* 79596 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28052 /* 79600 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28053 /* 79604 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
28054 /* 79608 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28055 /* 79612 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28056 /* 79616 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28057 /* 79620 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28058 /* 79624 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28059 /* 79627 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28060 /* 79631 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28061 /* 79635 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28062 /* 79640 */ // MIs[0] src1
28063 /* 79640 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28064 /* 79645 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28065 /* 79647 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28066 /* 79654 */ // (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)
28067 /* 79654 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64mr),
28068 /* 79657 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28069 /* 79661 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
28070 /* 79665 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28071 /* 79668 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28072 /* 79674 */ GIR_RootConstrainSelectedInstOperands,
28073 /* 79675 */ // GIR_Coverage, 412,
28074 /* 79675 */ GIR_EraseRootFromParent_Done,
28075 /* 79676 */ // Label 1711: @79676
28076 /* 79676 */ GIM_Try, /*On fail goto*//*Label 1712*/ GIMT_Encode4(79764), // Rule ID 23225 //
28077 /* 79681 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28078 /* 79684 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28079 /* 79688 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28080 /* 79692 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
28081 /* 79696 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28082 /* 79700 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28083 /* 79704 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28084 /* 79709 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
28085 /* 79713 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28086 /* 79717 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28087 /* 79720 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28088 /* 79724 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28089 /* 79728 */ // MIs[0] src1
28090 /* 79728 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28091 /* 79733 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28092 /* 79735 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28093 /* 79742 */ // (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)
28094 /* 79742 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64mr),
28095 /* 79745 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28096 /* 79749 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
28097 /* 79753 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28098 /* 79756 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28099 /* 79762 */ GIR_RootConstrainSelectedInstOperands,
28100 /* 79763 */ // GIR_Coverage, 23225,
28101 /* 79763 */ GIR_EraseRootFromParent_Done,
28102 /* 79764 */ // Label 1712: @79764
28103 /* 79764 */ GIM_Try, /*On fail goto*//*Label 1713*/ GIMT_Encode4(79852), // Rule ID 304 //
28104 /* 79769 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28105 /* 79772 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28106 /* 79776 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28107 /* 79780 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
28108 /* 79784 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28109 /* 79788 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28110 /* 79792 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28111 /* 79796 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28112 /* 79800 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28113 /* 79803 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28114 /* 79807 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28115 /* 79811 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28116 /* 79816 */ // MIs[0] src1
28117 /* 79816 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28118 /* 79821 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28119 /* 79823 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28120 /* 79830 */ // (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)
28121 /* 79830 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64mr),
28122 /* 79833 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28123 /* 79837 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
28124 /* 79841 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28125 /* 79844 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28126 /* 79850 */ GIR_RootConstrainSelectedInstOperands,
28127 /* 79851 */ // GIR_Coverage, 304,
28128 /* 79851 */ GIR_EraseRootFromParent_Done,
28129 /* 79852 */ // Label 1713: @79852
28130 /* 79852 */ GIM_Try, /*On fail goto*//*Label 1714*/ GIMT_Encode4(79940), // Rule ID 23189 //
28131 /* 79857 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28132 /* 79860 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28133 /* 79864 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28134 /* 79868 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
28135 /* 79872 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28136 /* 79876 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28137 /* 79880 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28138 /* 79885 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
28139 /* 79889 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28140 /* 79893 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28141 /* 79896 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28142 /* 79900 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28143 /* 79904 */ // MIs[0] src1
28144 /* 79904 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28145 /* 79909 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28146 /* 79911 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28147 /* 79918 */ // (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)
28148 /* 79918 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64mr),
28149 /* 79921 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28150 /* 79925 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
28151 /* 79929 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28152 /* 79932 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28153 /* 79938 */ GIR_RootConstrainSelectedInstOperands,
28154 /* 79939 */ // GIR_Coverage, 23189,
28155 /* 79939 */ GIR_EraseRootFromParent_Done,
28156 /* 79940 */ // Label 1714: @79940
28157 /* 79940 */ GIM_Try, /*On fail goto*//*Label 1715*/ GIMT_Encode4(80041), // Rule ID 752 //
28158 /* 79945 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
28159 /* 79948 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28160 /* 79951 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28161 /* 79955 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28162 /* 79959 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
28163 /* 79963 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28164 /* 79967 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
28165 /* 79971 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28166 /* 79975 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28167 /* 79979 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28168 /* 79982 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28169 /* 79986 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28170 /* 79990 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
28171 /* 79995 */ // MIs[0] src1
28172 /* 79995 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28173 /* 80000 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28174 /* 80002 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28175 /* 80009 */ // (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)
28176 /* 80009 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
28177 /* 80013 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
28178 /* 80019 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
28179 /* 80023 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR64mCL),
28180 /* 80026 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28181 /* 80030 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28182 /* 80033 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28183 /* 80039 */ GIR_RootConstrainSelectedInstOperands,
28184 /* 80040 */ // GIR_Coverage, 752,
28185 /* 80040 */ GIR_EraseRootFromParent_Done,
28186 /* 80041 */ // Label 1715: @80041
28187 /* 80041 */ GIM_Try, /*On fail goto*//*Label 1716*/ GIMT_Encode4(80142), // Rule ID 720 //
28188 /* 80046 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
28189 /* 80049 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28190 /* 80052 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28191 /* 80056 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28192 /* 80060 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
28193 /* 80064 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28194 /* 80068 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
28195 /* 80072 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28196 /* 80076 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28197 /* 80080 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28198 /* 80083 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28199 /* 80087 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28200 /* 80091 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
28201 /* 80096 */ // MIs[0] src1
28202 /* 80096 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28203 /* 80101 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28204 /* 80103 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28205 /* 80110 */ // (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)
28206 /* 80110 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
28207 /* 80114 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
28208 /* 80120 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
28209 /* 80124 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR64mCL),
28210 /* 80127 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28211 /* 80131 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28212 /* 80134 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28213 /* 80140 */ GIR_RootConstrainSelectedInstOperands,
28214 /* 80141 */ // GIR_Coverage, 720,
28215 /* 80141 */ GIR_EraseRootFromParent_Done,
28216 /* 80142 */ // Label 1716: @80142
28217 /* 80142 */ GIM_Try, /*On fail goto*//*Label 1717*/ GIMT_Encode4(80230), // Rule ID 340 //
28218 /* 80147 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28219 /* 80150 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28220 /* 80154 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28221 /* 80158 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
28222 /* 80162 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28223 /* 80166 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28224 /* 80170 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28225 /* 80174 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28226 /* 80178 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28227 /* 80181 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28228 /* 80185 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28229 /* 80189 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28230 /* 80194 */ // MIs[0] src1
28231 /* 80194 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28232 /* 80199 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28233 /* 80201 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28234 /* 80208 */ // (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)
28235 /* 80208 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64mr),
28236 /* 80211 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28237 /* 80215 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
28238 /* 80219 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28239 /* 80222 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28240 /* 80228 */ GIR_RootConstrainSelectedInstOperands,
28241 /* 80229 */ // GIR_Coverage, 340,
28242 /* 80229 */ GIR_EraseRootFromParent_Done,
28243 /* 80230 */ // Label 1717: @80230
28244 /* 80230 */ GIM_Try, /*On fail goto*//*Label 1718*/ GIMT_Encode4(80318), // Rule ID 23201 //
28245 /* 80235 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28246 /* 80238 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28247 /* 80242 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28248 /* 80246 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
28249 /* 80250 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28250 /* 80254 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28251 /* 80258 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28252 /* 80263 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
28253 /* 80267 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28254 /* 80271 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28255 /* 80274 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28256 /* 80278 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28257 /* 80282 */ // MIs[0] src1
28258 /* 80282 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28259 /* 80287 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28260 /* 80289 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28261 /* 80296 */ // (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)
28262 /* 80296 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64mr),
28263 /* 80299 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28264 /* 80303 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
28265 /* 80307 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28266 /* 80310 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28267 /* 80316 */ GIR_RootConstrainSelectedInstOperands,
28268 /* 80317 */ // GIR_Coverage, 23201,
28269 /* 80317 */ GIR_EraseRootFromParent_Done,
28270 /* 80318 */ // Label 1718: @80318
28271 /* 80318 */ GIM_Try, /*On fail goto*//*Label 1719*/ GIMT_Encode4(80419), // Rule ID 784 //
28272 /* 80323 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
28273 /* 80326 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28274 /* 80329 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28275 /* 80333 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28276 /* 80337 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
28277 /* 80341 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28278 /* 80345 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
28279 /* 80349 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28280 /* 80353 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28281 /* 80357 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28282 /* 80360 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28283 /* 80364 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28284 /* 80368 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
28285 /* 80373 */ // MIs[0] src1
28286 /* 80373 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28287 /* 80378 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28288 /* 80380 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28289 /* 80387 */ // (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)
28290 /* 80387 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
28291 /* 80391 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
28292 /* 80397 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
28293 /* 80401 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64mCL),
28294 /* 80404 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28295 /* 80408 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28296 /* 80411 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28297 /* 80417 */ GIR_RootConstrainSelectedInstOperands,
28298 /* 80418 */ // GIR_Coverage, 784,
28299 /* 80418 */ GIR_EraseRootFromParent_Done,
28300 /* 80419 */ // Label 1719: @80419
28301 /* 80419 */ GIM_Try, /*On fail goto*//*Label 1720*/ GIMT_Encode4(80520), // Rule ID 816 //
28302 /* 80424 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
28303 /* 80427 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28304 /* 80430 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28305 /* 80434 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28306 /* 80438 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
28307 /* 80442 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28308 /* 80446 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
28309 /* 80450 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28310 /* 80454 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28311 /* 80458 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28312 /* 80461 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28313 /* 80465 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28314 /* 80469 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
28315 /* 80474 */ // MIs[0] src1
28316 /* 80474 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28317 /* 80479 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28318 /* 80481 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28319 /* 80488 */ // (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)
28320 /* 80488 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
28321 /* 80492 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
28322 /* 80498 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
28323 /* 80502 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64mCL),
28324 /* 80505 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28325 /* 80509 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28326 /* 80512 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28327 /* 80518 */ GIR_RootConstrainSelectedInstOperands,
28328 /* 80519 */ // GIR_Coverage, 816,
28329 /* 80519 */ GIR_EraseRootFromParent_Done,
28330 /* 80520 */ // Label 1720: @80520
28331 /* 80520 */ GIM_Try, /*On fail goto*//*Label 1721*/ GIMT_Encode4(80621), // Rule ID 688 //
28332 /* 80525 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
28333 /* 80528 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28334 /* 80531 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28335 /* 80535 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28336 /* 80539 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
28337 /* 80543 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28338 /* 80547 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
28339 /* 80551 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28340 /* 80555 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28341 /* 80559 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28342 /* 80562 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28343 /* 80566 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28344 /* 80570 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
28345 /* 80575 */ // MIs[0] src1
28346 /* 80575 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28347 /* 80580 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28348 /* 80582 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28349 /* 80589 */ // (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)
28350 /* 80589 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
28351 /* 80593 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
28352 /* 80599 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
28353 /* 80603 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL64mCL),
28354 /* 80606 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28355 /* 80610 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28356 /* 80613 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28357 /* 80619 */ GIR_RootConstrainSelectedInstOperands,
28358 /* 80620 */ // GIR_Coverage, 688,
28359 /* 80620 */ GIR_EraseRootFromParent_Done,
28360 /* 80621 */ // Label 1721: @80621
28361 /* 80621 */ GIM_Try, /*On fail goto*//*Label 1722*/ GIMT_Encode4(80709), // Rule ID 448 //
28362 /* 80626 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28363 /* 80629 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28364 /* 80633 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28365 /* 80637 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
28366 /* 80641 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28367 /* 80645 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28368 /* 80649 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28369 /* 80653 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28370 /* 80657 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28371 /* 80660 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28372 /* 80664 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28373 /* 80668 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28374 /* 80673 */ // MIs[0] src1
28375 /* 80673 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28376 /* 80678 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28377 /* 80680 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28378 /* 80687 */ // (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)
28379 /* 80687 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64mr),
28380 /* 80690 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28381 /* 80694 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
28382 /* 80698 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28383 /* 80701 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28384 /* 80707 */ GIR_RootConstrainSelectedInstOperands,
28385 /* 80708 */ // GIR_Coverage, 448,
28386 /* 80708 */ GIR_EraseRootFromParent_Done,
28387 /* 80709 */ // Label 1722: @80709
28388 /* 80709 */ GIM_Try, /*On fail goto*//*Label 1723*/ GIMT_Encode4(80797), // Rule ID 376 //
28389 /* 80714 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28390 /* 80717 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28391 /* 80721 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28392 /* 80725 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
28393 /* 80729 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28394 /* 80733 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28395 /* 80737 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28396 /* 80741 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28397 /* 80745 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28398 /* 80748 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28399 /* 80752 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28400 /* 80756 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28401 /* 80761 */ // MIs[0] src1
28402 /* 80761 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28403 /* 80766 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28404 /* 80768 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28405 /* 80775 */ // (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)
28406 /* 80775 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64mr),
28407 /* 80778 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28408 /* 80782 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
28409 /* 80786 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28410 /* 80789 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28411 /* 80795 */ GIR_RootConstrainSelectedInstOperands,
28412 /* 80796 */ // GIR_Coverage, 376,
28413 /* 80796 */ GIR_EraseRootFromParent_Done,
28414 /* 80797 */ // Label 1723: @80797
28415 /* 80797 */ GIM_Try, /*On fail goto*//*Label 1724*/ GIMT_Encode4(80885), // Rule ID 23213 //
28416 /* 80802 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28417 /* 80805 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28418 /* 80809 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28419 /* 80813 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
28420 /* 80817 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28421 /* 80821 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28422 /* 80825 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28423 /* 80830 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
28424 /* 80834 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28425 /* 80838 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28426 /* 80841 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28427 /* 80845 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28428 /* 80849 */ // MIs[0] src1
28429 /* 80849 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28430 /* 80854 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28431 /* 80856 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28432 /* 80863 */ // (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)
28433 /* 80863 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64mr),
28434 /* 80866 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28435 /* 80870 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
28436 /* 80874 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28437 /* 80877 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28438 /* 80883 */ GIR_RootConstrainSelectedInstOperands,
28439 /* 80884 */ // GIR_Coverage, 23213,
28440 /* 80884 */ GIR_EraseRootFromParent_Done,
28441 /* 80885 */ // Label 1724: @80885
28442 /* 80885 */ GIM_Try, /*On fail goto*//*Label 1725*/ GIMT_Encode4(80942), // Rule ID 22510 //
28443 /* 80890 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28444 /* 80893 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28445 /* 80900 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28446 /* 80904 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
28447 /* 80908 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
28448 /* 80912 */ // MIs[1] Operand 1
28449 /* 80912 */ // No operand predicates
28450 /* 80912 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28451 /* 80916 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
28452 /* 80918 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28453 /* 80925 */ // (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)
28454 /* 80925 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64mi32),
28455 /* 80928 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28456 /* 80932 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
28457 /* 80935 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
28458 /* 80940 */ GIR_RootConstrainSelectedInstOperands,
28459 /* 80941 */ // GIR_Coverage, 22510,
28460 /* 80941 */ GIR_EraseRootFromParent_Done,
28461 /* 80942 */ // Label 1725: @80942
28462 /* 80942 */ GIM_Try, /*On fail goto*//*Label 1726*/ GIMT_Encode4(81008), // Rule ID 22522 //
28463 /* 80947 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
28464 /* 80950 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28465 /* 80953 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28466 /* 80960 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28467 /* 80964 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
28468 /* 80968 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28469 /* 80972 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
28470 /* 80977 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28471 /* 80981 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
28472 /* 80983 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28473 /* 80990 */ // (atomic_store (bitconvert:{ *:[i64] } FR64:{ *:[f64] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (MOVSDmr addr:{ *:[iPTR] }:$dst, FR64:{ *:[f64] }:$src)
28474 /* 80990 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSDmr),
28475 /* 80993 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28476 /* 80997 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
28477 /* 81001 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
28478 /* 81006 */ GIR_RootConstrainSelectedInstOperands,
28479 /* 81007 */ // GIR_Coverage, 22522,
28480 /* 81007 */ GIR_EraseRootFromParent_Done,
28481 /* 81008 */ // Label 1726: @81008
28482 /* 81008 */ GIM_Try, /*On fail goto*//*Label 1727*/ GIMT_Encode4(81074), // Rule ID 22523 //
28483 /* 81013 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
28484 /* 81016 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28485 /* 81019 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28486 /* 81026 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28487 /* 81030 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
28488 /* 81034 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28489 /* 81038 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
28490 /* 81043 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28491 /* 81047 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
28492 /* 81049 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28493 /* 81056 */ // (atomic_store (bitconvert:{ *:[i64] } FR64:{ *:[f64] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (VMOVSDmr addr:{ *:[iPTR] }:$dst, FR64:{ *:[f64] }:$src)
28494 /* 81056 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDmr),
28495 /* 81059 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28496 /* 81063 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
28497 /* 81067 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
28498 /* 81072 */ GIR_RootConstrainSelectedInstOperands,
28499 /* 81073 */ // GIR_Coverage, 22523,
28500 /* 81073 */ GIR_EraseRootFromParent_Done,
28501 /* 81074 */ // Label 1727: @81074
28502 /* 81074 */ GIM_Try, /*On fail goto*//*Label 1728*/ GIMT_Encode4(81140), // Rule ID 22524 //
28503 /* 81079 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
28504 /* 81082 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28505 /* 81085 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28506 /* 81092 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28507 /* 81096 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
28508 /* 81100 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28509 /* 81104 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
28510 /* 81109 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28511 /* 81113 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
28512 /* 81115 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28513 /* 81122 */ // (atomic_store (bitconvert:{ *:[i64] } FR64:{ *:[f64] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (VMOVSDmr addr:{ *:[iPTR] }:$dst, FR64:{ *:[f64] }:$src)
28514 /* 81122 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDmr),
28515 /* 81125 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28516 /* 81129 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
28517 /* 81133 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
28518 /* 81138 */ GIR_RootConstrainSelectedInstOperands,
28519 /* 81139 */ // GIR_Coverage, 22524,
28520 /* 81139 */ GIR_EraseRootFromParent_Done,
28521 /* 81140 */ // Label 1728: @81140
28522 /* 81140 */ GIM_Try, /*On fail goto*//*Label 1729*/ GIMT_Encode4(81203), // Rule ID 54 //
28523 /* 81145 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVBE_NoEGPR),
28524 /* 81148 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28525 /* 81151 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28526 /* 81155 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28527 /* 81159 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BSWAP),
28528 /* 81163 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28529 /* 81167 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28530 /* 81172 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28531 /* 81176 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
28532 /* 81178 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28533 /* 81185 */ // (st (bswap:{ *:[i64] } GR64:{ *:[i64] }:$src1), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVBE64mr addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src1)
28534 /* 81185 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE64mr),
28535 /* 81188 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28536 /* 81192 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
28537 /* 81196 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
28538 /* 81201 */ GIR_RootConstrainSelectedInstOperands,
28539 /* 81202 */ // GIR_Coverage, 54,
28540 /* 81202 */ GIR_EraseRootFromParent_Done,
28541 /* 81203 */ // Label 1729: @81203
28542 /* 81203 */ GIM_Try, /*On fail goto*//*Label 1730*/ GIMT_Encode4(81266), // Rule ID 60 //
28543 /* 81208 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVBE_In64BitMode),
28544 /* 81211 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28545 /* 81214 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28546 /* 81218 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28547 /* 81222 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BSWAP),
28548 /* 81226 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28549 /* 81230 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28550 /* 81235 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28551 /* 81239 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
28552 /* 81241 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28553 /* 81248 */ // (st (bswap:{ *:[i64] } GR64:{ *:[i64] }:$src1), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVBE64mr_EVEX addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src1)
28554 /* 81248 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE64mr_EVEX),
28555 /* 81251 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28556 /* 81255 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
28557 /* 81259 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
28558 /* 81264 */ GIR_RootConstrainSelectedInstOperands,
28559 /* 81265 */ // GIR_Coverage, 60,
28560 /* 81265 */ GIR_EraseRootFromParent_Done,
28561 /* 81266 */ // Label 1730: @81266
28562 /* 81266 */ GIM_Try, /*On fail goto*//*Label 1731*/ GIMT_Encode4(81311), // Rule ID 22514 //
28563 /* 81271 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28564 /* 81274 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28565 /* 81281 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28566 /* 81285 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28567 /* 81289 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28568 /* 81296 */ // (atomic_store GR64:{ *:[i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (MOV64mr addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
28569 /* 81296 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64mr),
28570 /* 81299 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28571 /* 81303 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28572 /* 81305 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28573 /* 81309 */ GIR_RootConstrainSelectedInstOperands,
28574 /* 81310 */ // GIR_Coverage, 22514,
28575 /* 81310 */ GIR_EraseRootFromParent_Done,
28576 /* 81311 */ // Label 1731: @81311
28577 /* 81311 */ GIM_Try, /*On fail goto*//*Label 1732*/ GIMT_Encode4(81353), // Rule ID 35 //
28578 /* 81316 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28579 /* 81319 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28580 /* 81323 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28581 /* 81327 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28582 /* 81331 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28583 /* 81338 */ // (st GR64:{ *:[i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV64mr addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
28584 /* 81338 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64mr),
28585 /* 81341 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28586 /* 81345 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28587 /* 81347 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28588 /* 81351 */ GIR_RootConstrainSelectedInstOperands,
28589 /* 81352 */ // GIR_Coverage, 35,
28590 /* 81352 */ GIR_EraseRootFromParent_Done,
28591 /* 81353 */ // Label 1732: @81353
28592 /* 81353 */ GIM_Try, /*On fail goto*//*Label 1733*/ GIMT_Encode4(81408), // Rule ID 1096 //
28593 /* 81358 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
28594 /* 81361 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28595 /* 81364 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28596 /* 81368 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
28597 /* 81375 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
28598 /* 81379 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28599 /* 81383 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28600 /* 81390 */ // (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)
28601 /* 81390 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ST_Fp64m32),
28602 /* 81393 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
28603 /* 81397 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28604 /* 81399 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
28605 /* 81402 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28606 /* 81406 */ GIR_RootConstrainSelectedInstOperands,
28607 /* 81407 */ // GIR_Coverage, 1096,
28608 /* 81407 */ GIR_EraseRootFromParent_Done,
28609 /* 81408 */ // Label 1733: @81408
28610 /* 81408 */ GIM_Try, /*On fail goto*//*Label 1734*/ GIMT_Encode4(81456), // Rule ID 1097 //
28611 /* 81413 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
28612 /* 81416 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28613 /* 81419 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28614 /* 81423 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
28615 /* 81427 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28616 /* 81431 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28617 /* 81438 */ // (st RFP64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ST_Fp64m:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP64:{ *:[f64] }:$src)
28618 /* 81438 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ST_Fp64m),
28619 /* 81441 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
28620 /* 81445 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28621 /* 81447 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
28622 /* 81450 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28623 /* 81454 */ GIR_RootConstrainSelectedInstOperands,
28624 /* 81455 */ // GIR_Coverage, 1097,
28625 /* 81455 */ GIR_EraseRootFromParent_Done,
28626 /* 81456 */ // Label 1734: @81456
28627 /* 81456 */ GIM_Try, /*On fail goto*//*Label 1735*/ GIMT_Encode4(81501), // Rule ID 1692 //
28628 /* 81461 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
28629 /* 81464 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28630 /* 81467 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28631 /* 81471 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
28632 /* 81475 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28633 /* 81479 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28634 /* 81486 */ // (st FR64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVSDmr addr:{ *:[iPTR] }:$dst, FR64:{ *:[f64] }:$src)
28635 /* 81486 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDmr),
28636 /* 81489 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28637 /* 81493 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28638 /* 81495 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28639 /* 81499 */ GIR_RootConstrainSelectedInstOperands,
28640 /* 81500 */ // GIR_Coverage, 1692,
28641 /* 81500 */ GIR_EraseRootFromParent_Done,
28642 /* 81501 */ // Label 1735: @81501
28643 /* 81501 */ GIM_Try, /*On fail goto*//*Label 1736*/ GIMT_Encode4(81546), // Rule ID 1694 //
28644 /* 81506 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
28645 /* 81509 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28646 /* 81512 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28647 /* 81516 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
28648 /* 81520 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28649 /* 81524 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28650 /* 81531 */ // (st FR64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVSDmr addr:{ *:[iPTR] }:$dst, FR64:{ *:[f64] }:$src)
28651 /* 81531 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSDmr),
28652 /* 81534 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28653 /* 81538 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28654 /* 81540 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28655 /* 81544 */ GIR_RootConstrainSelectedInstOperands,
28656 /* 81545 */ // GIR_Coverage, 1694,
28657 /* 81545 */ GIR_EraseRootFromParent_Done,
28658 /* 81546 */ // Label 1736: @81546
28659 /* 81546 */ GIM_Try, /*On fail goto*//*Label 1737*/ GIMT_Encode4(81591), // Rule ID 4616 //
28660 /* 81551 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
28661 /* 81554 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28662 /* 81557 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28663 /* 81561 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
28664 /* 81565 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28665 /* 81569 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28666 /* 81576 */ // (st FR64X:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVSDZmr addr:{ *:[iPTR] }:$dst, FR64X:{ *:[f64] }:$src)
28667 /* 81576 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDZmr),
28668 /* 81579 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28669 /* 81583 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28670 /* 81585 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28671 /* 81589 */ GIR_RootConstrainSelectedInstOperands,
28672 /* 81590 */ // GIR_Coverage, 4616,
28673 /* 81590 */ GIR_EraseRootFromParent_Done,
28674 /* 81591 */ // Label 1737: @81591
28675 /* 81591 */ GIM_Reject,
28676 /* 81592 */ // Label 1479: @81592
28677 /* 81592 */ GIM_Try, /*On fail goto*//*Label 1738*/ GIMT_Encode4(81750),
28678 /* 81597 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28679 /* 81600 */ GIM_Try, /*On fail goto*//*Label 1739*/ GIMT_Encode4(81652), // Rule ID 1098 //
28680 /* 81605 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
28681 /* 81608 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28682 /* 81612 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
28683 /* 81619 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
28684 /* 81623 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28685 /* 81627 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28686 /* 81634 */ // (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)
28687 /* 81634 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ST_Fp80m32),
28688 /* 81637 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
28689 /* 81641 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28690 /* 81643 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
28691 /* 81646 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28692 /* 81650 */ GIR_RootConstrainSelectedInstOperands,
28693 /* 81651 */ // GIR_Coverage, 1098,
28694 /* 81651 */ GIR_EraseRootFromParent_Done,
28695 /* 81652 */ // Label 1739: @81652
28696 /* 81652 */ GIM_Try, /*On fail goto*//*Label 1740*/ GIMT_Encode4(81704), // Rule ID 1099 //
28697 /* 81657 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
28698 /* 81660 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28699 /* 81664 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28700 /* 81671 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
28701 /* 81675 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28702 /* 81679 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28703 /* 81686 */ // (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)
28704 /* 81686 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ST_Fp80m64),
28705 /* 81689 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
28706 /* 81693 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28707 /* 81695 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
28708 /* 81698 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28709 /* 81702 */ GIR_RootConstrainSelectedInstOperands,
28710 /* 81703 */ // GIR_Coverage, 1099,
28711 /* 81703 */ GIR_EraseRootFromParent_Done,
28712 /* 81704 */ // Label 1740: @81704
28713 /* 81704 */ GIM_Try, /*On fail goto*//*Label 1741*/ GIMT_Encode4(81749), // Rule ID 1100 //
28714 /* 81709 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
28715 /* 81712 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28716 /* 81716 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
28717 /* 81720 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28718 /* 81724 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28719 /* 81731 */ // (st RFP80:{ *:[f80] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ST_FpP80m:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP80:{ *:[f80] }:$src)
28720 /* 81731 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ST_FpP80m),
28721 /* 81734 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
28722 /* 81738 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28723 /* 81740 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
28724 /* 81743 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28725 /* 81747 */ GIR_RootConstrainSelectedInstOperands,
28726 /* 81748 */ // GIR_Coverage, 1100,
28727 /* 81748 */ GIR_EraseRootFromParent_Done,
28728 /* 81749 */ // Label 1741: @81749
28729 /* 81749 */ GIM_Reject,
28730 /* 81750 */ // Label 1738: @81750
28731 /* 81750 */ GIM_Reject,
28732 /* 81751 */ // Label 1480: @81751
28733 /* 81751 */ GIM_Try, /*On fail goto*//*Label 1742*/ GIMT_Encode4(82004),
28734 /* 81756 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28735 /* 81759 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28736 /* 81763 */ GIM_Try, /*On fail goto*//*Label 1743*/ GIMT_Encode4(81805), // Rule ID 23142 //
28737 /* 81768 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoAVX),
28738 /* 81771 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28739 /* 81775 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28740 /* 81779 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
28741 /* 81783 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28742 /* 81790 */ // (st VR128:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[f128] }:$src)
28743 /* 81790 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
28744 /* 81793 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28745 /* 81797 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28746 /* 81799 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28747 /* 81803 */ GIR_RootConstrainSelectedInstOperands,
28748 /* 81804 */ // GIR_Coverage, 23142,
28749 /* 81804 */ GIR_EraseRootFromParent_Done,
28750 /* 81805 */ // Label 1743: @81805
28751 /* 81805 */ GIM_Try, /*On fail goto*//*Label 1744*/ GIMT_Encode4(81843), // Rule ID 23143 //
28752 /* 81810 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoAVX),
28753 /* 81813 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28754 /* 81817 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28755 /* 81821 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28756 /* 81828 */ // (st VR128:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[f128] }:$src)
28757 /* 81828 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
28758 /* 81831 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28759 /* 81835 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28760 /* 81837 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28761 /* 81841 */ GIR_RootConstrainSelectedInstOperands,
28762 /* 81842 */ // GIR_Coverage, 23143,
28763 /* 81842 */ GIR_EraseRootFromParent_Done,
28764 /* 81843 */ // Label 1744: @81843
28765 /* 81843 */ GIM_Try, /*On fail goto*//*Label 1745*/ GIMT_Encode4(81885), // Rule ID 23146 //
28766 /* 81848 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
28767 /* 81851 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28768 /* 81855 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28769 /* 81859 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
28770 /* 81863 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28771 /* 81870 */ // (st VR128:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[f128] }:$src)
28772 /* 81870 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSmr),
28773 /* 81873 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28774 /* 81877 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28775 /* 81879 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28776 /* 81883 */ GIR_RootConstrainSelectedInstOperands,
28777 /* 81884 */ // GIR_Coverage, 23146,
28778 /* 81884 */ GIR_EraseRootFromParent_Done,
28779 /* 81885 */ // Label 1745: @81885
28780 /* 81885 */ GIM_Try, /*On fail goto*//*Label 1746*/ GIMT_Encode4(81923), // Rule ID 23147 //
28781 /* 81890 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
28782 /* 81893 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28783 /* 81897 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28784 /* 81901 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28785 /* 81908 */ // (st VR128:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[f128] }:$src)
28786 /* 81908 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSmr),
28787 /* 81911 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28788 /* 81915 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28789 /* 81917 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28790 /* 81921 */ GIR_RootConstrainSelectedInstOperands,
28791 /* 81922 */ // GIR_Coverage, 23147,
28792 /* 81922 */ GIR_EraseRootFromParent_Done,
28793 /* 81923 */ // Label 1746: @81923
28794 /* 81923 */ GIM_Try, /*On fail goto*//*Label 1747*/ GIMT_Encode4(81965), // Rule ID 23150 //
28795 /* 81928 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
28796 /* 81931 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
28797 /* 81935 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28798 /* 81939 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
28799 /* 81943 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28800 /* 81950 */ // (st VR128X:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[f128] }:$src)
28801 /* 81950 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128mr),
28802 /* 81953 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28803 /* 81957 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28804 /* 81959 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28805 /* 81963 */ GIR_RootConstrainSelectedInstOperands,
28806 /* 81964 */ // GIR_Coverage, 23150,
28807 /* 81964 */ GIR_EraseRootFromParent_Done,
28808 /* 81965 */ // Label 1747: @81965
28809 /* 81965 */ GIM_Try, /*On fail goto*//*Label 1748*/ GIMT_Encode4(82003), // Rule ID 23151 //
28810 /* 81970 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
28811 /* 81973 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
28812 /* 81977 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28813 /* 81981 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28814 /* 81988 */ // (st VR128X:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[f128] }:$src)
28815 /* 81988 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ128mr),
28816 /* 81991 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28817 /* 81995 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28818 /* 81997 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28819 /* 82001 */ GIR_RootConstrainSelectedInstOperands,
28820 /* 82002 */ // GIR_Coverage, 23151,
28821 /* 82002 */ GIR_EraseRootFromParent_Done,
28822 /* 82003 */ // Label 1748: @82003
28823 /* 82003 */ GIM_Reject,
28824 /* 82004 */ // Label 1742: @82004
28825 /* 82004 */ GIM_Reject,
28826 /* 82005 */ // Label 1481: @82005
28827 /* 82005 */ GIM_Try, /*On fail goto*//*Label 1749*/ GIMT_Encode4(82498),
28828 /* 82010 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28829 /* 82013 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28830 /* 82017 */ GIM_Try, /*On fail goto*//*Label 1750*/ GIMT_Encode4(82059), // Rule ID 1716 //
28831 /* 82022 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
28832 /* 82025 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28833 /* 82029 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28834 /* 82033 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
28835 /* 82037 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28836 /* 82044 */ // (st VR128:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2f64] }:$src)
28837 /* 82044 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDmr),
28838 /* 82047 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28839 /* 82051 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28840 /* 82053 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28841 /* 82057 */ GIR_RootConstrainSelectedInstOperands,
28842 /* 82058 */ // GIR_Coverage, 1716,
28843 /* 82058 */ GIR_EraseRootFromParent_Done,
28844 /* 82059 */ // Label 1750: @82059
28845 /* 82059 */ GIM_Try, /*On fail goto*//*Label 1751*/ GIMT_Encode4(82097), // Rule ID 1718 //
28846 /* 82064 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
28847 /* 82067 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28848 /* 82071 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28849 /* 82075 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28850 /* 82082 */ // (st VR128:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2f64] }:$src)
28851 /* 82082 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDmr),
28852 /* 82085 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28853 /* 82089 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28854 /* 82091 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28855 /* 82095 */ GIR_RootConstrainSelectedInstOperands,
28856 /* 82096 */ // GIR_Coverage, 1718,
28857 /* 82096 */ GIR_EraseRootFromParent_Done,
28858 /* 82097 */ // Label 1751: @82097
28859 /* 82097 */ GIM_Try, /*On fail goto*//*Label 1752*/ GIMT_Encode4(82139), // Rule ID 1724 //
28860 /* 82102 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
28861 /* 82105 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28862 /* 82109 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28863 /* 82113 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
28864 /* 82117 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28865 /* 82124 */ // (st VR128:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (MOVAPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2f64] }:$src)
28866 /* 82124 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPDmr),
28867 /* 82127 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28868 /* 82131 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28869 /* 82133 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28870 /* 82137 */ GIR_RootConstrainSelectedInstOperands,
28871 /* 82138 */ // GIR_Coverage, 1724,
28872 /* 82138 */ GIR_EraseRootFromParent_Done,
28873 /* 82139 */ // Label 1752: @82139
28874 /* 82139 */ GIM_Try, /*On fail goto*//*Label 1753*/ GIMT_Encode4(82177), // Rule ID 1726 //
28875 /* 82144 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
28876 /* 82147 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28877 /* 82151 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28878 /* 82155 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28879 /* 82162 */ // (st VR128:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2f64] }:$src)
28880 /* 82162 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPDmr),
28881 /* 82165 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28882 /* 82169 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28883 /* 82171 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28884 /* 82175 */ GIR_RootConstrainSelectedInstOperands,
28885 /* 82176 */ // GIR_Coverage, 1726,
28886 /* 82176 */ GIR_EraseRootFromParent_Done,
28887 /* 82177 */ // Label 1753: @82177
28888 /* 82177 */ GIM_Try, /*On fail goto*//*Label 1754*/ GIMT_Encode4(82219), // Rule ID 2520 //
28889 /* 82182 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
28890 /* 82185 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28891 /* 82189 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28892 /* 82193 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
28893 /* 82197 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28894 /* 82204 */ // (st VR128:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src)
28895 /* 82204 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQAmr),
28896 /* 82207 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28897 /* 82211 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28898 /* 82213 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28899 /* 82217 */ GIR_RootConstrainSelectedInstOperands,
28900 /* 82218 */ // GIR_Coverage, 2520,
28901 /* 82218 */ GIR_EraseRootFromParent_Done,
28902 /* 82219 */ // Label 1754: @82219
28903 /* 82219 */ GIM_Try, /*On fail goto*//*Label 1755*/ GIMT_Encode4(82257), // Rule ID 2521 //
28904 /* 82224 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
28905 /* 82227 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28906 /* 82231 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28907 /* 82235 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28908 /* 82242 */ // (st VR128:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQUmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src)
28909 /* 82242 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUmr),
28910 /* 82245 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28911 /* 82249 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28912 /* 82251 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28913 /* 82255 */ GIR_RootConstrainSelectedInstOperands,
28914 /* 82256 */ // GIR_Coverage, 2521,
28915 /* 82256 */ GIR_EraseRootFromParent_Done,
28916 /* 82257 */ // Label 1755: @82257
28917 /* 82257 */ GIM_Try, /*On fail goto*//*Label 1756*/ GIMT_Encode4(82299), // Rule ID 4496 //
28918 /* 82262 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
28919 /* 82265 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
28920 /* 82269 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28921 /* 82273 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
28922 /* 82277 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28923 /* 82284 */ // (st VR128X:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPDZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2f64] }:$src)
28924 /* 82284 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ128mr),
28925 /* 82287 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28926 /* 82291 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28927 /* 82293 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28928 /* 82297 */ GIR_RootConstrainSelectedInstOperands,
28929 /* 82298 */ // GIR_Coverage, 4496,
28930 /* 82298 */ GIR_EraseRootFromParent_Done,
28931 /* 82299 */ // Label 1756: @82299
28932 /* 82299 */ GIM_Try, /*On fail goto*//*Label 1757*/ GIMT_Encode4(82337), // Rule ID 4520 //
28933 /* 82304 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
28934 /* 82307 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
28935 /* 82311 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28936 /* 82315 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28937 /* 82322 */ // (st VR128X:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPDZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2f64] }:$src)
28938 /* 82322 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDZ128mr),
28939 /* 82325 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28940 /* 82329 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28941 /* 82331 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28942 /* 82335 */ GIR_RootConstrainSelectedInstOperands,
28943 /* 82336 */ // GIR_Coverage, 4520,
28944 /* 82336 */ GIR_EraseRootFromParent_Done,
28945 /* 82337 */ // Label 1757: @82337
28946 /* 82337 */ GIM_Try, /*On fail goto*//*Label 1758*/ GIMT_Encode4(82379), // Rule ID 4550 //
28947 /* 82342 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
28948 /* 82345 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
28949 /* 82349 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28950 /* 82353 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
28951 /* 82357 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28952 /* 82364 */ // (st VR128X:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2i64] }:$src)
28953 /* 82364 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128mr),
28954 /* 82367 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28955 /* 82371 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28956 /* 82373 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28957 /* 82377 */ GIR_RootConstrainSelectedInstOperands,
28958 /* 82378 */ // GIR_Coverage, 4550,
28959 /* 82378 */ GIR_EraseRootFromParent_Done,
28960 /* 82379 */ // Label 1758: @82379
28961 /* 82379 */ GIM_Try, /*On fail goto*//*Label 1759*/ GIMT_Encode4(82417), // Rule ID 4592 //
28962 /* 82384 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
28963 /* 82387 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
28964 /* 82391 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28965 /* 82395 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28966 /* 82402 */ // (st VR128X:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2i64] }:$src)
28967 /* 82402 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128mr),
28968 /* 82405 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28969 /* 82409 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28970 /* 82411 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28971 /* 82415 */ GIR_RootConstrainSelectedInstOperands,
28972 /* 82416 */ // GIR_Coverage, 4592,
28973 /* 82416 */ GIR_EraseRootFromParent_Done,
28974 /* 82417 */ // Label 1759: @82417
28975 /* 82417 */ GIM_Try, /*On fail goto*//*Label 1760*/ GIMT_Encode4(82459), // Rule ID 17947 //
28976 /* 82422 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
28977 /* 82425 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28978 /* 82429 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28979 /* 82433 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
28980 /* 82437 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28981 /* 82444 */ // (st VR128:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src)
28982 /* 82444 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
28983 /* 82447 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28984 /* 82451 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28985 /* 82453 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28986 /* 82457 */ GIR_RootConstrainSelectedInstOperands,
28987 /* 82458 */ // GIR_Coverage, 17947,
28988 /* 82458 */ GIR_EraseRootFromParent_Done,
28989 /* 82459 */ // Label 1760: @82459
28990 /* 82459 */ GIM_Try, /*On fail goto*//*Label 1761*/ GIMT_Encode4(82497), // Rule ID 17951 //
28991 /* 82464 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
28992 /* 82467 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28993 /* 82471 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28994 /* 82475 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28995 /* 82482 */ // (st VR128:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src)
28996 /* 82482 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
28997 /* 82485 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28998 /* 82489 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28999 /* 82491 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29000 /* 82495 */ GIR_RootConstrainSelectedInstOperands,
29001 /* 82496 */ // GIR_Coverage, 17951,
29002 /* 82496 */ GIR_EraseRootFromParent_Done,
29003 /* 82497 */ // Label 1761: @82497
29004 /* 82497 */ GIM_Reject,
29005 /* 82498 */ // Label 1749: @82498
29006 /* 82498 */ GIM_Reject,
29007 /* 82499 */ // Label 1482: @82499
29008 /* 82499 */ GIM_Try, /*On fail goto*//*Label 1762*/ GIMT_Encode4(82992),
29009 /* 82504 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29010 /* 82507 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29011 /* 82511 */ GIM_Try, /*On fail goto*//*Label 1763*/ GIMT_Encode4(82553), // Rule ID 1715 //
29012 /* 82516 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29013 /* 82519 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29014 /* 82523 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29015 /* 82527 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29016 /* 82531 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29017 /* 82538 */ // (st VR128:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src)
29018 /* 82538 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSmr),
29019 /* 82541 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29020 /* 82545 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29021 /* 82547 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29022 /* 82551 */ GIR_RootConstrainSelectedInstOperands,
29023 /* 82552 */ // GIR_Coverage, 1715,
29024 /* 82552 */ GIR_EraseRootFromParent_Done,
29025 /* 82553 */ // Label 1763: @82553
29026 /* 82553 */ GIM_Try, /*On fail goto*//*Label 1764*/ GIMT_Encode4(82591), // Rule ID 1717 //
29027 /* 82558 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29028 /* 82561 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29029 /* 82565 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29030 /* 82569 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29031 /* 82576 */ // (st VR128:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src)
29032 /* 82576 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSmr),
29033 /* 82579 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29034 /* 82583 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29035 /* 82585 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29036 /* 82589 */ GIR_RootConstrainSelectedInstOperands,
29037 /* 82590 */ // GIR_Coverage, 1717,
29038 /* 82590 */ GIR_EraseRootFromParent_Done,
29039 /* 82591 */ // Label 1764: @82591
29040 /* 82591 */ GIM_Try, /*On fail goto*//*Label 1765*/ GIMT_Encode4(82633), // Rule ID 1723 //
29041 /* 82596 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
29042 /* 82599 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29043 /* 82603 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29044 /* 82607 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29045 /* 82611 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29046 /* 82618 */ // (st VR128:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src)
29047 /* 82618 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
29048 /* 82621 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29049 /* 82625 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29050 /* 82627 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29051 /* 82631 */ GIR_RootConstrainSelectedInstOperands,
29052 /* 82632 */ // GIR_Coverage, 1723,
29053 /* 82632 */ GIR_EraseRootFromParent_Done,
29054 /* 82633 */ // Label 1765: @82633
29055 /* 82633 */ GIM_Try, /*On fail goto*//*Label 1766*/ GIMT_Encode4(82671), // Rule ID 1725 //
29056 /* 82638 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
29057 /* 82641 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29058 /* 82645 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29059 /* 82649 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29060 /* 82656 */ // (st VR128:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src)
29061 /* 82656 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
29062 /* 82659 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29063 /* 82663 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29064 /* 82665 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29065 /* 82669 */ GIR_RootConstrainSelectedInstOperands,
29066 /* 82670 */ // GIR_Coverage, 1725,
29067 /* 82670 */ GIR_EraseRootFromParent_Done,
29068 /* 82671 */ // Label 1766: @82671
29069 /* 82671 */ GIM_Try, /*On fail goto*//*Label 1767*/ GIMT_Encode4(82713), // Rule ID 4478 //
29070 /* 82676 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
29071 /* 82679 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29072 /* 82683 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29073 /* 82687 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29074 /* 82691 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29075 /* 82698 */ // (st VR128X:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4f32] }:$src)
29076 /* 82698 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128mr),
29077 /* 82701 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29078 /* 82705 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29079 /* 82707 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29080 /* 82711 */ GIR_RootConstrainSelectedInstOperands,
29081 /* 82712 */ // GIR_Coverage, 4478,
29082 /* 82712 */ GIR_EraseRootFromParent_Done,
29083 /* 82713 */ // Label 1767: @82713
29084 /* 82713 */ GIM_Try, /*On fail goto*//*Label 1768*/ GIMT_Encode4(82751), // Rule ID 4508 //
29085 /* 82718 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
29086 /* 82721 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29087 /* 82725 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29088 /* 82729 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29089 /* 82736 */ // (st VR128X:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4f32] }:$src)
29090 /* 82736 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ128mr),
29091 /* 82739 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29092 /* 82743 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29093 /* 82745 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29094 /* 82749 */ GIR_RootConstrainSelectedInstOperands,
29095 /* 82750 */ // GIR_Coverage, 4508,
29096 /* 82750 */ GIR_EraseRootFromParent_Done,
29097 /* 82751 */ // Label 1768: @82751
29098 /* 82751 */ GIM_Try, /*On fail goto*//*Label 1769*/ GIMT_Encode4(82793), // Rule ID 17948 //
29099 /* 82756 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
29100 /* 82759 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29101 /* 82763 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29102 /* 82767 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29103 /* 82771 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29104 /* 82778 */ // (st VR128:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src)
29105 /* 82778 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
29106 /* 82781 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29107 /* 82785 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29108 /* 82787 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29109 /* 82791 */ GIR_RootConstrainSelectedInstOperands,
29110 /* 82792 */ // GIR_Coverage, 17948,
29111 /* 82792 */ GIR_EraseRootFromParent_Done,
29112 /* 82793 */ // Label 1769: @82793
29113 /* 82793 */ GIM_Try, /*On fail goto*//*Label 1770*/ GIMT_Encode4(82831), // Rule ID 17952 //
29114 /* 82798 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
29115 /* 82801 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29116 /* 82805 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29117 /* 82809 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29118 /* 82816 */ // (st VR128:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src)
29119 /* 82816 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
29120 /* 82819 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29121 /* 82823 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29122 /* 82825 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29123 /* 82829 */ GIR_RootConstrainSelectedInstOperands,
29124 /* 82830 */ // GIR_Coverage, 17952,
29125 /* 82830 */ GIR_EraseRootFromParent_Done,
29126 /* 82831 */ // Label 1770: @82831
29127 /* 82831 */ GIM_Try, /*On fail goto*//*Label 1771*/ GIMT_Encode4(82873), // Rule ID 18327 //
29128 /* 82836 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29129 /* 82839 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29130 /* 82843 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29131 /* 82847 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29132 /* 82851 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29133 /* 82858 */ // (st VR128:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src)
29134 /* 82858 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQAmr),
29135 /* 82861 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29136 /* 82865 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29137 /* 82867 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29138 /* 82871 */ GIR_RootConstrainSelectedInstOperands,
29139 /* 82872 */ // GIR_Coverage, 18327,
29140 /* 82872 */ GIR_EraseRootFromParent_Done,
29141 /* 82873 */ // Label 1771: @82873
29142 /* 82873 */ GIM_Try, /*On fail goto*//*Label 1772*/ GIMT_Encode4(82911), // Rule ID 18331 //
29143 /* 82878 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29144 /* 82881 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29145 /* 82885 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29146 /* 82889 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29147 /* 82896 */ // (st VR128:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQUmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src)
29148 /* 82896 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUmr),
29149 /* 82899 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29150 /* 82903 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29151 /* 82905 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29152 /* 82909 */ GIR_RootConstrainSelectedInstOperands,
29153 /* 82910 */ // GIR_Coverage, 18331,
29154 /* 82910 */ GIR_EraseRootFromParent_Done,
29155 /* 82911 */ // Label 1772: @82911
29156 /* 82911 */ GIM_Try, /*On fail goto*//*Label 1773*/ GIMT_Encode4(82953), // Rule ID 19820 //
29157 /* 82916 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29158 /* 82919 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29159 /* 82923 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29160 /* 82927 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29161 /* 82931 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29162 /* 82938 */ // (st VR128X:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4i32] }:$src)
29163 /* 82938 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128mr),
29164 /* 82941 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29165 /* 82945 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29166 /* 82947 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29167 /* 82951 */ GIR_RootConstrainSelectedInstOperands,
29168 /* 82952 */ // GIR_Coverage, 19820,
29169 /* 82952 */ GIR_EraseRootFromParent_Done,
29170 /* 82953 */ // Label 1773: @82953
29171 /* 82953 */ GIM_Try, /*On fail goto*//*Label 1774*/ GIMT_Encode4(82991), // Rule ID 19824 //
29172 /* 82958 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29173 /* 82961 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29174 /* 82965 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29175 /* 82969 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29176 /* 82976 */ // (st VR128X:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4i32] }:$src)
29177 /* 82976 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128mr),
29178 /* 82979 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29179 /* 82983 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29180 /* 82985 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29181 /* 82989 */ GIR_RootConstrainSelectedInstOperands,
29182 /* 82990 */ // GIR_Coverage, 19824,
29183 /* 82990 */ GIR_EraseRootFromParent_Done,
29184 /* 82991 */ // Label 1774: @82991
29185 /* 82991 */ GIM_Reject,
29186 /* 82992 */ // Label 1762: @82992
29187 /* 82992 */ GIM_Reject,
29188 /* 82993 */ // Label 1483: @82993
29189 /* 82993 */ GIM_Try, /*On fail goto*//*Label 1775*/ GIMT_Encode4(83326),
29190 /* 82998 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29191 /* 83001 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29192 /* 83005 */ GIM_Try, /*On fail goto*//*Label 1776*/ GIMT_Encode4(83047), // Rule ID 1720 //
29193 /* 83010 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29194 /* 83013 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29195 /* 83017 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29196 /* 83021 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29197 /* 83025 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29198 /* 83032 */ // (st VR256:{ *:[v4f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPDYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4f64] }:$src)
29199 /* 83032 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDYmr),
29200 /* 83035 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29201 /* 83039 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29202 /* 83041 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29203 /* 83045 */ GIR_RootConstrainSelectedInstOperands,
29204 /* 83046 */ // GIR_Coverage, 1720,
29205 /* 83046 */ GIR_EraseRootFromParent_Done,
29206 /* 83047 */ // Label 1776: @83047
29207 /* 83047 */ GIM_Try, /*On fail goto*//*Label 1777*/ GIMT_Encode4(83085), // Rule ID 1722 //
29208 /* 83052 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29209 /* 83055 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29210 /* 83059 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29211 /* 83063 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29212 /* 83070 */ // (st VR256:{ *:[v4f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPDYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4f64] }:$src)
29213 /* 83070 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDYmr),
29214 /* 83073 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29215 /* 83077 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29216 /* 83079 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29217 /* 83083 */ GIR_RootConstrainSelectedInstOperands,
29218 /* 83084 */ // GIR_Coverage, 1722,
29219 /* 83084 */ GIR_EraseRootFromParent_Done,
29220 /* 83085 */ // Label 1777: @83085
29221 /* 83085 */ GIM_Try, /*On fail goto*//*Label 1778*/ GIMT_Encode4(83127), // Rule ID 4495 //
29222 /* 83090 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
29223 /* 83093 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29224 /* 83097 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29225 /* 83101 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29226 /* 83105 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29227 /* 83112 */ // (st VR256X:{ *:[v4f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPDZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v4f64] }:$src)
29228 /* 83112 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ256mr),
29229 /* 83115 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29230 /* 83119 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29231 /* 83121 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29232 /* 83125 */ GIR_RootConstrainSelectedInstOperands,
29233 /* 83126 */ // GIR_Coverage, 4495,
29234 /* 83126 */ GIR_EraseRootFromParent_Done,
29235 /* 83127 */ // Label 1778: @83127
29236 /* 83127 */ GIM_Try, /*On fail goto*//*Label 1779*/ GIMT_Encode4(83165), // Rule ID 4519 //
29237 /* 83132 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
29238 /* 83135 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29239 /* 83139 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29240 /* 83143 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29241 /* 83150 */ // (st VR256X:{ *:[v4f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPDZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v4f64] }:$src)
29242 /* 83150 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDZ256mr),
29243 /* 83153 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29244 /* 83157 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29245 /* 83159 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29246 /* 83163 */ GIR_RootConstrainSelectedInstOperands,
29247 /* 83164 */ // GIR_Coverage, 4519,
29248 /* 83164 */ GIR_EraseRootFromParent_Done,
29249 /* 83165 */ // Label 1779: @83165
29250 /* 83165 */ GIM_Try, /*On fail goto*//*Label 1780*/ GIMT_Encode4(83207), // Rule ID 4549 //
29251 /* 83170 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
29252 /* 83173 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29253 /* 83177 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29254 /* 83181 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29255 /* 83185 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29256 /* 83192 */ // (st VR256X:{ *:[v4i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v4i64] }:$src)
29257 /* 83192 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256mr),
29258 /* 83195 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29259 /* 83199 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29260 /* 83201 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29261 /* 83205 */ GIR_RootConstrainSelectedInstOperands,
29262 /* 83206 */ // GIR_Coverage, 4549,
29263 /* 83206 */ GIR_EraseRootFromParent_Done,
29264 /* 83207 */ // Label 1780: @83207
29265 /* 83207 */ GIM_Try, /*On fail goto*//*Label 1781*/ GIMT_Encode4(83245), // Rule ID 4591 //
29266 /* 83212 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
29267 /* 83215 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29268 /* 83219 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29269 /* 83223 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29270 /* 83230 */ // (st VR256X:{ *:[v4i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v4i64] }:$src)
29271 /* 83230 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256mr),
29272 /* 83233 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29273 /* 83237 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29274 /* 83239 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29275 /* 83243 */ GIR_RootConstrainSelectedInstOperands,
29276 /* 83244 */ // GIR_Coverage, 4591,
29277 /* 83244 */ GIR_EraseRootFromParent_Done,
29278 /* 83245 */ // Label 1781: @83245
29279 /* 83245 */ GIM_Try, /*On fail goto*//*Label 1782*/ GIMT_Encode4(83287), // Rule ID 17923 //
29280 /* 83250 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29281 /* 83253 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29282 /* 83257 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29283 /* 83261 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29284 /* 83265 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29285 /* 83272 */ // (st VR256:{ *:[v4i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src)
29286 /* 83272 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
29287 /* 83275 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29288 /* 83279 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29289 /* 83281 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29290 /* 83285 */ GIR_RootConstrainSelectedInstOperands,
29291 /* 83286 */ // GIR_Coverage, 17923,
29292 /* 83286 */ GIR_EraseRootFromParent_Done,
29293 /* 83287 */ // Label 1782: @83287
29294 /* 83287 */ GIM_Try, /*On fail goto*//*Label 1783*/ GIMT_Encode4(83325), // Rule ID 17927 //
29295 /* 83292 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29296 /* 83295 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29297 /* 83299 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29298 /* 83303 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29299 /* 83310 */ // (st VR256:{ *:[v4i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src)
29300 /* 83310 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYmr),
29301 /* 83313 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29302 /* 83317 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29303 /* 83319 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29304 /* 83323 */ GIR_RootConstrainSelectedInstOperands,
29305 /* 83324 */ // GIR_Coverage, 17927,
29306 /* 83324 */ GIR_EraseRootFromParent_Done,
29307 /* 83325 */ // Label 1783: @83325
29308 /* 83325 */ GIM_Reject,
29309 /* 83326 */ // Label 1775: @83326
29310 /* 83326 */ GIM_Reject,
29311 /* 83327 */ // Label 1484: @83327
29312 /* 83327 */ GIM_Try, /*On fail goto*//*Label 1784*/ GIMT_Encode4(83408),
29313 /* 83332 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29314 /* 83335 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29315 /* 83339 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
29316 /* 83343 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29317 /* 83347 */ GIM_Try, /*On fail goto*//*Label 1785*/ GIMT_Encode4(83377), // Rule ID 4396 //
29318 /* 83352 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_NoEGPR),
29319 /* 83355 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29320 /* 83362 */ // (st VK8:{ *:[v8i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVBmk addr:{ *:[iPTR] }:$dst, VK8:{ *:[v8i1] }:$src)
29321 /* 83362 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVBmk),
29322 /* 83365 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29323 /* 83369 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29324 /* 83371 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29325 /* 83375 */ GIR_RootConstrainSelectedInstOperands,
29326 /* 83376 */ // GIR_Coverage, 4396,
29327 /* 83376 */ GIR_EraseRootFromParent_Done,
29328 /* 83377 */ // Label 1785: @83377
29329 /* 83377 */ GIM_Try, /*On fail goto*//*Label 1786*/ GIMT_Encode4(83407), // Rule ID 4398 //
29330 /* 83382 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasEGPR_In64BitMode),
29331 /* 83385 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29332 /* 83392 */ // (st VK8:{ *:[v8i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVBmk_EVEX addr:{ *:[iPTR] }:$dst, VK8:{ *:[v8i1] }:$src)
29333 /* 83392 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVBmk_EVEX),
29334 /* 83395 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29335 /* 83399 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29336 /* 83401 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29337 /* 83405 */ GIR_RootConstrainSelectedInstOperands,
29338 /* 83406 */ // GIR_Coverage, 4398,
29339 /* 83406 */ GIR_EraseRootFromParent_Done,
29340 /* 83407 */ // Label 1786: @83407
29341 /* 83407 */ GIM_Reject,
29342 /* 83408 */ // Label 1784: @83408
29343 /* 83408 */ GIM_Reject,
29344 /* 83409 */ // Label 1485: @83409
29345 /* 83409 */ GIM_Try, /*On fail goto*//*Label 1787*/ GIMT_Encode4(83982),
29346 /* 83414 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29347 /* 83417 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29348 /* 83421 */ GIM_Try, /*On fail goto*//*Label 1788*/ GIMT_Encode4(83463), // Rule ID 17933 //
29349 /* 83426 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29350 /* 83429 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29351 /* 83433 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29352 /* 83437 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29353 /* 83441 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29354 /* 83448 */ // (st VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
29355 /* 83448 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSmr),
29356 /* 83451 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29357 /* 83455 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29358 /* 83457 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29359 /* 83461 */ GIR_RootConstrainSelectedInstOperands,
29360 /* 83462 */ // GIR_Coverage, 17933,
29361 /* 83462 */ GIR_EraseRootFromParent_Done,
29362 /* 83463 */ // Label 1788: @83463
29363 /* 83463 */ GIM_Try, /*On fail goto*//*Label 1789*/ GIMT_Encode4(83501), // Rule ID 17934 //
29364 /* 83468 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29365 /* 83471 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29366 /* 83475 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29367 /* 83479 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29368 /* 83486 */ // (st VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
29369 /* 83486 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSmr),
29370 /* 83489 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29371 /* 83493 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29372 /* 83495 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29373 /* 83499 */ GIR_RootConstrainSelectedInstOperands,
29374 /* 83500 */ // GIR_Coverage, 17934,
29375 /* 83500 */ GIR_EraseRootFromParent_Done,
29376 /* 83501 */ // Label 1789: @83501
29377 /* 83501 */ GIM_Try, /*On fail goto*//*Label 1790*/ GIMT_Encode4(83543), // Rule ID 17949 //
29378 /* 83506 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
29379 /* 83509 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29380 /* 83513 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29381 /* 83517 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29382 /* 83521 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29383 /* 83528 */ // (st VR128:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8i16] }:$src)
29384 /* 83528 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
29385 /* 83531 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29386 /* 83535 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29387 /* 83537 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29388 /* 83541 */ GIR_RootConstrainSelectedInstOperands,
29389 /* 83542 */ // GIR_Coverage, 17949,
29390 /* 83542 */ GIR_EraseRootFromParent_Done,
29391 /* 83543 */ // Label 1790: @83543
29392 /* 83543 */ GIM_Try, /*On fail goto*//*Label 1791*/ GIMT_Encode4(83581), // Rule ID 17953 //
29393 /* 83548 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
29394 /* 83551 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29395 /* 83555 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29396 /* 83559 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29397 /* 83566 */ // (st VR128:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8i16] }:$src)
29398 /* 83566 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
29399 /* 83569 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29400 /* 83573 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29401 /* 83575 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29402 /* 83579 */ GIR_RootConstrainSelectedInstOperands,
29403 /* 83580 */ // GIR_Coverage, 17953,
29404 /* 83580 */ GIR_EraseRootFromParent_Done,
29405 /* 83581 */ // Label 1791: @83581
29406 /* 83581 */ GIM_Try, /*On fail goto*//*Label 1792*/ GIMT_Encode4(83623), // Rule ID 17957 //
29407 /* 83586 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
29408 /* 83589 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29409 /* 83593 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29410 /* 83597 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29411 /* 83601 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29412 /* 83608 */ // (st VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
29413 /* 83608 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
29414 /* 83611 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29415 /* 83615 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29416 /* 83617 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29417 /* 83621 */ GIR_RootConstrainSelectedInstOperands,
29418 /* 83622 */ // GIR_Coverage, 17957,
29419 /* 83622 */ GIR_EraseRootFromParent_Done,
29420 /* 83623 */ // Label 1792: @83623
29421 /* 83623 */ GIM_Try, /*On fail goto*//*Label 1793*/ GIMT_Encode4(83661), // Rule ID 17958 //
29422 /* 83628 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
29423 /* 83631 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29424 /* 83635 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29425 /* 83639 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29426 /* 83646 */ // (st VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
29427 /* 83646 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
29428 /* 83649 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29429 /* 83653 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29430 /* 83655 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29431 /* 83659 */ GIR_RootConstrainSelectedInstOperands,
29432 /* 83660 */ // GIR_Coverage, 17958,
29433 /* 83660 */ GIR_EraseRootFromParent_Done,
29434 /* 83661 */ // Label 1793: @83661
29435 /* 83661 */ GIM_Try, /*On fail goto*//*Label 1794*/ GIMT_Encode4(83703), // Rule ID 18328 //
29436 /* 83666 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29437 /* 83669 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29438 /* 83673 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29439 /* 83677 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29440 /* 83681 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29441 /* 83688 */ // (st VR128:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8i16] }:$src)
29442 /* 83688 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQAmr),
29443 /* 83691 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29444 /* 83695 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29445 /* 83697 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29446 /* 83701 */ GIR_RootConstrainSelectedInstOperands,
29447 /* 83702 */ // GIR_Coverage, 18328,
29448 /* 83702 */ GIR_EraseRootFromParent_Done,
29449 /* 83703 */ // Label 1794: @83703
29450 /* 83703 */ GIM_Try, /*On fail goto*//*Label 1795*/ GIMT_Encode4(83745), // Rule ID 18329 //
29451 /* 83708 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29452 /* 83711 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29453 /* 83715 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29454 /* 83719 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29455 /* 83723 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29456 /* 83730 */ // (st VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
29457 /* 83730 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQAmr),
29458 /* 83733 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29459 /* 83737 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29460 /* 83739 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29461 /* 83743 */ GIR_RootConstrainSelectedInstOperands,
29462 /* 83744 */ // GIR_Coverage, 18329,
29463 /* 83744 */ GIR_EraseRootFromParent_Done,
29464 /* 83745 */ // Label 1795: @83745
29465 /* 83745 */ GIM_Try, /*On fail goto*//*Label 1796*/ GIMT_Encode4(83783), // Rule ID 18332 //
29466 /* 83750 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29467 /* 83753 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29468 /* 83757 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29469 /* 83761 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29470 /* 83768 */ // (st VR128:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQUmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8i16] }:$src)
29471 /* 83768 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUmr),
29472 /* 83771 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29473 /* 83775 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29474 /* 83777 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29475 /* 83781 */ GIR_RootConstrainSelectedInstOperands,
29476 /* 83782 */ // GIR_Coverage, 18332,
29477 /* 83782 */ GIR_EraseRootFromParent_Done,
29478 /* 83783 */ // Label 1796: @83783
29479 /* 83783 */ GIM_Try, /*On fail goto*//*Label 1797*/ GIMT_Encode4(83821), // Rule ID 18333 //
29480 /* 83788 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29481 /* 83791 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29482 /* 83795 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29483 /* 83799 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29484 /* 83806 */ // (st VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQUmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
29485 /* 83806 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUmr),
29486 /* 83809 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29487 /* 83813 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29488 /* 83815 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29489 /* 83819 */ GIR_RootConstrainSelectedInstOperands,
29490 /* 83820 */ // GIR_Coverage, 18333,
29491 /* 83820 */ GIR_EraseRootFromParent_Done,
29492 /* 83821 */ // Label 1797: @83821
29493 /* 83821 */ GIM_Try, /*On fail goto*//*Label 1798*/ GIMT_Encode4(83863), // Rule ID 19821 //
29494 /* 83826 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29495 /* 83829 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29496 /* 83833 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29497 /* 83837 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29498 /* 83841 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29499 /* 83848 */ // (st VR128X:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v8i16] }:$src)
29500 /* 83848 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128mr),
29501 /* 83851 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29502 /* 83855 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29503 /* 83857 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29504 /* 83861 */ GIR_RootConstrainSelectedInstOperands,
29505 /* 83862 */ // GIR_Coverage, 19821,
29506 /* 83862 */ GIR_EraseRootFromParent_Done,
29507 /* 83863 */ // Label 1798: @83863
29508 /* 83863 */ GIM_Try, /*On fail goto*//*Label 1799*/ GIMT_Encode4(83905), // Rule ID 19822 //
29509 /* 83868 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29510 /* 83871 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29511 /* 83875 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29512 /* 83879 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29513 /* 83883 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29514 /* 83890 */ // (st VR128X:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v8f16] }:$src)
29515 /* 83890 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128mr),
29516 /* 83893 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29517 /* 83897 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29518 /* 83899 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29519 /* 83903 */ GIR_RootConstrainSelectedInstOperands,
29520 /* 83904 */ // GIR_Coverage, 19822,
29521 /* 83904 */ GIR_EraseRootFromParent_Done,
29522 /* 83905 */ // Label 1799: @83905
29523 /* 83905 */ GIM_Try, /*On fail goto*//*Label 1800*/ GIMT_Encode4(83943), // Rule ID 19825 //
29524 /* 83910 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29525 /* 83913 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29526 /* 83917 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29527 /* 83921 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29528 /* 83928 */ // (st VR128X:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v8i16] }:$src)
29529 /* 83928 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128mr),
29530 /* 83931 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29531 /* 83935 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29532 /* 83937 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29533 /* 83941 */ GIR_RootConstrainSelectedInstOperands,
29534 /* 83942 */ // GIR_Coverage, 19825,
29535 /* 83942 */ GIR_EraseRootFromParent_Done,
29536 /* 83943 */ // Label 1800: @83943
29537 /* 83943 */ GIM_Try, /*On fail goto*//*Label 1801*/ GIMT_Encode4(83981), // Rule ID 19826 //
29538 /* 83948 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29539 /* 83951 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29540 /* 83955 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29541 /* 83959 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29542 /* 83966 */ // (st VR128X:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v8f16] }:$src)
29543 /* 83966 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ128mr),
29544 /* 83969 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29545 /* 83973 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29546 /* 83975 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29547 /* 83979 */ GIR_RootConstrainSelectedInstOperands,
29548 /* 83980 */ // GIR_Coverage, 19826,
29549 /* 83980 */ GIR_EraseRootFromParent_Done,
29550 /* 83981 */ // Label 1801: @83981
29551 /* 83981 */ GIM_Reject,
29552 /* 83982 */ // Label 1787: @83982
29553 /* 83982 */ GIM_Reject,
29554 /* 83983 */ // Label 1486: @83983
29555 /* 83983 */ GIM_Try, /*On fail goto*//*Label 1802*/ GIMT_Encode4(84316),
29556 /* 83988 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29557 /* 83991 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29558 /* 83995 */ GIM_Try, /*On fail goto*//*Label 1803*/ GIMT_Encode4(84037), // Rule ID 1719 //
29559 /* 84000 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29560 /* 84003 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29561 /* 84007 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29562 /* 84011 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29563 /* 84015 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29564 /* 84022 */ // (st VR256:{ *:[v8f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8f32] }:$src)
29565 /* 84022 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
29566 /* 84025 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29567 /* 84029 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29568 /* 84031 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29569 /* 84035 */ GIR_RootConstrainSelectedInstOperands,
29570 /* 84036 */ // GIR_Coverage, 1719,
29571 /* 84036 */ GIR_EraseRootFromParent_Done,
29572 /* 84037 */ // Label 1803: @84037
29573 /* 84037 */ GIM_Try, /*On fail goto*//*Label 1804*/ GIMT_Encode4(84075), // Rule ID 1721 //
29574 /* 84042 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29575 /* 84045 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29576 /* 84049 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29577 /* 84053 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29578 /* 84060 */ // (st VR256:{ *:[v8f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8f32] }:$src)
29579 /* 84060 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYmr),
29580 /* 84063 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29581 /* 84067 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29582 /* 84069 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29583 /* 84073 */ GIR_RootConstrainSelectedInstOperands,
29584 /* 84074 */ // GIR_Coverage, 1721,
29585 /* 84074 */ GIR_EraseRootFromParent_Done,
29586 /* 84075 */ // Label 1804: @84075
29587 /* 84075 */ GIM_Try, /*On fail goto*//*Label 1805*/ GIMT_Encode4(84117), // Rule ID 4477 //
29588 /* 84080 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
29589 /* 84083 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29590 /* 84087 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29591 /* 84091 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29592 /* 84095 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29593 /* 84102 */ // (st VR256X:{ *:[v8f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v8f32] }:$src)
29594 /* 84102 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ256mr),
29595 /* 84105 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29596 /* 84109 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29597 /* 84111 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29598 /* 84115 */ GIR_RootConstrainSelectedInstOperands,
29599 /* 84116 */ // GIR_Coverage, 4477,
29600 /* 84116 */ GIR_EraseRootFromParent_Done,
29601 /* 84117 */ // Label 1805: @84117
29602 /* 84117 */ GIM_Try, /*On fail goto*//*Label 1806*/ GIMT_Encode4(84155), // Rule ID 4507 //
29603 /* 84122 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
29604 /* 84125 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29605 /* 84129 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29606 /* 84133 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29607 /* 84140 */ // (st VR256X:{ *:[v8f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v8f32] }:$src)
29608 /* 84140 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ256mr),
29609 /* 84143 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29610 /* 84147 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29611 /* 84149 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29612 /* 84153 */ GIR_RootConstrainSelectedInstOperands,
29613 /* 84154 */ // GIR_Coverage, 4507,
29614 /* 84154 */ GIR_EraseRootFromParent_Done,
29615 /* 84155 */ // Label 1806: @84155
29616 /* 84155 */ GIM_Try, /*On fail goto*//*Label 1807*/ GIMT_Encode4(84197), // Rule ID 17924 //
29617 /* 84160 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29618 /* 84163 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29619 /* 84167 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29620 /* 84171 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29621 /* 84175 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29622 /* 84182 */ // (st VR256:{ *:[v8i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src)
29623 /* 84182 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
29624 /* 84185 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29625 /* 84189 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29626 /* 84191 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29627 /* 84195 */ GIR_RootConstrainSelectedInstOperands,
29628 /* 84196 */ // GIR_Coverage, 17924,
29629 /* 84196 */ GIR_EraseRootFromParent_Done,
29630 /* 84197 */ // Label 1807: @84197
29631 /* 84197 */ GIM_Try, /*On fail goto*//*Label 1808*/ GIMT_Encode4(84235), // Rule ID 17928 //
29632 /* 84202 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29633 /* 84205 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29634 /* 84209 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29635 /* 84213 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29636 /* 84220 */ // (st VR256:{ *:[v8i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src)
29637 /* 84220 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYmr),
29638 /* 84223 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29639 /* 84227 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29640 /* 84229 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29641 /* 84233 */ GIR_RootConstrainSelectedInstOperands,
29642 /* 84234 */ // GIR_Coverage, 17928,
29643 /* 84234 */ GIR_EraseRootFromParent_Done,
29644 /* 84235 */ // Label 1808: @84235
29645 /* 84235 */ GIM_Try, /*On fail goto*//*Label 1809*/ GIMT_Encode4(84277), // Rule ID 19836 //
29646 /* 84240 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29647 /* 84243 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29648 /* 84247 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29649 /* 84251 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29650 /* 84255 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29651 /* 84262 */ // (st VR256X:{ *:[v8i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v8i32] }:$src)
29652 /* 84262 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256mr),
29653 /* 84265 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29654 /* 84269 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29655 /* 84271 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29656 /* 84275 */ GIR_RootConstrainSelectedInstOperands,
29657 /* 84276 */ // GIR_Coverage, 19836,
29658 /* 84276 */ GIR_EraseRootFromParent_Done,
29659 /* 84277 */ // Label 1809: @84277
29660 /* 84277 */ GIM_Try, /*On fail goto*//*Label 1810*/ GIMT_Encode4(84315), // Rule ID 19840 //
29661 /* 84282 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29662 /* 84285 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29663 /* 84289 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29664 /* 84293 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29665 /* 84300 */ // (st VR256X:{ *:[v8i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v8i32] }:$src)
29666 /* 84300 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256mr),
29667 /* 84303 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29668 /* 84307 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29669 /* 84309 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29670 /* 84313 */ GIR_RootConstrainSelectedInstOperands,
29671 /* 84314 */ // GIR_Coverage, 19840,
29672 /* 84314 */ GIR_EraseRootFromParent_Done,
29673 /* 84315 */ // Label 1810: @84315
29674 /* 84315 */ GIM_Reject,
29675 /* 84316 */ // Label 1802: @84316
29676 /* 84316 */ GIM_Reject,
29677 /* 84317 */ // Label 1487: @84317
29678 /* 84317 */ GIM_Try, /*On fail goto*//*Label 1811*/ GIMT_Encode4(84490),
29679 /* 84322 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29680 /* 84325 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29681 /* 84329 */ GIM_Try, /*On fail goto*//*Label 1812*/ GIMT_Encode4(84371), // Rule ID 4494 //
29682 /* 84334 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
29683 /* 84337 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29684 /* 84341 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29685 /* 84345 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29686 /* 84349 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29687 /* 84356 */ // (st VR512:{ *:[v8f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPDZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v8f64] }:$src)
29688 /* 84356 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZmr),
29689 /* 84359 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29690 /* 84363 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29691 /* 84365 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29692 /* 84369 */ GIR_RootConstrainSelectedInstOperands,
29693 /* 84370 */ // GIR_Coverage, 4494,
29694 /* 84370 */ GIR_EraseRootFromParent_Done,
29695 /* 84371 */ // Label 1812: @84371
29696 /* 84371 */ GIM_Try, /*On fail goto*//*Label 1813*/ GIMT_Encode4(84409), // Rule ID 4518 //
29697 /* 84376 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
29698 /* 84379 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29699 /* 84383 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29700 /* 84387 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29701 /* 84394 */ // (st VR512:{ *:[v8f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPDZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v8f64] }:$src)
29702 /* 84394 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDZmr),
29703 /* 84397 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29704 /* 84401 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29705 /* 84403 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29706 /* 84407 */ GIR_RootConstrainSelectedInstOperands,
29707 /* 84408 */ // GIR_Coverage, 4518,
29708 /* 84408 */ GIR_EraseRootFromParent_Done,
29709 /* 84409 */ // Label 1813: @84409
29710 /* 84409 */ GIM_Try, /*On fail goto*//*Label 1814*/ GIMT_Encode4(84451), // Rule ID 4548 //
29711 /* 84414 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
29712 /* 84417 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29713 /* 84421 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29714 /* 84425 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29715 /* 84429 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29716 /* 84436 */ // (st VR512:{ *:[v8i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v8i64] }:$src)
29717 /* 84436 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zmr),
29718 /* 84439 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29719 /* 84443 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29720 /* 84445 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29721 /* 84449 */ GIR_RootConstrainSelectedInstOperands,
29722 /* 84450 */ // GIR_Coverage, 4548,
29723 /* 84450 */ GIR_EraseRootFromParent_Done,
29724 /* 84451 */ // Label 1814: @84451
29725 /* 84451 */ GIM_Try, /*On fail goto*//*Label 1815*/ GIMT_Encode4(84489), // Rule ID 4590 //
29726 /* 84456 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
29727 /* 84459 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29728 /* 84463 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29729 /* 84467 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29730 /* 84474 */ // (st VR512:{ *:[v8i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v8i64] }:$src)
29731 /* 84474 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zmr),
29732 /* 84477 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29733 /* 84481 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29734 /* 84483 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29735 /* 84487 */ GIR_RootConstrainSelectedInstOperands,
29736 /* 84488 */ // GIR_Coverage, 4590,
29737 /* 84488 */ GIR_EraseRootFromParent_Done,
29738 /* 84489 */ // Label 1815: @84489
29739 /* 84489 */ GIM_Reject,
29740 /* 84490 */ // Label 1811: @84490
29741 /* 84490 */ GIM_Reject,
29742 /* 84491 */ // Label 1488: @84491
29743 /* 84491 */ GIM_Try, /*On fail goto*//*Label 1816*/ GIMT_Encode4(84572),
29744 /* 84496 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29745 /* 84499 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29746 /* 84503 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
29747 /* 84507 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29748 /* 84511 */ GIM_Try, /*On fail goto*//*Label 1817*/ GIMT_Encode4(84541), // Rule ID 4400 //
29749 /* 84516 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoEGPR),
29750 /* 84519 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29751 /* 84526 */ // (st VK16:{ *:[v16i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVWmk addr:{ *:[iPTR] }:$dst, VK16:{ *:[v16i1] }:$src)
29752 /* 84526 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVWmk),
29753 /* 84529 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29754 /* 84533 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29755 /* 84535 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29756 /* 84539 */ GIR_RootConstrainSelectedInstOperands,
29757 /* 84540 */ // GIR_Coverage, 4400,
29758 /* 84540 */ GIR_EraseRootFromParent_Done,
29759 /* 84541 */ // Label 1817: @84541
29760 /* 84541 */ GIM_Try, /*On fail goto*//*Label 1818*/ GIMT_Encode4(84571), // Rule ID 4402 //
29761 /* 84546 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEGPR_In64BitMode),
29762 /* 84549 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29763 /* 84556 */ // (st VK16:{ *:[v16i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVWmk_EVEX addr:{ *:[iPTR] }:$dst, VK16:{ *:[v16i1] }:$src)
29764 /* 84556 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVWmk_EVEX),
29765 /* 84559 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29766 /* 84563 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29767 /* 84565 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29768 /* 84569 */ GIR_RootConstrainSelectedInstOperands,
29769 /* 84570 */ // GIR_Coverage, 4402,
29770 /* 84570 */ GIR_EraseRootFromParent_Done,
29771 /* 84571 */ // Label 1818: @84571
29772 /* 84571 */ GIM_Reject,
29773 /* 84572 */ // Label 1816: @84572
29774 /* 84572 */ GIM_Reject,
29775 /* 84573 */ // Label 1489: @84573
29776 /* 84573 */ GIM_Try, /*On fail goto*//*Label 1819*/ GIMT_Encode4(84826),
29777 /* 84578 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29778 /* 84581 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29779 /* 84585 */ GIM_Try, /*On fail goto*//*Label 1820*/ GIMT_Encode4(84627), // Rule ID 17950 //
29780 /* 84590 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
29781 /* 84593 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29782 /* 84597 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29783 /* 84601 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29784 /* 84605 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29785 /* 84612 */ // (st VR128:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v16i8] }:$src)
29786 /* 84612 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
29787 /* 84615 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29788 /* 84619 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29789 /* 84621 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29790 /* 84625 */ GIR_RootConstrainSelectedInstOperands,
29791 /* 84626 */ // GIR_Coverage, 17950,
29792 /* 84626 */ GIR_EraseRootFromParent_Done,
29793 /* 84627 */ // Label 1820: @84627
29794 /* 84627 */ GIM_Try, /*On fail goto*//*Label 1821*/ GIMT_Encode4(84665), // Rule ID 17954 //
29795 /* 84632 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
29796 /* 84635 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29797 /* 84639 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29798 /* 84643 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29799 /* 84650 */ // (st VR128:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v16i8] }:$src)
29800 /* 84650 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
29801 /* 84653 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29802 /* 84657 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29803 /* 84659 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29804 /* 84663 */ GIR_RootConstrainSelectedInstOperands,
29805 /* 84664 */ // GIR_Coverage, 17954,
29806 /* 84664 */ GIR_EraseRootFromParent_Done,
29807 /* 84665 */ // Label 1821: @84665
29808 /* 84665 */ GIM_Try, /*On fail goto*//*Label 1822*/ GIMT_Encode4(84707), // Rule ID 18330 //
29809 /* 84670 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29810 /* 84673 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29811 /* 84677 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29812 /* 84681 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29813 /* 84685 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29814 /* 84692 */ // (st VR128:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v16i8] }:$src)
29815 /* 84692 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQAmr),
29816 /* 84695 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29817 /* 84699 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29818 /* 84701 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29819 /* 84705 */ GIR_RootConstrainSelectedInstOperands,
29820 /* 84706 */ // GIR_Coverage, 18330,
29821 /* 84706 */ GIR_EraseRootFromParent_Done,
29822 /* 84707 */ // Label 1822: @84707
29823 /* 84707 */ GIM_Try, /*On fail goto*//*Label 1823*/ GIMT_Encode4(84745), // Rule ID 18334 //
29824 /* 84712 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29825 /* 84715 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29826 /* 84719 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29827 /* 84723 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29828 /* 84730 */ // (st VR128:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQUmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v16i8] }:$src)
29829 /* 84730 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUmr),
29830 /* 84733 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29831 /* 84737 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29832 /* 84739 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29833 /* 84743 */ GIR_RootConstrainSelectedInstOperands,
29834 /* 84744 */ // GIR_Coverage, 18334,
29835 /* 84744 */ GIR_EraseRootFromParent_Done,
29836 /* 84745 */ // Label 1823: @84745
29837 /* 84745 */ GIM_Try, /*On fail goto*//*Label 1824*/ GIMT_Encode4(84787), // Rule ID 19823 //
29838 /* 84750 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29839 /* 84753 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29840 /* 84757 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29841 /* 84761 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29842 /* 84765 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29843 /* 84772 */ // (st VR128X:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v16i8] }:$src)
29844 /* 84772 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128mr),
29845 /* 84775 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29846 /* 84779 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29847 /* 84781 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29848 /* 84785 */ GIR_RootConstrainSelectedInstOperands,
29849 /* 84786 */ // GIR_Coverage, 19823,
29850 /* 84786 */ GIR_EraseRootFromParent_Done,
29851 /* 84787 */ // Label 1824: @84787
29852 /* 84787 */ GIM_Try, /*On fail goto*//*Label 1825*/ GIMT_Encode4(84825), // Rule ID 19827 //
29853 /* 84792 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29854 /* 84795 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29855 /* 84799 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29856 /* 84803 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29857 /* 84810 */ // (st VR128X:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v16i8] }:$src)
29858 /* 84810 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128mr),
29859 /* 84813 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29860 /* 84817 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29861 /* 84819 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29862 /* 84823 */ GIR_RootConstrainSelectedInstOperands,
29863 /* 84824 */ // GIR_Coverage, 19827,
29864 /* 84824 */ GIR_EraseRootFromParent_Done,
29865 /* 84825 */ // Label 1825: @84825
29866 /* 84825 */ GIM_Reject,
29867 /* 84826 */ // Label 1819: @84826
29868 /* 84826 */ GIM_Reject,
29869 /* 84827 */ // Label 1490: @84827
29870 /* 84827 */ GIM_Try, /*On fail goto*//*Label 1826*/ GIMT_Encode4(85160),
29871 /* 84832 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29872 /* 84835 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29873 /* 84839 */ GIM_Try, /*On fail goto*//*Label 1827*/ GIMT_Encode4(84881), // Rule ID 17925 //
29874 /* 84844 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29875 /* 84847 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29876 /* 84851 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29877 /* 84855 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29878 /* 84859 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29879 /* 84866 */ // (st VR256:{ *:[v16i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v16i16] }:$src)
29880 /* 84866 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
29881 /* 84869 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29882 /* 84873 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29883 /* 84875 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29884 /* 84879 */ GIR_RootConstrainSelectedInstOperands,
29885 /* 84880 */ // GIR_Coverage, 17925,
29886 /* 84880 */ GIR_EraseRootFromParent_Done,
29887 /* 84881 */ // Label 1827: @84881
29888 /* 84881 */ GIM_Try, /*On fail goto*//*Label 1828*/ GIMT_Encode4(84919), // Rule ID 17929 //
29889 /* 84886 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29890 /* 84889 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29891 /* 84893 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29892 /* 84897 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29893 /* 84904 */ // (st VR256:{ *:[v16i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v16i16] }:$src)
29894 /* 84904 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYmr),
29895 /* 84907 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29896 /* 84911 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29897 /* 84913 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29898 /* 84917 */ GIR_RootConstrainSelectedInstOperands,
29899 /* 84918 */ // GIR_Coverage, 17929,
29900 /* 84918 */ GIR_EraseRootFromParent_Done,
29901 /* 84919 */ // Label 1828: @84919
29902 /* 84919 */ GIM_Try, /*On fail goto*//*Label 1829*/ GIMT_Encode4(84961), // Rule ID 17937 //
29903 /* 84924 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29904 /* 84927 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29905 /* 84931 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29906 /* 84935 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29907 /* 84939 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29908 /* 84946 */ // (st VR256:{ *:[v16f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v16f16] }:$src)
29909 /* 84946 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
29910 /* 84949 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29911 /* 84953 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29912 /* 84955 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29913 /* 84959 */ GIR_RootConstrainSelectedInstOperands,
29914 /* 84960 */ // GIR_Coverage, 17937,
29915 /* 84960 */ GIR_EraseRootFromParent_Done,
29916 /* 84961 */ // Label 1829: @84961
29917 /* 84961 */ GIM_Try, /*On fail goto*//*Label 1830*/ GIMT_Encode4(84999), // Rule ID 17938 //
29918 /* 84966 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29919 /* 84969 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29920 /* 84973 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29921 /* 84977 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29922 /* 84984 */ // (st VR256:{ *:[v16f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v16f16] }:$src)
29923 /* 84984 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYmr),
29924 /* 84987 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29925 /* 84991 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29926 /* 84993 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29927 /* 84997 */ GIR_RootConstrainSelectedInstOperands,
29928 /* 84998 */ // GIR_Coverage, 17938,
29929 /* 84998 */ GIR_EraseRootFromParent_Done,
29930 /* 84999 */ // Label 1830: @84999
29931 /* 84999 */ GIM_Try, /*On fail goto*//*Label 1831*/ GIMT_Encode4(85041), // Rule ID 19837 //
29932 /* 85004 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29933 /* 85007 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29934 /* 85011 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29935 /* 85015 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29936 /* 85019 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29937 /* 85026 */ // (st VR256X:{ *:[v16i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v16i16] }:$src)
29938 /* 85026 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256mr),
29939 /* 85029 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29940 /* 85033 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29941 /* 85035 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29942 /* 85039 */ GIR_RootConstrainSelectedInstOperands,
29943 /* 85040 */ // GIR_Coverage, 19837,
29944 /* 85040 */ GIR_EraseRootFromParent_Done,
29945 /* 85041 */ // Label 1831: @85041
29946 /* 85041 */ GIM_Try, /*On fail goto*//*Label 1832*/ GIMT_Encode4(85083), // Rule ID 19838 //
29947 /* 85046 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29948 /* 85049 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29949 /* 85053 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29950 /* 85057 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29951 /* 85061 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29952 /* 85068 */ // (st VR256X:{ *:[v16f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v16f16] }:$src)
29953 /* 85068 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ256mr),
29954 /* 85071 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29955 /* 85075 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29956 /* 85077 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29957 /* 85081 */ GIR_RootConstrainSelectedInstOperands,
29958 /* 85082 */ // GIR_Coverage, 19838,
29959 /* 85082 */ GIR_EraseRootFromParent_Done,
29960 /* 85083 */ // Label 1832: @85083
29961 /* 85083 */ GIM_Try, /*On fail goto*//*Label 1833*/ GIMT_Encode4(85121), // Rule ID 19841 //
29962 /* 85088 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29963 /* 85091 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29964 /* 85095 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29965 /* 85099 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29966 /* 85106 */ // (st VR256X:{ *:[v16i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v16i16] }:$src)
29967 /* 85106 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256mr),
29968 /* 85109 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29969 /* 85113 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29970 /* 85115 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29971 /* 85119 */ GIR_RootConstrainSelectedInstOperands,
29972 /* 85120 */ // GIR_Coverage, 19841,
29973 /* 85120 */ GIR_EraseRootFromParent_Done,
29974 /* 85121 */ // Label 1833: @85121
29975 /* 85121 */ GIM_Try, /*On fail goto*//*Label 1834*/ GIMT_Encode4(85159), // Rule ID 19842 //
29976 /* 85126 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29977 /* 85129 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29978 /* 85133 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29979 /* 85137 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29980 /* 85144 */ // (st VR256X:{ *:[v16f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v16f16] }:$src)
29981 /* 85144 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ256mr),
29982 /* 85147 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29983 /* 85151 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29984 /* 85153 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29985 /* 85157 */ GIR_RootConstrainSelectedInstOperands,
29986 /* 85158 */ // GIR_Coverage, 19842,
29987 /* 85158 */ GIR_EraseRootFromParent_Done,
29988 /* 85159 */ // Label 1834: @85159
29989 /* 85159 */ GIM_Reject,
29990 /* 85160 */ // Label 1826: @85160
29991 /* 85160 */ GIM_Reject,
29992 /* 85161 */ // Label 1491: @85161
29993 /* 85161 */ GIM_Try, /*On fail goto*//*Label 1835*/ GIMT_Encode4(85334),
29994 /* 85166 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29995 /* 85169 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29996 /* 85173 */ GIM_Try, /*On fail goto*//*Label 1836*/ GIMT_Encode4(85215), // Rule ID 4476 //
29997 /* 85178 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
29998 /* 85181 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29999 /* 85185 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30000 /* 85189 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30001 /* 85193 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30002 /* 85200 */ // (st VR512:{ *:[v16f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v16f32] }:$src)
30003 /* 85200 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZmr),
30004 /* 85203 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30005 /* 85207 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30006 /* 85209 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30007 /* 85213 */ GIR_RootConstrainSelectedInstOperands,
30008 /* 85214 */ // GIR_Coverage, 4476,
30009 /* 85214 */ GIR_EraseRootFromParent_Done,
30010 /* 85215 */ // Label 1836: @85215
30011 /* 85215 */ GIM_Try, /*On fail goto*//*Label 1837*/ GIMT_Encode4(85253), // Rule ID 4506 //
30012 /* 85220 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
30013 /* 85223 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
30014 /* 85227 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30015 /* 85231 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30016 /* 85238 */ // (st VR512:{ *:[v16f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v16f32] }:$src)
30017 /* 85238 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZmr),
30018 /* 85241 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30019 /* 85245 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30020 /* 85247 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30021 /* 85251 */ GIR_RootConstrainSelectedInstOperands,
30022 /* 85252 */ // GIR_Coverage, 4506,
30023 /* 85252 */ GIR_EraseRootFromParent_Done,
30024 /* 85253 */ // Label 1837: @85253
30025 /* 85253 */ GIM_Try, /*On fail goto*//*Label 1838*/ GIMT_Encode4(85295), // Rule ID 19804 //
30026 /* 85258 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
30027 /* 85261 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
30028 /* 85265 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30029 /* 85269 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30030 /* 85273 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30031 /* 85280 */ // (st VR512:{ *:[v16i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v16i32] }:$src)
30032 /* 85280 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zmr),
30033 /* 85283 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30034 /* 85287 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30035 /* 85289 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30036 /* 85293 */ GIR_RootConstrainSelectedInstOperands,
30037 /* 85294 */ // GIR_Coverage, 19804,
30038 /* 85294 */ GIR_EraseRootFromParent_Done,
30039 /* 85295 */ // Label 1838: @85295
30040 /* 85295 */ GIM_Try, /*On fail goto*//*Label 1839*/ GIMT_Encode4(85333), // Rule ID 19808 //
30041 /* 85300 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
30042 /* 85303 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
30043 /* 85307 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30044 /* 85311 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30045 /* 85318 */ // (st VR512:{ *:[v16i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v16i32] }:$src)
30046 /* 85318 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zmr),
30047 /* 85321 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30048 /* 85325 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30049 /* 85327 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30050 /* 85331 */ GIR_RootConstrainSelectedInstOperands,
30051 /* 85332 */ // GIR_Coverage, 19808,
30052 /* 85332 */ GIR_EraseRootFromParent_Done,
30053 /* 85333 */ // Label 1839: @85333
30054 /* 85333 */ GIM_Reject,
30055 /* 85334 */ // Label 1835: @85334
30056 /* 85334 */ GIM_Reject,
30057 /* 85335 */ // Label 1492: @85335
30058 /* 85335 */ GIM_Try, /*On fail goto*//*Label 1840*/ GIMT_Encode4(85416),
30059 /* 85340 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30060 /* 85343 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
30061 /* 85347 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
30062 /* 85351 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30063 /* 85355 */ GIM_Try, /*On fail goto*//*Label 1841*/ GIMT_Encode4(85385), // Rule ID 4404 //
30064 /* 85360 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoEGPR),
30065 /* 85363 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30066 /* 85370 */ // (st VK32:{ *:[v32i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVDmk addr:{ *:[iPTR] }:$dst, VK32:{ *:[v32i1] }:$src)
30067 /* 85370 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVDmk),
30068 /* 85373 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30069 /* 85377 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30070 /* 85379 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30071 /* 85383 */ GIR_RootConstrainSelectedInstOperands,
30072 /* 85384 */ // GIR_Coverage, 4404,
30073 /* 85384 */ GIR_EraseRootFromParent_Done,
30074 /* 85385 */ // Label 1841: @85385
30075 /* 85385 */ GIM_Try, /*On fail goto*//*Label 1842*/ GIMT_Encode4(85415), // Rule ID 4408 //
30076 /* 85390 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasEGPR_In64BitMode),
30077 /* 85393 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30078 /* 85400 */ // (st VK32:{ *:[v32i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVDmk_EVEX addr:{ *:[iPTR] }:$dst, VK32:{ *:[v32i1] }:$src)
30079 /* 85400 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVDmk_EVEX),
30080 /* 85403 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30081 /* 85407 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30082 /* 85409 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30083 /* 85413 */ GIR_RootConstrainSelectedInstOperands,
30084 /* 85414 */ // GIR_Coverage, 4408,
30085 /* 85414 */ GIR_EraseRootFromParent_Done,
30086 /* 85415 */ // Label 1842: @85415
30087 /* 85415 */ GIM_Reject,
30088 /* 85416 */ // Label 1840: @85416
30089 /* 85416 */ GIM_Reject,
30090 /* 85417 */ // Label 1493: @85417
30091 /* 85417 */ GIM_Try, /*On fail goto*//*Label 1843*/ GIMT_Encode4(85590),
30092 /* 85422 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30093 /* 85425 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
30094 /* 85429 */ GIM_Try, /*On fail goto*//*Label 1844*/ GIMT_Encode4(85471), // Rule ID 17926 //
30095 /* 85434 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
30096 /* 85437 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
30097 /* 85441 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30098 /* 85445 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30099 /* 85449 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30100 /* 85456 */ // (st VR256:{ *:[v32i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v32i8] }:$src)
30101 /* 85456 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
30102 /* 85459 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30103 /* 85463 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30104 /* 85465 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30105 /* 85469 */ GIR_RootConstrainSelectedInstOperands,
30106 /* 85470 */ // GIR_Coverage, 17926,
30107 /* 85470 */ GIR_EraseRootFromParent_Done,
30108 /* 85471 */ // Label 1844: @85471
30109 /* 85471 */ GIM_Try, /*On fail goto*//*Label 1845*/ GIMT_Encode4(85509), // Rule ID 17930 //
30110 /* 85476 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
30111 /* 85479 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
30112 /* 85483 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30113 /* 85487 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30114 /* 85494 */ // (st VR256:{ *:[v32i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v32i8] }:$src)
30115 /* 85494 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYmr),
30116 /* 85497 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30117 /* 85501 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30118 /* 85503 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30119 /* 85507 */ GIR_RootConstrainSelectedInstOperands,
30120 /* 85508 */ // GIR_Coverage, 17930,
30121 /* 85508 */ GIR_EraseRootFromParent_Done,
30122 /* 85509 */ // Label 1845: @85509
30123 /* 85509 */ GIM_Try, /*On fail goto*//*Label 1846*/ GIMT_Encode4(85551), // Rule ID 19839 //
30124 /* 85514 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
30125 /* 85517 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
30126 /* 85521 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30127 /* 85525 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30128 /* 85529 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30129 /* 85536 */ // (st VR256X:{ *:[v32i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v32i8] }:$src)
30130 /* 85536 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256mr),
30131 /* 85539 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30132 /* 85543 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30133 /* 85545 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30134 /* 85549 */ GIR_RootConstrainSelectedInstOperands,
30135 /* 85550 */ // GIR_Coverage, 19839,
30136 /* 85550 */ GIR_EraseRootFromParent_Done,
30137 /* 85551 */ // Label 1846: @85551
30138 /* 85551 */ GIM_Try, /*On fail goto*//*Label 1847*/ GIMT_Encode4(85589), // Rule ID 19843 //
30139 /* 85556 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
30140 /* 85559 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
30141 /* 85563 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30142 /* 85567 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30143 /* 85574 */ // (st VR256X:{ *:[v32i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v32i8] }:$src)
30144 /* 85574 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256mr),
30145 /* 85577 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30146 /* 85581 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30147 /* 85583 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30148 /* 85587 */ GIR_RootConstrainSelectedInstOperands,
30149 /* 85588 */ // GIR_Coverage, 19843,
30150 /* 85588 */ GIR_EraseRootFromParent_Done,
30151 /* 85589 */ // Label 1847: @85589
30152 /* 85589 */ GIM_Reject,
30153 /* 85590 */ // Label 1843: @85590
30154 /* 85590 */ GIM_Reject,
30155 /* 85591 */ // Label 1494: @85591
30156 /* 85591 */ GIM_Try, /*On fail goto*//*Label 1848*/ GIMT_Encode4(85764),
30157 /* 85596 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30158 /* 85599 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
30159 /* 85603 */ GIM_Try, /*On fail goto*//*Label 1849*/ GIMT_Encode4(85645), // Rule ID 19805 //
30160 /* 85608 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
30161 /* 85611 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
30162 /* 85615 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30163 /* 85619 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30164 /* 85623 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30165 /* 85630 */ // (st VR512:{ *:[v32i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v32i16] }:$src)
30166 /* 85630 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zmr),
30167 /* 85633 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30168 /* 85637 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30169 /* 85639 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30170 /* 85643 */ GIR_RootConstrainSelectedInstOperands,
30171 /* 85644 */ // GIR_Coverage, 19805,
30172 /* 85644 */ GIR_EraseRootFromParent_Done,
30173 /* 85645 */ // Label 1849: @85645
30174 /* 85645 */ GIM_Try, /*On fail goto*//*Label 1850*/ GIMT_Encode4(85687), // Rule ID 19806 //
30175 /* 85650 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
30176 /* 85653 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
30177 /* 85657 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30178 /* 85661 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30179 /* 85665 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30180 /* 85672 */ // (st VR512:{ *:[v32f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v32f16] }:$src)
30181 /* 85672 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZmr),
30182 /* 85675 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30183 /* 85679 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30184 /* 85681 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30185 /* 85685 */ GIR_RootConstrainSelectedInstOperands,
30186 /* 85686 */ // GIR_Coverage, 19806,
30187 /* 85686 */ GIR_EraseRootFromParent_Done,
30188 /* 85687 */ // Label 1850: @85687
30189 /* 85687 */ GIM_Try, /*On fail goto*//*Label 1851*/ GIMT_Encode4(85725), // Rule ID 19809 //
30190 /* 85692 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
30191 /* 85695 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
30192 /* 85699 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30193 /* 85703 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30194 /* 85710 */ // (st VR512:{ *:[v32i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v32i16] }:$src)
30195 /* 85710 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zmr),
30196 /* 85713 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30197 /* 85717 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30198 /* 85719 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30199 /* 85723 */ GIR_RootConstrainSelectedInstOperands,
30200 /* 85724 */ // GIR_Coverage, 19809,
30201 /* 85724 */ GIR_EraseRootFromParent_Done,
30202 /* 85725 */ // Label 1851: @85725
30203 /* 85725 */ GIM_Try, /*On fail goto*//*Label 1852*/ GIMT_Encode4(85763), // Rule ID 19810 //
30204 /* 85730 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
30205 /* 85733 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
30206 /* 85737 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30207 /* 85741 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30208 /* 85748 */ // (st VR512:{ *:[v32f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v32f16] }:$src)
30209 /* 85748 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZmr),
30210 /* 85751 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30211 /* 85755 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30212 /* 85757 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30213 /* 85761 */ GIR_RootConstrainSelectedInstOperands,
30214 /* 85762 */ // GIR_Coverage, 19810,
30215 /* 85762 */ GIR_EraseRootFromParent_Done,
30216 /* 85763 */ // Label 1852: @85763
30217 /* 85763 */ GIM_Reject,
30218 /* 85764 */ // Label 1848: @85764
30219 /* 85764 */ GIM_Reject,
30220 /* 85765 */ // Label 1495: @85765
30221 /* 85765 */ GIM_Try, /*On fail goto*//*Label 1853*/ GIMT_Encode4(85846),
30222 /* 85770 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30223 /* 85773 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
30224 /* 85777 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
30225 /* 85781 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30226 /* 85785 */ GIM_Try, /*On fail goto*//*Label 1854*/ GIMT_Encode4(85815), // Rule ID 4406 //
30227 /* 85790 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoEGPR),
30228 /* 85793 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30229 /* 85800 */ // (st VK64:{ *:[v64i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVQmk addr:{ *:[iPTR] }:$dst, VK64:{ *:[v64i1] }:$src)
30230 /* 85800 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVQmk),
30231 /* 85803 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30232 /* 85807 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30233 /* 85809 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30234 /* 85813 */ GIR_RootConstrainSelectedInstOperands,
30235 /* 85814 */ // GIR_Coverage, 4406,
30236 /* 85814 */ GIR_EraseRootFromParent_Done,
30237 /* 85815 */ // Label 1854: @85815
30238 /* 85815 */ GIM_Try, /*On fail goto*//*Label 1855*/ GIMT_Encode4(85845), // Rule ID 4410 //
30239 /* 85820 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasEGPR_In64BitMode),
30240 /* 85823 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30241 /* 85830 */ // (st VK64:{ *:[v64i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVQmk_EVEX addr:{ *:[iPTR] }:$dst, VK64:{ *:[v64i1] }:$src)
30242 /* 85830 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVQmk_EVEX),
30243 /* 85833 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30244 /* 85837 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30245 /* 85839 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30246 /* 85843 */ GIR_RootConstrainSelectedInstOperands,
30247 /* 85844 */ // GIR_Coverage, 4410,
30248 /* 85844 */ GIR_EraseRootFromParent_Done,
30249 /* 85845 */ // Label 1855: @85845
30250 /* 85845 */ GIM_Reject,
30251 /* 85846 */ // Label 1853: @85846
30252 /* 85846 */ GIM_Reject,
30253 /* 85847 */ // Label 1496: @85847
30254 /* 85847 */ GIM_Try, /*On fail goto*//*Label 1856*/ GIMT_Encode4(85940),
30255 /* 85852 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30256 /* 85855 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
30257 /* 85859 */ GIM_Try, /*On fail goto*//*Label 1857*/ GIMT_Encode4(85901), // Rule ID 19807 //
30258 /* 85864 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
30259 /* 85867 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
30260 /* 85871 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30261 /* 85875 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30262 /* 85879 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30263 /* 85886 */ // (st VR512:{ *:[v64i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v64i8] }:$src)
30264 /* 85886 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zmr),
30265 /* 85889 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30266 /* 85893 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30267 /* 85895 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30268 /* 85899 */ GIR_RootConstrainSelectedInstOperands,
30269 /* 85900 */ // GIR_Coverage, 19807,
30270 /* 85900 */ GIR_EraseRootFromParent_Done,
30271 /* 85901 */ // Label 1857: @85901
30272 /* 85901 */ GIM_Try, /*On fail goto*//*Label 1858*/ GIMT_Encode4(85939), // Rule ID 19811 //
30273 /* 85906 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
30274 /* 85909 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
30275 /* 85913 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30276 /* 85917 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30277 /* 85924 */ // (st VR512:{ *:[v64i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v64i8] }:$src)
30278 /* 85924 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zmr),
30279 /* 85927 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30280 /* 85931 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30281 /* 85933 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30282 /* 85937 */ GIR_RootConstrainSelectedInstOperands,
30283 /* 85938 */ // GIR_Coverage, 19811,
30284 /* 85938 */ GIR_EraseRootFromParent_Done,
30285 /* 85939 */ // Label 1858: @85939
30286 /* 85939 */ GIM_Reject,
30287 /* 85940 */ // Label 1856: @85940
30288 /* 85940 */ GIM_Reject,
30289 /* 85941 */ // Label 1497: @85941
30290 /* 85941 */ GIM_Reject,
30291 /* 85942 */ // Label 14: @85942
30292 /* 85942 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 1863*/ GIMT_Encode4(86177),
30293 /* 85953 */ /*GILLT_s8*//*Label 1859*/ GIMT_Encode4(85969),
30294 /* 85957 */ /*GILLT_s16*//*Label 1860*/ GIMT_Encode4(86021),
30295 /* 85961 */ /*GILLT_s32*//*Label 1861*/ GIMT_Encode4(86073),
30296 /* 85965 */ /*GILLT_s64*//*Label 1862*/ GIMT_Encode4(86125),
30297 /* 85969 */ // Label 1859: @85969
30298 /* 85969 */ GIM_Try, /*On fail goto*//*Label 1864*/ GIMT_Encode4(86020), // Rule ID 45 //
30299 /* 85974 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
30300 /* 85977 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
30301 /* 85984 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
30302 /* 85988 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30303 /* 85992 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
30304 /* 85996 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30305 /* 86003 */ // (atomic_swap:{ *:[i8] } addr:{ *:[iPTR] }:$ptr, GR8:{ *:[i8] }:$val)<<P:Predicate_atomic_swap_i8>> => (XCHG8rm:{ *:[i8] } GR8:{ *:[i8] }:$val, addr:{ *:[iPTR] }:$ptr)
30306 /* 86003 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XCHG8rm),
30307 /* 86006 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30308 /* 86008 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
30309 /* 86010 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
30310 /* 86014 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30311 /* 86018 */ GIR_RootConstrainSelectedInstOperands,
30312 /* 86019 */ // GIR_Coverage, 45,
30313 /* 86019 */ GIR_EraseRootFromParent_Done,
30314 /* 86020 */ // Label 1864: @86020
30315 /* 86020 */ GIM_Reject,
30316 /* 86021 */ // Label 1860: @86021
30317 /* 86021 */ GIM_Try, /*On fail goto*//*Label 1865*/ GIMT_Encode4(86072), // Rule ID 46 //
30318 /* 86026 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
30319 /* 86029 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
30320 /* 86036 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
30321 /* 86040 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30322 /* 86044 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
30323 /* 86048 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30324 /* 86055 */ // (atomic_swap:{ *:[i16] } addr:{ *:[iPTR] }:$ptr, GR16:{ *:[i16] }:$val)<<P:Predicate_atomic_swap_i16>> => (XCHG16rm:{ *:[i16] } GR16:{ *:[i16] }:$val, addr:{ *:[iPTR] }:$ptr)
30325 /* 86055 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XCHG16rm),
30326 /* 86058 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30327 /* 86060 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
30328 /* 86062 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
30329 /* 86066 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30330 /* 86070 */ GIR_RootConstrainSelectedInstOperands,
30331 /* 86071 */ // GIR_Coverage, 46,
30332 /* 86071 */ GIR_EraseRootFromParent_Done,
30333 /* 86072 */ // Label 1865: @86072
30334 /* 86072 */ GIM_Reject,
30335 /* 86073 */ // Label 1861: @86073
30336 /* 86073 */ GIM_Try, /*On fail goto*//*Label 1866*/ GIMT_Encode4(86124), // Rule ID 47 //
30337 /* 86078 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
30338 /* 86081 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
30339 /* 86088 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
30340 /* 86092 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30341 /* 86096 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
30342 /* 86100 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30343 /* 86107 */ // (atomic_swap:{ *:[i32] } addr:{ *:[iPTR] }:$ptr, GR32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_i32>> => (XCHG32rm:{ *:[i32] } GR32:{ *:[i32] }:$val, addr:{ *:[iPTR] }:$ptr)
30344 /* 86107 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XCHG32rm),
30345 /* 86110 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30346 /* 86112 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
30347 /* 86114 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
30348 /* 86118 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30349 /* 86122 */ GIR_RootConstrainSelectedInstOperands,
30350 /* 86123 */ // GIR_Coverage, 47,
30351 /* 86123 */ GIR_EraseRootFromParent_Done,
30352 /* 86124 */ // Label 1866: @86124
30353 /* 86124 */ GIM_Reject,
30354 /* 86125 */ // Label 1862: @86125
30355 /* 86125 */ GIM_Try, /*On fail goto*//*Label 1867*/ GIMT_Encode4(86176), // Rule ID 48 //
30356 /* 86130 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
30357 /* 86133 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
30358 /* 86140 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
30359 /* 86144 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30360 /* 86148 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
30361 /* 86152 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30362 /* 86159 */ // (atomic_swap:{ *:[i64] } addr:{ *:[iPTR] }:$ptr, GR64:{ *:[i64] }:$val)<<P:Predicate_atomic_swap_i64>> => (XCHG64rm:{ *:[i64] } GR64:{ *:[i64] }:$val, addr:{ *:[iPTR] }:$ptr)
30363 /* 86159 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XCHG64rm),
30364 /* 86162 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30365 /* 86164 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
30366 /* 86166 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
30367 /* 86170 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30368 /* 86174 */ GIR_RootConstrainSelectedInstOperands,
30369 /* 86175 */ // GIR_Coverage, 48,
30370 /* 86175 */ GIR_EraseRootFromParent_Done,
30371 /* 86176 */ // Label 1867: @86176
30372 /* 86176 */ GIM_Reject,
30373 /* 86177 */ // Label 1863: @86177
30374 /* 86177 */ GIM_Reject,
30375 /* 86178 */ // Label 15: @86178
30376 /* 86178 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 1872*/ GIMT_Encode4(86425),
30377 /* 86189 */ /*GILLT_s8*//*Label 1868*/ GIMT_Encode4(86205),
30378 /* 86193 */ /*GILLT_s16*//*Label 1869*/ GIMT_Encode4(86260),
30379 /* 86197 */ /*GILLT_s32*//*Label 1870*/ GIMT_Encode4(86315),
30380 /* 86201 */ /*GILLT_s64*//*Label 1871*/ GIMT_Encode4(86370),
30381 /* 86205 */ // Label 1868: @86205
30382 /* 86205 */ GIM_Try, /*On fail goto*//*Label 1873*/ GIMT_Encode4(86259), // Rule ID 17298 //
30383 /* 86210 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
30384 /* 86213 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
30385 /* 86220 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
30386 /* 86224 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30387 /* 86228 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
30388 /* 86232 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30389 /* 86239 */ // (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)
30390 /* 86239 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LXADD8),
30391 /* 86242 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30392 /* 86244 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
30393 /* 86246 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
30394 /* 86250 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
30395 /* 86253 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30396 /* 86257 */ GIR_RootConstrainSelectedInstOperands,
30397 /* 86258 */ // GIR_Coverage, 17298,
30398 /* 86258 */ GIR_EraseRootFromParent_Done,
30399 /* 86259 */ // Label 1873: @86259
30400 /* 86259 */ GIM_Reject,
30401 /* 86260 */ // Label 1869: @86260
30402 /* 86260 */ GIM_Try, /*On fail goto*//*Label 1874*/ GIMT_Encode4(86314), // Rule ID 17299 //
30403 /* 86265 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
30404 /* 86268 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
30405 /* 86275 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
30406 /* 86279 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30407 /* 86283 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
30408 /* 86287 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30409 /* 86294 */ // (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)
30410 /* 86294 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LXADD16),
30411 /* 86297 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30412 /* 86299 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
30413 /* 86301 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
30414 /* 86305 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
30415 /* 86308 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30416 /* 86312 */ GIR_RootConstrainSelectedInstOperands,
30417 /* 86313 */ // GIR_Coverage, 17299,
30418 /* 86313 */ GIR_EraseRootFromParent_Done,
30419 /* 86314 */ // Label 1874: @86314
30420 /* 86314 */ GIM_Reject,
30421 /* 86315 */ // Label 1870: @86315
30422 /* 86315 */ GIM_Try, /*On fail goto*//*Label 1875*/ GIMT_Encode4(86369), // Rule ID 17300 //
30423 /* 86320 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
30424 /* 86323 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
30425 /* 86330 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
30426 /* 86334 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30427 /* 86338 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
30428 /* 86342 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30429 /* 86349 */ // (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)
30430 /* 86349 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LXADD32),
30431 /* 86352 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30432 /* 86354 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
30433 /* 86356 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
30434 /* 86360 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
30435 /* 86363 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30436 /* 86367 */ GIR_RootConstrainSelectedInstOperands,
30437 /* 86368 */ // GIR_Coverage, 17300,
30438 /* 86368 */ GIR_EraseRootFromParent_Done,
30439 /* 86369 */ // Label 1875: @86369
30440 /* 86369 */ GIM_Reject,
30441 /* 86370 */ // Label 1871: @86370
30442 /* 86370 */ GIM_Try, /*On fail goto*//*Label 1876*/ GIMT_Encode4(86424), // Rule ID 17301 //
30443 /* 86375 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
30444 /* 86378 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
30445 /* 86385 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
30446 /* 86389 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30447 /* 86393 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
30448 /* 86397 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30449 /* 86404 */ // (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)
30450 /* 86404 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LXADD64),
30451 /* 86407 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30452 /* 86409 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
30453 /* 86411 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
30454 /* 86415 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
30455 /* 86418 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30456 /* 86422 */ GIR_RootConstrainSelectedInstOperands,
30457 /* 86423 */ // GIR_Coverage, 17301,
30458 /* 86423 */ GIR_EraseRootFromParent_Done,
30459 /* 86424 */ // Label 1876: @86424
30460 /* 86424 */ GIM_Reject,
30461 /* 86425 */ // Label 1872: @86425
30462 /* 86425 */ GIM_Reject,
30463 /* 86426 */ // Label 16: @86426
30464 /* 86426 */ GIM_Try, /*On fail goto*//*Label 1877*/ GIMT_Encode4(86581),
30465 /* 86431 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
30466 /* 86434 */ GIM_Try, /*On fail goto*//*Label 1878*/ GIMT_Encode4(86484), // Rule ID 156 //
30467 /* 86439 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPREFETCHI_In64BitMode),
30468 /* 86442 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
30469 /* 86445 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
30470 /* 86448 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/0, /*SizeInBits*/0,
30471 /* 86452 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
30472 /* 86456 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 3,
30473 /* 86460 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 0,
30474 /* 86464 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30475 /* 86471 */ // (prefetch addr:{ *:[iPTR] }:$src, 0:{ *:[i32] }, 3:{ *:[i32] }, 0:{ *:[i32] }) => (PREFETCHIT0 addr:{ *:[iPTR] }:$src)
30476 /* 86471 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHIT0),
30477 /* 86474 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30478 /* 86478 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30479 /* 86482 */ GIR_RootConstrainSelectedInstOperands,
30480 /* 86483 */ // GIR_Coverage, 156,
30481 /* 86483 */ GIR_EraseRootFromParent_Done,
30482 /* 86484 */ // Label 1878: @86484
30483 /* 86484 */ GIM_Try, /*On fail goto*//*Label 1879*/ GIMT_Encode4(86534), // Rule ID 157 //
30484 /* 86489 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPREFETCHI_In64BitMode),
30485 /* 86492 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
30486 /* 86495 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
30487 /* 86498 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/0, /*SizeInBits*/0,
30488 /* 86502 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
30489 /* 86506 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 2,
30490 /* 86510 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 0,
30491 /* 86514 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30492 /* 86521 */ // (prefetch addr:{ *:[iPTR] }:$src, 0:{ *:[i32] }, 2:{ *:[i32] }, 0:{ *:[i32] }) => (PREFETCHIT1 addr:{ *:[iPTR] }:$src)
30493 /* 86521 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHIT1),
30494 /* 86524 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30495 /* 86528 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30496 /* 86532 */ GIR_RootConstrainSelectedInstOperands,
30497 /* 86533 */ // GIR_Coverage, 157,
30498 /* 86533 */ GIR_EraseRootFromParent_Done,
30499 /* 86534 */ // Label 1879: @86534
30500 /* 86534 */ GIM_Try, /*On fail goto*//*Label 1880*/ GIMT_Encode4(86580), // Rule ID 16983 //
30501 /* 86539 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPrefetchW),
30502 /* 86542 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
30503 /* 86545 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/0, /*SizeInBits*/0,
30504 /* 86549 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 1,
30505 /* 86553 */ // MIs[0] Operand 2
30506 /* 86553 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
30507 /* 86556 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 1,
30508 /* 86560 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30509 /* 86567 */ // (prefetch addr:{ *:[iPTR] }:$addr, 1:{ *:[i32] }, (timm:{ *:[i32] })<<P:Predicate_PrefetchWLevel>>, 1:{ *:[i32] }) => (PREFETCHW addr:{ *:[iPTR] }:$addr)
30510 /* 86567 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHW),
30511 /* 86570 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // addr
30512 /* 86574 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30513 /* 86578 */ GIR_RootConstrainSelectedInstOperands,
30514 /* 86579 */ // GIR_Coverage, 16983,
30515 /* 86579 */ GIR_EraseRootFromParent_Done,
30516 /* 86580 */ // Label 1880: @86580
30517 /* 86580 */ GIM_Reject,
30518 /* 86581 */ // Label 1877: @86581
30519 /* 86581 */ GIM_Try, /*On fail goto*//*Label 1881*/ GIMT_Encode4(86744),
30520 /* 86586 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
30521 /* 86589 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
30522 /* 86592 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/0, /*SizeInBits*/0,
30523 /* 86596 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
30524 /* 86599 */ GIM_Try, /*On fail goto*//*Label 1882*/ GIMT_Encode4(86635), // Rule ID 2505 //
30525 /* 86604 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSEPrefetch),
30526 /* 86607 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 3,
30527 /* 86611 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 1,
30528 /* 86615 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30529 /* 86622 */ // (prefetch addr:{ *:[iPTR] }:$src, (timm:{ *:[i32] }), 3:{ *:[i32] }, 1:{ *:[i32] }) => (PREFETCHT0 addr:{ *:[iPTR] }:$src)
30530 /* 86622 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHT0),
30531 /* 86625 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30532 /* 86629 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30533 /* 86633 */ GIR_RootConstrainSelectedInstOperands,
30534 /* 86634 */ // GIR_Coverage, 2505,
30535 /* 86634 */ GIR_EraseRootFromParent_Done,
30536 /* 86635 */ // Label 1882: @86635
30537 /* 86635 */ GIM_Try, /*On fail goto*//*Label 1883*/ GIMT_Encode4(86671), // Rule ID 2506 //
30538 /* 86640 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSEPrefetch),
30539 /* 86643 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 2,
30540 /* 86647 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 1,
30541 /* 86651 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30542 /* 86658 */ // (prefetch addr:{ *:[iPTR] }:$src, (timm:{ *:[i32] }), 2:{ *:[i32] }, 1:{ *:[i32] }) => (PREFETCHT1 addr:{ *:[iPTR] }:$src)
30543 /* 86658 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHT1),
30544 /* 86661 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30545 /* 86665 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30546 /* 86669 */ GIR_RootConstrainSelectedInstOperands,
30547 /* 86670 */ // GIR_Coverage, 2506,
30548 /* 86670 */ GIR_EraseRootFromParent_Done,
30549 /* 86671 */ // Label 1883: @86671
30550 /* 86671 */ GIM_Try, /*On fail goto*//*Label 1884*/ GIMT_Encode4(86707), // Rule ID 2507 //
30551 /* 86676 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSEPrefetch),
30552 /* 86679 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
30553 /* 86683 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 1,
30554 /* 86687 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30555 /* 86694 */ // (prefetch addr:{ *:[iPTR] }:$src, (timm:{ *:[i32] }), 1:{ *:[i32] }, 1:{ *:[i32] }) => (PREFETCHT2 addr:{ *:[iPTR] }:$src)
30556 /* 86694 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHT2),
30557 /* 86697 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30558 /* 86701 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30559 /* 86705 */ GIR_RootConstrainSelectedInstOperands,
30560 /* 86706 */ // GIR_Coverage, 2507,
30561 /* 86706 */ GIR_EraseRootFromParent_Done,
30562 /* 86707 */ // Label 1884: @86707
30563 /* 86707 */ GIM_Try, /*On fail goto*//*Label 1885*/ GIMT_Encode4(86743), // Rule ID 2508 //
30564 /* 86712 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSEPrefetch),
30565 /* 86715 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 0,
30566 /* 86719 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 1,
30567 /* 86723 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30568 /* 86730 */ // (prefetch addr:{ *:[iPTR] }:$src, (timm:{ *:[i32] }), 0:{ *:[i32] }, 1:{ *:[i32] }) => (PREFETCHNTA addr:{ *:[iPTR] }:$src)
30569 /* 86730 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHNTA),
30570 /* 86733 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30571 /* 86737 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30572 /* 86741 */ GIR_RootConstrainSelectedInstOperands,
30573 /* 86742 */ // GIR_Coverage, 2508,
30574 /* 86742 */ GIR_EraseRootFromParent_Done,
30575 /* 86743 */ // Label 1885: @86743
30576 /* 86743 */ GIM_Reject,
30577 /* 86744 */ // Label 1881: @86744
30578 /* 86744 */ GIM_Reject,
30579 /* 86745 */ // Label 17: @86745
30580 /* 86745 */ GIM_Try, /*On fail goto*//*Label 1886*/ GIMT_Encode4(89074),
30581 /* 86750 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/3,
30582 /* 86753 */ GIM_Try, /*On fail goto*//*Label 1887*/ GIMT_Encode4(86820), // Rule ID 1530 //
30583 /* 86758 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30584 /* 86761 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphsubwd),
30585 /* 86766 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30586 /* 86769 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30587 /* 86772 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30588 /* 86776 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30589 /* 86780 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30590 /* 86784 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30591 /* 86787 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30592 /* 86791 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30593 /* 86795 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30594 /* 86797 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30595 /* 86804 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15044:{ *:[iPTR] }, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHSUBWDrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
30596 /* 86804 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHSUBWDrm),
30597 /* 86807 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30598 /* 86809 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30599 /* 86813 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30600 /* 86818 */ GIR_RootConstrainSelectedInstOperands,
30601 /* 86819 */ // GIR_Coverage, 1530,
30602 /* 86819 */ GIR_EraseRootFromParent_Done,
30603 /* 86820 */ // Label 1887: @86820
30604 /* 86820 */ GIM_Try, /*On fail goto*//*Label 1888*/ GIMT_Encode4(86887), // Rule ID 1532 //
30605 /* 86825 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30606 /* 86828 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphsubdq),
30607 /* 86833 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30608 /* 86836 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30609 /* 86839 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30610 /* 86843 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30611 /* 86847 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30612 /* 86851 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30613 /* 86854 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30614 /* 86858 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30615 /* 86862 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30616 /* 86864 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30617 /* 86871 */ // (intrinsic_wo_chain:{ *:[v2i64] } 15043:{ *:[iPTR] }, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHSUBDQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
30618 /* 86871 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHSUBDQrm),
30619 /* 86874 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30620 /* 86876 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30621 /* 86880 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30622 /* 86885 */ GIR_RootConstrainSelectedInstOperands,
30623 /* 86886 */ // GIR_Coverage, 1532,
30624 /* 86886 */ GIR_EraseRootFromParent_Done,
30625 /* 86887 */ // Label 1888: @86887
30626 /* 86887 */ GIM_Try, /*On fail goto*//*Label 1889*/ GIMT_Encode4(86954), // Rule ID 1534 //
30627 /* 86892 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30628 /* 86895 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphsubbw),
30629 /* 86900 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
30630 /* 86903 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30631 /* 86906 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30632 /* 86910 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30633 /* 86914 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30634 /* 86918 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30635 /* 86921 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30636 /* 86925 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30637 /* 86929 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30638 /* 86931 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30639 /* 86938 */ // (intrinsic_wo_chain:{ *:[v8i16] } 15042:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHSUBBWrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
30640 /* 86938 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHSUBBWrm),
30641 /* 86941 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30642 /* 86943 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30643 /* 86947 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30644 /* 86952 */ GIR_RootConstrainSelectedInstOperands,
30645 /* 86953 */ // GIR_Coverage, 1534,
30646 /* 86953 */ GIR_EraseRootFromParent_Done,
30647 /* 86954 */ // Label 1889: @86954
30648 /* 86954 */ GIM_Try, /*On fail goto*//*Label 1890*/ GIMT_Encode4(87021), // Rule ID 1536 //
30649 /* 86959 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30650 /* 86962 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddwq),
30651 /* 86967 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30652 /* 86970 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30653 /* 86973 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30654 /* 86977 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30655 /* 86981 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30656 /* 86985 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30657 /* 86988 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30658 /* 86992 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30659 /* 86996 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30660 /* 86998 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30661 /* 87005 */ // (intrinsic_wo_chain:{ *:[v2i64] } 15041:{ *:[iPTR] }, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDWQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
30662 /* 87005 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDWQrm),
30663 /* 87008 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30664 /* 87010 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30665 /* 87014 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30666 /* 87019 */ GIR_RootConstrainSelectedInstOperands,
30667 /* 87020 */ // GIR_Coverage, 1536,
30668 /* 87020 */ GIR_EraseRootFromParent_Done,
30669 /* 87021 */ // Label 1890: @87021
30670 /* 87021 */ GIM_Try, /*On fail goto*//*Label 1891*/ GIMT_Encode4(87088), // Rule ID 1538 //
30671 /* 87026 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30672 /* 87029 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddwd),
30673 /* 87034 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30674 /* 87037 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30675 /* 87040 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30676 /* 87044 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30677 /* 87048 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30678 /* 87052 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30679 /* 87055 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30680 /* 87059 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30681 /* 87063 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30682 /* 87065 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30683 /* 87072 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15040:{ *:[iPTR] }, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDWDrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
30684 /* 87072 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDWDrm),
30685 /* 87075 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30686 /* 87077 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30687 /* 87081 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30688 /* 87086 */ GIR_RootConstrainSelectedInstOperands,
30689 /* 87087 */ // GIR_Coverage, 1538,
30690 /* 87087 */ GIR_EraseRootFromParent_Done,
30691 /* 87088 */ // Label 1891: @87088
30692 /* 87088 */ GIM_Try, /*On fail goto*//*Label 1892*/ GIMT_Encode4(87155), // Rule ID 1540 //
30693 /* 87093 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30694 /* 87096 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphadduwq),
30695 /* 87101 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30696 /* 87104 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30697 /* 87107 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30698 /* 87111 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30699 /* 87115 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30700 /* 87119 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30701 /* 87122 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30702 /* 87126 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30703 /* 87130 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30704 /* 87132 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30705 /* 87139 */ // (intrinsic_wo_chain:{ *:[v2i64] } 15039:{ *:[iPTR] }, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDUWQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
30706 /* 87139 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUWQrm),
30707 /* 87142 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30708 /* 87144 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30709 /* 87148 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30710 /* 87153 */ GIR_RootConstrainSelectedInstOperands,
30711 /* 87154 */ // GIR_Coverage, 1540,
30712 /* 87154 */ GIR_EraseRootFromParent_Done,
30713 /* 87155 */ // Label 1892: @87155
30714 /* 87155 */ GIM_Try, /*On fail goto*//*Label 1893*/ GIMT_Encode4(87222), // Rule ID 1542 //
30715 /* 87160 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30716 /* 87163 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphadduwd),
30717 /* 87168 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30718 /* 87171 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30719 /* 87174 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30720 /* 87178 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30721 /* 87182 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30722 /* 87186 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30723 /* 87189 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30724 /* 87193 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30725 /* 87197 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30726 /* 87199 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30727 /* 87206 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15038:{ *:[iPTR] }, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDUWDrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
30728 /* 87206 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUWDrm),
30729 /* 87209 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30730 /* 87211 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30731 /* 87215 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30732 /* 87220 */ GIR_RootConstrainSelectedInstOperands,
30733 /* 87221 */ // GIR_Coverage, 1542,
30734 /* 87221 */ GIR_EraseRootFromParent_Done,
30735 /* 87222 */ // Label 1893: @87222
30736 /* 87222 */ GIM_Try, /*On fail goto*//*Label 1894*/ GIMT_Encode4(87289), // Rule ID 1544 //
30737 /* 87227 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30738 /* 87230 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddudq),
30739 /* 87235 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30740 /* 87238 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30741 /* 87241 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30742 /* 87245 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30743 /* 87249 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30744 /* 87253 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30745 /* 87256 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30746 /* 87260 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30747 /* 87264 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30748 /* 87266 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30749 /* 87273 */ // (intrinsic_wo_chain:{ *:[v2i64] } 15037:{ *:[iPTR] }, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDUDQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
30750 /* 87273 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUDQrm),
30751 /* 87276 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30752 /* 87278 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30753 /* 87282 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30754 /* 87287 */ GIR_RootConstrainSelectedInstOperands,
30755 /* 87288 */ // GIR_Coverage, 1544,
30756 /* 87288 */ GIR_EraseRootFromParent_Done,
30757 /* 87289 */ // Label 1894: @87289
30758 /* 87289 */ GIM_Try, /*On fail goto*//*Label 1895*/ GIMT_Encode4(87356), // Rule ID 1546 //
30759 /* 87294 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30760 /* 87297 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddubw),
30761 /* 87302 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
30762 /* 87305 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30763 /* 87308 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30764 /* 87312 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30765 /* 87316 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30766 /* 87320 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30767 /* 87323 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30768 /* 87327 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30769 /* 87331 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30770 /* 87333 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30771 /* 87340 */ // (intrinsic_wo_chain:{ *:[v8i16] } 15036:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDUBWrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
30772 /* 87340 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUBWrm),
30773 /* 87343 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30774 /* 87345 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30775 /* 87349 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30776 /* 87354 */ GIR_RootConstrainSelectedInstOperands,
30777 /* 87355 */ // GIR_Coverage, 1546,
30778 /* 87355 */ GIR_EraseRootFromParent_Done,
30779 /* 87356 */ // Label 1895: @87356
30780 /* 87356 */ GIM_Try, /*On fail goto*//*Label 1896*/ GIMT_Encode4(87423), // Rule ID 1548 //
30781 /* 87361 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30782 /* 87364 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddubq),
30783 /* 87369 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30784 /* 87372 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30785 /* 87375 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30786 /* 87379 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30787 /* 87383 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30788 /* 87387 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30789 /* 87390 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30790 /* 87394 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30791 /* 87398 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30792 /* 87400 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30793 /* 87407 */ // (intrinsic_wo_chain:{ *:[v2i64] } 15035:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDUBQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
30794 /* 87407 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUBQrm),
30795 /* 87410 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30796 /* 87412 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30797 /* 87416 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30798 /* 87421 */ GIR_RootConstrainSelectedInstOperands,
30799 /* 87422 */ // GIR_Coverage, 1548,
30800 /* 87422 */ GIR_EraseRootFromParent_Done,
30801 /* 87423 */ // Label 1896: @87423
30802 /* 87423 */ GIM_Try, /*On fail goto*//*Label 1897*/ GIMT_Encode4(87490), // Rule ID 1550 //
30803 /* 87428 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30804 /* 87431 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddubd),
30805 /* 87436 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30806 /* 87439 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30807 /* 87442 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30808 /* 87446 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30809 /* 87450 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30810 /* 87454 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30811 /* 87457 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30812 /* 87461 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30813 /* 87465 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30814 /* 87467 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30815 /* 87474 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15034:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDUBDrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
30816 /* 87474 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUBDrm),
30817 /* 87477 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30818 /* 87479 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30819 /* 87483 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30820 /* 87488 */ GIR_RootConstrainSelectedInstOperands,
30821 /* 87489 */ // GIR_Coverage, 1550,
30822 /* 87489 */ GIR_EraseRootFromParent_Done,
30823 /* 87490 */ // Label 1897: @87490
30824 /* 87490 */ GIM_Try, /*On fail goto*//*Label 1898*/ GIMT_Encode4(87557), // Rule ID 1552 //
30825 /* 87495 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30826 /* 87498 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphadddq),
30827 /* 87503 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30828 /* 87506 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30829 /* 87509 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30830 /* 87513 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30831 /* 87517 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30832 /* 87521 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30833 /* 87524 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30834 /* 87528 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30835 /* 87532 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30836 /* 87534 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30837 /* 87541 */ // (intrinsic_wo_chain:{ *:[v2i64] } 15033:{ *:[iPTR] }, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDDQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
30838 /* 87541 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDDQrm),
30839 /* 87544 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30840 /* 87546 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30841 /* 87550 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30842 /* 87555 */ GIR_RootConstrainSelectedInstOperands,
30843 /* 87556 */ // GIR_Coverage, 1552,
30844 /* 87556 */ GIR_EraseRootFromParent_Done,
30845 /* 87557 */ // Label 1898: @87557
30846 /* 87557 */ GIM_Try, /*On fail goto*//*Label 1899*/ GIMT_Encode4(87624), // Rule ID 1554 //
30847 /* 87562 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30848 /* 87565 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddbw),
30849 /* 87570 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
30850 /* 87573 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30851 /* 87576 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30852 /* 87580 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30853 /* 87584 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30854 /* 87588 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30855 /* 87591 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30856 /* 87595 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30857 /* 87599 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30858 /* 87601 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30859 /* 87608 */ // (intrinsic_wo_chain:{ *:[v8i16] } 15032:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDBWrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
30860 /* 87608 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDBWrm),
30861 /* 87611 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30862 /* 87613 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30863 /* 87617 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30864 /* 87622 */ GIR_RootConstrainSelectedInstOperands,
30865 /* 87623 */ // GIR_Coverage, 1554,
30866 /* 87623 */ GIR_EraseRootFromParent_Done,
30867 /* 87624 */ // Label 1899: @87624
30868 /* 87624 */ GIM_Try, /*On fail goto*//*Label 1900*/ GIMT_Encode4(87691), // Rule ID 1556 //
30869 /* 87629 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30870 /* 87632 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddbq),
30871 /* 87637 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30872 /* 87640 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30873 /* 87643 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30874 /* 87647 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30875 /* 87651 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30876 /* 87655 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30877 /* 87658 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30878 /* 87662 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30879 /* 87666 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30880 /* 87668 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30881 /* 87675 */ // (intrinsic_wo_chain:{ *:[v2i64] } 15031:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDBQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
30882 /* 87675 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDBQrm),
30883 /* 87678 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30884 /* 87680 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30885 /* 87684 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30886 /* 87689 */ GIR_RootConstrainSelectedInstOperands,
30887 /* 87690 */ // GIR_Coverage, 1556,
30888 /* 87690 */ GIR_EraseRootFromParent_Done,
30889 /* 87691 */ // Label 1900: @87691
30890 /* 87691 */ GIM_Try, /*On fail goto*//*Label 1901*/ GIMT_Encode4(87758), // Rule ID 1558 //
30891 /* 87696 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30892 /* 87699 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddbd),
30893 /* 87704 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30894 /* 87707 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30895 /* 87710 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30896 /* 87714 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30897 /* 87718 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30898 /* 87722 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30899 /* 87725 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30900 /* 87729 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30901 /* 87733 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30902 /* 87735 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30903 /* 87742 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15030:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDBDrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
30904 /* 87742 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDBDrm),
30905 /* 87745 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30906 /* 87747 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30907 /* 87751 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30908 /* 87756 */ GIR_RootConstrainSelectedInstOperands,
30909 /* 87757 */ // GIR_Coverage, 1558,
30910 /* 87757 */ GIR_EraseRootFromParent_Done,
30911 /* 87758 */ // Label 1901: @87758
30912 /* 87758 */ GIM_Try, /*On fail goto*//*Label 1902*/ GIMT_Encode4(87825), // Rule ID 1564 //
30913 /* 87763 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30914 /* 87766 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_ps),
30915 /* 87771 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30916 /* 87774 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30917 /* 87777 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30918 /* 87781 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30919 /* 87785 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30920 /* 87789 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30921 /* 87792 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30922 /* 87796 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30923 /* 87800 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30924 /* 87802 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30925 /* 87809 */ // (intrinsic_wo_chain:{ *:[v4f32] } 15022:{ *:[iPTR] }, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFRCZPSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
30926 /* 87809 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPSrm),
30927 /* 87812 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30928 /* 87814 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30929 /* 87818 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30930 /* 87823 */ GIR_RootConstrainSelectedInstOperands,
30931 /* 87824 */ // GIR_Coverage, 1564,
30932 /* 87824 */ GIR_EraseRootFromParent_Done,
30933 /* 87825 */ // Label 1902: @87825
30934 /* 87825 */ GIM_Try, /*On fail goto*//*Label 1903*/ GIMT_Encode4(87892), // Rule ID 1566 //
30935 /* 87830 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30936 /* 87833 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_ps_256),
30937 /* 87838 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
30938 /* 87841 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
30939 /* 87844 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
30940 /* 87848 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30941 /* 87852 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30942 /* 87856 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30943 /* 87859 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30944 /* 87863 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30945 /* 87867 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30946 /* 87869 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30947 /* 87876 */ // (intrinsic_wo_chain:{ *:[v8f32] } 15023:{ *:[iPTR] }, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFRCZPSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
30948 /* 87876 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPSYrm),
30949 /* 87879 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30950 /* 87881 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30951 /* 87885 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30952 /* 87890 */ GIR_RootConstrainSelectedInstOperands,
30953 /* 87891 */ // GIR_Coverage, 1566,
30954 /* 87891 */ GIR_EraseRootFromParent_Done,
30955 /* 87892 */ // Label 1903: @87892
30956 /* 87892 */ GIM_Try, /*On fail goto*//*Label 1904*/ GIMT_Encode4(87959), // Rule ID 1572 //
30957 /* 87897 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30958 /* 87900 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_pd),
30959 /* 87905 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30960 /* 87908 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
30961 /* 87911 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30962 /* 87915 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30963 /* 87919 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30964 /* 87923 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30965 /* 87926 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30966 /* 87930 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30967 /* 87934 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30968 /* 87936 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30969 /* 87943 */ // (intrinsic_wo_chain:{ *:[v2f64] } 15020:{ *:[iPTR] }, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFRCZPDrm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
30970 /* 87943 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPDrm),
30971 /* 87946 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30972 /* 87948 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30973 /* 87952 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30974 /* 87957 */ GIR_RootConstrainSelectedInstOperands,
30975 /* 87958 */ // GIR_Coverage, 1572,
30976 /* 87958 */ GIR_EraseRootFromParent_Done,
30977 /* 87959 */ // Label 1904: @87959
30978 /* 87959 */ GIM_Try, /*On fail goto*//*Label 1905*/ GIMT_Encode4(88026), // Rule ID 1574 //
30979 /* 87964 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30980 /* 87967 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_pd_256),
30981 /* 87972 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
30982 /* 87975 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
30983 /* 87978 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
30984 /* 87982 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30985 /* 87986 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30986 /* 87990 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30987 /* 87993 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30988 /* 87997 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30989 /* 88001 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30990 /* 88003 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30991 /* 88010 */ // (intrinsic_wo_chain:{ *:[v4f64] } 15021:{ *:[iPTR] }, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFRCZPDYrm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
30992 /* 88010 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPDYrm),
30993 /* 88013 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30994 /* 88015 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30995 /* 88019 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30996 /* 88024 */ GIR_RootConstrainSelectedInstOperands,
30997 /* 88025 */ // GIR_Coverage, 1574,
30998 /* 88025 */ GIR_EraseRootFromParent_Done,
30999 /* 88026 */ // Label 1905: @88026
31000 /* 88026 */ GIM_Try, /*On fail goto*//*Label 1906*/ GIMT_Encode4(88093), // Rule ID 3364 //
31001 /* 88031 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX),
31002 /* 88034 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesimc),
31003 /* 88039 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31004 /* 88042 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31005 /* 88045 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31006 /* 88049 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
31007 /* 88053 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31008 /* 88057 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31009 /* 88060 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31010 /* 88064 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31011 /* 88068 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31012 /* 88070 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31013 /* 88077 */ // (intrinsic_wo_chain:{ *:[v2i64] } 13395:{ *:[iPTR] }, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESIMCrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)
31014 /* 88077 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESIMCrm),
31015 /* 88080 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31016 /* 88082 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
31017 /* 88086 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31018 /* 88091 */ GIR_RootConstrainSelectedInstOperands,
31019 /* 88092 */ // GIR_Coverage, 3364,
31020 /* 88092 */ GIR_EraseRootFromParent_Done,
31021 /* 88093 */ // Label 1906: @88093
31022 /* 88093 */ GIM_Try, /*On fail goto*//*Label 1907*/ GIMT_Encode4(88129), // Rule ID 1529 //
31023 /* 88098 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31024 /* 88101 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphsubwd),
31025 /* 88106 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31026 /* 88109 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
31027 /* 88112 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31028 /* 88116 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31029 /* 88120 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15044:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src) => (VPHSUBWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src)
31030 /* 88120 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHSUBWDrr),
31031 /* 88123 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31032 /* 88125 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31033 /* 88127 */ GIR_RootConstrainSelectedInstOperands,
31034 /* 88128 */ // GIR_Coverage, 1529,
31035 /* 88128 */ GIR_EraseRootFromParent_Done,
31036 /* 88129 */ // Label 1907: @88129
31037 /* 88129 */ GIM_Try, /*On fail goto*//*Label 1908*/ GIMT_Encode4(88165), // Rule ID 1531 //
31038 /* 88134 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31039 /* 88137 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphsubdq),
31040 /* 88142 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31041 /* 88145 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31042 /* 88148 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31043 /* 88152 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31044 /* 88156 */ // (intrinsic_wo_chain:{ *:[v2i64] } 15043:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src) => (VPHSUBDQrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src)
31045 /* 88156 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHSUBDQrr),
31046 /* 88159 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31047 /* 88161 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31048 /* 88163 */ GIR_RootConstrainSelectedInstOperands,
31049 /* 88164 */ // GIR_Coverage, 1531,
31050 /* 88164 */ GIR_EraseRootFromParent_Done,
31051 /* 88165 */ // Label 1908: @88165
31052 /* 88165 */ GIM_Try, /*On fail goto*//*Label 1909*/ GIMT_Encode4(88201), // Rule ID 1533 //
31053 /* 88170 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31054 /* 88173 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphsubbw),
31055 /* 88178 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
31056 /* 88181 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
31057 /* 88184 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31058 /* 88188 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31059 /* 88192 */ // (intrinsic_wo_chain:{ *:[v8i16] } 15042:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHSUBBWrr:{ *:[v8i16] } VR128:{ *:[v16i8] }:$src)
31060 /* 88192 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHSUBBWrr),
31061 /* 88195 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31062 /* 88197 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31063 /* 88199 */ GIR_RootConstrainSelectedInstOperands,
31064 /* 88200 */ // GIR_Coverage, 1533,
31065 /* 88200 */ GIR_EraseRootFromParent_Done,
31066 /* 88201 */ // Label 1909: @88201
31067 /* 88201 */ GIM_Try, /*On fail goto*//*Label 1910*/ GIMT_Encode4(88237), // Rule ID 1535 //
31068 /* 88206 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31069 /* 88209 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddwq),
31070 /* 88214 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31071 /* 88217 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
31072 /* 88220 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31073 /* 88224 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31074 /* 88228 */ // (intrinsic_wo_chain:{ *:[v2i64] } 15041:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src) => (VPHADDWQrr:{ *:[v2i64] } VR128:{ *:[v8i16] }:$src)
31075 /* 88228 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDWQrr),
31076 /* 88231 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31077 /* 88233 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31078 /* 88235 */ GIR_RootConstrainSelectedInstOperands,
31079 /* 88236 */ // GIR_Coverage, 1535,
31080 /* 88236 */ GIR_EraseRootFromParent_Done,
31081 /* 88237 */ // Label 1910: @88237
31082 /* 88237 */ GIM_Try, /*On fail goto*//*Label 1911*/ GIMT_Encode4(88273), // Rule ID 1537 //
31083 /* 88242 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31084 /* 88245 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddwd),
31085 /* 88250 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31086 /* 88253 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
31087 /* 88256 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31088 /* 88260 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31089 /* 88264 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15040:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src) => (VPHADDWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src)
31090 /* 88264 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDWDrr),
31091 /* 88267 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31092 /* 88269 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31093 /* 88271 */ GIR_RootConstrainSelectedInstOperands,
31094 /* 88272 */ // GIR_Coverage, 1537,
31095 /* 88272 */ GIR_EraseRootFromParent_Done,
31096 /* 88273 */ // Label 1911: @88273
31097 /* 88273 */ GIM_Try, /*On fail goto*//*Label 1912*/ GIMT_Encode4(88309), // Rule ID 1539 //
31098 /* 88278 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31099 /* 88281 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphadduwq),
31100 /* 88286 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31101 /* 88289 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
31102 /* 88292 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31103 /* 88296 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31104 /* 88300 */ // (intrinsic_wo_chain:{ *:[v2i64] } 15039:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src) => (VPHADDUWQrr:{ *:[v2i64] } VR128:{ *:[v8i16] }:$src)
31105 /* 88300 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUWQrr),
31106 /* 88303 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31107 /* 88305 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31108 /* 88307 */ GIR_RootConstrainSelectedInstOperands,
31109 /* 88308 */ // GIR_Coverage, 1539,
31110 /* 88308 */ GIR_EraseRootFromParent_Done,
31111 /* 88309 */ // Label 1912: @88309
31112 /* 88309 */ GIM_Try, /*On fail goto*//*Label 1913*/ GIMT_Encode4(88345), // Rule ID 1541 //
31113 /* 88314 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31114 /* 88317 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphadduwd),
31115 /* 88322 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31116 /* 88325 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
31117 /* 88328 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31118 /* 88332 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31119 /* 88336 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15038:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src) => (VPHADDUWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src)
31120 /* 88336 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUWDrr),
31121 /* 88339 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31122 /* 88341 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31123 /* 88343 */ GIR_RootConstrainSelectedInstOperands,
31124 /* 88344 */ // GIR_Coverage, 1541,
31125 /* 88344 */ GIR_EraseRootFromParent_Done,
31126 /* 88345 */ // Label 1913: @88345
31127 /* 88345 */ GIM_Try, /*On fail goto*//*Label 1914*/ GIMT_Encode4(88381), // Rule ID 1543 //
31128 /* 88350 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31129 /* 88353 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddudq),
31130 /* 88358 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31131 /* 88361 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31132 /* 88364 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31133 /* 88368 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31134 /* 88372 */ // (intrinsic_wo_chain:{ *:[v2i64] } 15037:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src) => (VPHADDUDQrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src)
31135 /* 88372 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUDQrr),
31136 /* 88375 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31137 /* 88377 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31138 /* 88379 */ GIR_RootConstrainSelectedInstOperands,
31139 /* 88380 */ // GIR_Coverage, 1543,
31140 /* 88380 */ GIR_EraseRootFromParent_Done,
31141 /* 88381 */ // Label 1914: @88381
31142 /* 88381 */ GIM_Try, /*On fail goto*//*Label 1915*/ GIMT_Encode4(88417), // Rule ID 1545 //
31143 /* 88386 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31144 /* 88389 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddubw),
31145 /* 88394 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
31146 /* 88397 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
31147 /* 88400 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31148 /* 88404 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31149 /* 88408 */ // (intrinsic_wo_chain:{ *:[v8i16] } 15036:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHADDUBWrr:{ *:[v8i16] } VR128:{ *:[v16i8] }:$src)
31150 /* 88408 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUBWrr),
31151 /* 88411 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31152 /* 88413 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31153 /* 88415 */ GIR_RootConstrainSelectedInstOperands,
31154 /* 88416 */ // GIR_Coverage, 1545,
31155 /* 88416 */ GIR_EraseRootFromParent_Done,
31156 /* 88417 */ // Label 1915: @88417
31157 /* 88417 */ GIM_Try, /*On fail goto*//*Label 1916*/ GIMT_Encode4(88453), // Rule ID 1547 //
31158 /* 88422 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31159 /* 88425 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddubq),
31160 /* 88430 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31161 /* 88433 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
31162 /* 88436 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31163 /* 88440 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31164 /* 88444 */ // (intrinsic_wo_chain:{ *:[v2i64] } 15035:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHADDUBQrr:{ *:[v2i64] } VR128:{ *:[v16i8] }:$src)
31165 /* 88444 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUBQrr),
31166 /* 88447 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31167 /* 88449 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31168 /* 88451 */ GIR_RootConstrainSelectedInstOperands,
31169 /* 88452 */ // GIR_Coverage, 1547,
31170 /* 88452 */ GIR_EraseRootFromParent_Done,
31171 /* 88453 */ // Label 1916: @88453
31172 /* 88453 */ GIM_Try, /*On fail goto*//*Label 1917*/ GIMT_Encode4(88489), // Rule ID 1549 //
31173 /* 88458 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31174 /* 88461 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddubd),
31175 /* 88466 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31176 /* 88469 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
31177 /* 88472 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31178 /* 88476 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31179 /* 88480 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15034:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHADDUBDrr:{ *:[v4i32] } VR128:{ *:[v16i8] }:$src)
31180 /* 88480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUBDrr),
31181 /* 88483 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31182 /* 88485 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31183 /* 88487 */ GIR_RootConstrainSelectedInstOperands,
31184 /* 88488 */ // GIR_Coverage, 1549,
31185 /* 88488 */ GIR_EraseRootFromParent_Done,
31186 /* 88489 */ // Label 1917: @88489
31187 /* 88489 */ GIM_Try, /*On fail goto*//*Label 1918*/ GIMT_Encode4(88525), // Rule ID 1551 //
31188 /* 88494 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31189 /* 88497 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphadddq),
31190 /* 88502 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31191 /* 88505 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31192 /* 88508 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31193 /* 88512 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31194 /* 88516 */ // (intrinsic_wo_chain:{ *:[v2i64] } 15033:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src) => (VPHADDDQrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src)
31195 /* 88516 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDDQrr),
31196 /* 88519 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31197 /* 88521 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31198 /* 88523 */ GIR_RootConstrainSelectedInstOperands,
31199 /* 88524 */ // GIR_Coverage, 1551,
31200 /* 88524 */ GIR_EraseRootFromParent_Done,
31201 /* 88525 */ // Label 1918: @88525
31202 /* 88525 */ GIM_Try, /*On fail goto*//*Label 1919*/ GIMT_Encode4(88561), // Rule ID 1553 //
31203 /* 88530 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31204 /* 88533 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddbw),
31205 /* 88538 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
31206 /* 88541 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
31207 /* 88544 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31208 /* 88548 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31209 /* 88552 */ // (intrinsic_wo_chain:{ *:[v8i16] } 15032:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHADDBWrr:{ *:[v8i16] } VR128:{ *:[v16i8] }:$src)
31210 /* 88552 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDBWrr),
31211 /* 88555 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31212 /* 88557 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31213 /* 88559 */ GIR_RootConstrainSelectedInstOperands,
31214 /* 88560 */ // GIR_Coverage, 1553,
31215 /* 88560 */ GIR_EraseRootFromParent_Done,
31216 /* 88561 */ // Label 1919: @88561
31217 /* 88561 */ GIM_Try, /*On fail goto*//*Label 1920*/ GIMT_Encode4(88597), // Rule ID 1555 //
31218 /* 88566 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31219 /* 88569 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddbq),
31220 /* 88574 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31221 /* 88577 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
31222 /* 88580 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31223 /* 88584 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31224 /* 88588 */ // (intrinsic_wo_chain:{ *:[v2i64] } 15031:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHADDBQrr:{ *:[v2i64] } VR128:{ *:[v16i8] }:$src)
31225 /* 88588 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDBQrr),
31226 /* 88591 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31227 /* 88593 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31228 /* 88595 */ GIR_RootConstrainSelectedInstOperands,
31229 /* 88596 */ // GIR_Coverage, 1555,
31230 /* 88596 */ GIR_EraseRootFromParent_Done,
31231 /* 88597 */ // Label 1920: @88597
31232 /* 88597 */ GIM_Try, /*On fail goto*//*Label 1921*/ GIMT_Encode4(88633), // Rule ID 1557 //
31233 /* 88602 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31234 /* 88605 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddbd),
31235 /* 88610 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31236 /* 88613 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
31237 /* 88616 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31238 /* 88620 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31239 /* 88624 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15030:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHADDBDrr:{ *:[v4i32] } VR128:{ *:[v16i8] }:$src)
31240 /* 88624 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDBDrr),
31241 /* 88627 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31242 /* 88629 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31243 /* 88631 */ GIR_RootConstrainSelectedInstOperands,
31244 /* 88632 */ // GIR_Coverage, 1557,
31245 /* 88632 */ GIR_EraseRootFromParent_Done,
31246 /* 88633 */ // Label 1921: @88633
31247 /* 88633 */ GIM_Try, /*On fail goto*//*Label 1922*/ GIMT_Encode4(88669), // Rule ID 1559 //
31248 /* 88638 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31249 /* 88641 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_ss),
31250 /* 88646 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31251 /* 88649 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31252 /* 88652 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31253 /* 88656 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31254 /* 88660 */ // (intrinsic_wo_chain:{ *:[v4f32] } 15025:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src) => (VFRCZSSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src)
31255 /* 88660 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZSSrr),
31256 /* 88663 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31257 /* 88665 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31258 /* 88667 */ GIR_RootConstrainSelectedInstOperands,
31259 /* 88668 */ // GIR_Coverage, 1559,
31260 /* 88668 */ GIR_EraseRootFromParent_Done,
31261 /* 88669 */ // Label 1922: @88669
31262 /* 88669 */ GIM_Try, /*On fail goto*//*Label 1923*/ GIMT_Encode4(88705), // Rule ID 1563 //
31263 /* 88674 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31264 /* 88677 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_ps),
31265 /* 88682 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31266 /* 88685 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31267 /* 88688 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31268 /* 88692 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31269 /* 88696 */ // (intrinsic_wo_chain:{ *:[v4f32] } 15022:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src) => (VFRCZPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src)
31270 /* 88696 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPSrr),
31271 /* 88699 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31272 /* 88701 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31273 /* 88703 */ GIR_RootConstrainSelectedInstOperands,
31274 /* 88704 */ // GIR_Coverage, 1563,
31275 /* 88704 */ GIR_EraseRootFromParent_Done,
31276 /* 88705 */ // Label 1923: @88705
31277 /* 88705 */ GIM_Try, /*On fail goto*//*Label 1924*/ GIMT_Encode4(88741), // Rule ID 1565 //
31278 /* 88710 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31279 /* 88713 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_ps_256),
31280 /* 88718 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
31281 /* 88721 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
31282 /* 88724 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31283 /* 88728 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31284 /* 88732 */ // (intrinsic_wo_chain:{ *:[v8f32] } 15023:{ *:[iPTR] }, VR256:{ *:[v8f32] }:$src) => (VFRCZPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src)
31285 /* 88732 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPSYrr),
31286 /* 88735 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31287 /* 88737 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31288 /* 88739 */ GIR_RootConstrainSelectedInstOperands,
31289 /* 88740 */ // GIR_Coverage, 1565,
31290 /* 88740 */ GIR_EraseRootFromParent_Done,
31291 /* 88741 */ // Label 1924: @88741
31292 /* 88741 */ GIM_Try, /*On fail goto*//*Label 1925*/ GIMT_Encode4(88777), // Rule ID 1567 //
31293 /* 88746 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31294 /* 88749 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_sd),
31295 /* 88754 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31296 /* 88757 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31297 /* 88760 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31298 /* 88764 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31299 /* 88768 */ // (intrinsic_wo_chain:{ *:[v2f64] } 15024:{ *:[iPTR] }, VR128:{ *:[v2f64] }:$src) => (VFRCZSDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src)
31300 /* 88768 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZSDrr),
31301 /* 88771 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31302 /* 88773 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31303 /* 88775 */ GIR_RootConstrainSelectedInstOperands,
31304 /* 88776 */ // GIR_Coverage, 1567,
31305 /* 88776 */ GIR_EraseRootFromParent_Done,
31306 /* 88777 */ // Label 1925: @88777
31307 /* 88777 */ GIM_Try, /*On fail goto*//*Label 1926*/ GIMT_Encode4(88813), // Rule ID 1571 //
31308 /* 88782 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31309 /* 88785 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_pd),
31310 /* 88790 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31311 /* 88793 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31312 /* 88796 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31313 /* 88800 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31314 /* 88804 */ // (intrinsic_wo_chain:{ *:[v2f64] } 15020:{ *:[iPTR] }, VR128:{ *:[v2f64] }:$src) => (VFRCZPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src)
31315 /* 88804 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPDrr),
31316 /* 88807 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31317 /* 88809 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31318 /* 88811 */ GIR_RootConstrainSelectedInstOperands,
31319 /* 88812 */ // GIR_Coverage, 1571,
31320 /* 88812 */ GIR_EraseRootFromParent_Done,
31321 /* 88813 */ // Label 1926: @88813
31322 /* 88813 */ GIM_Try, /*On fail goto*//*Label 1927*/ GIMT_Encode4(88849), // Rule ID 1573 //
31323 /* 88818 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31324 /* 88821 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_pd_256),
31325 /* 88826 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
31326 /* 88829 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
31327 /* 88832 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31328 /* 88836 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31329 /* 88840 */ // (intrinsic_wo_chain:{ *:[v4f64] } 15021:{ *:[iPTR] }, VR256:{ *:[v4f64] }:$src) => (VFRCZPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src)
31330 /* 88840 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPDYrr),
31331 /* 88843 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31332 /* 88845 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31333 /* 88847 */ GIR_RootConstrainSelectedInstOperands,
31334 /* 88848 */ // GIR_Coverage, 1573,
31335 /* 88848 */ GIR_EraseRootFromParent_Done,
31336 /* 88849 */ // Label 1927: @88849
31337 /* 88849 */ GIM_Try, /*On fail goto*//*Label 1928*/ GIMT_Encode4(88885), // Rule ID 3363 //
31338 /* 88854 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX),
31339 /* 88857 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesimc),
31340 /* 88862 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31341 /* 88865 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31342 /* 88868 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31343 /* 88872 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31344 /* 88876 */ // (intrinsic_wo_chain:{ *:[v2i64] } 13395:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1) => (VAESIMCrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1)
31345 /* 88876 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESIMCrr),
31346 /* 88879 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31347 /* 88881 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31348 /* 88883 */ GIR_RootConstrainSelectedInstOperands,
31349 /* 88884 */ // GIR_Coverage, 3363,
31350 /* 88884 */ GIR_EraseRootFromParent_Done,
31351 /* 88885 */ // Label 1928: @88885
31352 /* 88885 */ GIM_Try, /*On fail goto*//*Label 1929*/ GIMT_Encode4(88921), // Rule ID 3365 //
31353 /* 88890 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_NoAVX),
31354 /* 88893 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesimc),
31355 /* 88898 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31356 /* 88901 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31357 /* 88904 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31358 /* 88908 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31359 /* 88912 */ // (intrinsic_wo_chain:{ *:[v2i64] } 13395:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1) => (AESIMCrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1)
31360 /* 88912 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AESIMCrr),
31361 /* 88915 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31362 /* 88917 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31363 /* 88919 */ GIR_RootConstrainSelectedInstOperands,
31364 /* 88920 */ // GIR_Coverage, 3365,
31365 /* 88920 */ GIR_EraseRootFromParent_Done,
31366 /* 88921 */ // Label 1929: @88921
31367 /* 88921 */ GIM_Try, /*On fail goto*//*Label 1930*/ GIMT_Encode4(88959), // Rule ID 18266 //
31368 /* 88926 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
31369 /* 88929 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse_rsqrt_ss),
31370 /* 88934 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31371 /* 88937 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31372 /* 88940 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31373 /* 88944 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31374 /* 88948 */ // (intrinsic_wo_chain:{ *:[v4f32] } 14730:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src) => (RSQRTSSr_Int:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src, VR128:{ *:[v4f32] }:$src)
31375 /* 88948 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RSQRTSSr_Int),
31376 /* 88951 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31377 /* 88953 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31378 /* 88955 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31379 /* 88957 */ GIR_RootConstrainSelectedInstOperands,
31380 /* 88958 */ // GIR_Coverage, 18266,
31381 /* 88958 */ GIR_EraseRootFromParent_Done,
31382 /* 88959 */ // Label 1930: @88959
31383 /* 88959 */ GIM_Try, /*On fail goto*//*Label 1931*/ GIMT_Encode4(88997), // Rule ID 18270 //
31384 /* 88964 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
31385 /* 88967 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse_rsqrt_ss),
31386 /* 88972 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31387 /* 88975 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31388 /* 88978 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31389 /* 88982 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31390 /* 88986 */ // (intrinsic_wo_chain:{ *:[v4f32] } 14730:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src) => (VRSQRTSSr_Int:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src, VR128:{ *:[v4f32] }:$src)
31391 /* 88986 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VRSQRTSSr_Int),
31392 /* 88989 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31393 /* 88991 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31394 /* 88993 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31395 /* 88995 */ GIR_RootConstrainSelectedInstOperands,
31396 /* 88996 */ // GIR_Coverage, 18270,
31397 /* 88996 */ GIR_EraseRootFromParent_Done,
31398 /* 88997 */ // Label 1931: @88997
31399 /* 88997 */ GIM_Try, /*On fail goto*//*Label 1932*/ GIMT_Encode4(89035), // Rule ID 18286 //
31400 /* 89002 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
31401 /* 89005 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse_rcp_ss),
31402 /* 89010 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31403 /* 89013 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31404 /* 89016 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31405 /* 89020 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31406 /* 89024 */ // (intrinsic_wo_chain:{ *:[v4f32] } 14728:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src) => (RCPSSr_Int:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src, VR128:{ *:[v4f32] }:$src)
31407 /* 89024 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RCPSSr_Int),
31408 /* 89027 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31409 /* 89029 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31410 /* 89031 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31411 /* 89033 */ GIR_RootConstrainSelectedInstOperands,
31412 /* 89034 */ // GIR_Coverage, 18286,
31413 /* 89034 */ GIR_EraseRootFromParent_Done,
31414 /* 89035 */ // Label 1932: @89035
31415 /* 89035 */ GIM_Try, /*On fail goto*//*Label 1933*/ GIMT_Encode4(89073), // Rule ID 18290 //
31416 /* 89040 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
31417 /* 89043 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse_rcp_ss),
31418 /* 89048 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31419 /* 89051 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31420 /* 89054 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31421 /* 89058 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31422 /* 89062 */ // (intrinsic_wo_chain:{ *:[v4f32] } 14728:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src) => (VRCPSSr_Int:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src, VR128:{ *:[v4f32] }:$src)
31423 /* 89062 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VRCPSSr_Int),
31424 /* 89065 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31425 /* 89067 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31426 /* 89069 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31427 /* 89071 */ GIR_RootConstrainSelectedInstOperands,
31428 /* 89072 */ // GIR_Coverage, 18290,
31429 /* 89072 */ GIR_EraseRootFromParent_Done,
31430 /* 89073 */ // Label 1933: @89073
31431 /* 89073 */ GIM_Reject,
31432 /* 89074 */ // Label 1886: @89074
31433 /* 89074 */ GIM_Try, /*On fail goto*//*Label 1934*/ GIMT_Encode4(95855),
31434 /* 89079 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/4,
31435 /* 89082 */ GIM_Try, /*On fail goto*//*Label 1935*/ GIMT_Encode4(89154), // Rule ID 3368 //
31436 /* 89087 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX),
31437 /* 89090 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aeskeygenassist),
31438 /* 89095 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31439 /* 89098 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31440 /* 89101 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31441 /* 89105 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
31442 /* 89109 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31443 /* 89113 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31444 /* 89116 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31445 /* 89120 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31446 /* 89124 */ // MIs[0] src2
31447 /* 89124 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
31448 /* 89127 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31449 /* 89129 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31450 /* 89136 */ // (intrinsic_wo_chain:{ *:[v2i64] } 13396:{ *:[iPTR] }, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (timm:{ *:[i8] }):$src2) => (VAESKEYGENASSIST128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1, (timm:{ *:[i8] }):$src2)
31451 /* 89136 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESKEYGENASSIST128rm),
31452 /* 89139 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31453 /* 89141 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
31454 /* 89145 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
31455 /* 89147 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31456 /* 89152 */ GIR_RootConstrainSelectedInstOperands,
31457 /* 89153 */ // GIR_Coverage, 3368,
31458 /* 89153 */ GIR_EraseRootFromParent_Done,
31459 /* 89154 */ // Label 1935: @89154
31460 /* 89154 */ GIM_Try, /*On fail goto*//*Label 1936*/ GIMT_Encode4(89230), // Rule ID 16790 //
31461 /* 89159 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
31462 /* 89162 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4128),
31463 /* 89167 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31464 /* 89170 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31465 /* 89173 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
31466 /* 89176 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
31467 /* 89180 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
31468 /* 89184 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31469 /* 89188 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31470 /* 89192 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31471 /* 89195 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31472 /* 89199 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31473 /* 89203 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31474 /* 89205 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31475 /* 89212 */ // (intrinsic_wo_chain:{ *:[v4i32] } 14999:{ *:[iPTR] }, VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4KEY4Z128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31476 /* 89212 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Z128rm),
31477 /* 89215 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31478 /* 89217 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31479 /* 89219 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31480 /* 89223 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31481 /* 89228 */ GIR_RootConstrainSelectedInstOperands,
31482 /* 89229 */ // GIR_Coverage, 16790,
31483 /* 89229 */ GIR_EraseRootFromParent_Done,
31484 /* 89230 */ // Label 1936: @89230
31485 /* 89230 */ GIM_Try, /*On fail goto*//*Label 1937*/ GIMT_Encode4(89306), // Rule ID 16792 //
31486 /* 89235 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
31487 /* 89238 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4256),
31488 /* 89243 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
31489 /* 89246 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
31490 /* 89249 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
31491 /* 89252 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
31492 /* 89256 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
31493 /* 89260 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31494 /* 89264 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31495 /* 89268 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31496 /* 89271 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31497 /* 89275 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31498 /* 89279 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31499 /* 89281 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31500 /* 89288 */ // (intrinsic_wo_chain:{ *:[v8i32] } 15000:{ *:[iPTR] }, VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4KEY4Z256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31501 /* 89288 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Z256rm),
31502 /* 89291 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31503 /* 89293 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31504 /* 89295 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31505 /* 89299 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31506 /* 89304 */ GIR_RootConstrainSelectedInstOperands,
31507 /* 89305 */ // GIR_Coverage, 16792,
31508 /* 89305 */ GIR_EraseRootFromParent_Done,
31509 /* 89306 */ // Label 1937: @89306
31510 /* 89306 */ GIM_Try, /*On fail goto*//*Label 1938*/ GIMT_Encode4(89382), // Rule ID 16796 //
31511 /* 89311 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
31512 /* 89314 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4128),
31513 /* 89319 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31514 /* 89322 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31515 /* 89325 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
31516 /* 89328 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
31517 /* 89332 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
31518 /* 89336 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31519 /* 89340 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31520 /* 89344 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31521 /* 89347 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31522 /* 89351 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31523 /* 89355 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31524 /* 89357 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31525 /* 89364 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15002:{ *:[iPTR] }, VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4RNDS4Z128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31526 /* 89364 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Z128rm),
31527 /* 89367 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31528 /* 89369 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31529 /* 89371 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31530 /* 89375 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31531 /* 89380 */ GIR_RootConstrainSelectedInstOperands,
31532 /* 89381 */ // GIR_Coverage, 16796,
31533 /* 89381 */ GIR_EraseRootFromParent_Done,
31534 /* 89382 */ // Label 1938: @89382
31535 /* 89382 */ GIM_Try, /*On fail goto*//*Label 1939*/ GIMT_Encode4(89458), // Rule ID 16798 //
31536 /* 89387 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
31537 /* 89390 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4256),
31538 /* 89395 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
31539 /* 89398 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
31540 /* 89401 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
31541 /* 89404 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
31542 /* 89408 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
31543 /* 89412 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31544 /* 89416 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31545 /* 89420 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31546 /* 89423 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31547 /* 89427 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31548 /* 89431 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31549 /* 89433 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31550 /* 89440 */ // (intrinsic_wo_chain:{ *:[v8i32] } 15003:{ *:[iPTR] }, VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4RNDS4Z256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31551 /* 89440 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Z256rm),
31552 /* 89443 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31553 /* 89445 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31554 /* 89447 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31555 /* 89451 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31556 /* 89456 */ GIR_RootConstrainSelectedInstOperands,
31557 /* 89457 */ // GIR_Coverage, 16798,
31558 /* 89457 */ GIR_EraseRootFromParent_Done,
31559 /* 89458 */ // Label 1939: @89458
31560 /* 89458 */ GIM_Try, /*On fail goto*//*Label 1940*/ GIMT_Encode4(89534), // Rule ID 3023 //
31561 /* 89463 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
31562 /* 89466 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_b_128),
31563 /* 89471 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
31564 /* 89474 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
31565 /* 89477 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
31566 /* 89480 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31567 /* 89484 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31568 /* 89488 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31569 /* 89492 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31570 /* 89496 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31571 /* 89499 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31572 /* 89503 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31573 /* 89507 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31574 /* 89509 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31575 /* 89516 */ // (intrinsic_wo_chain:{ *:[v16i8] } 14868:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSIGNBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
31576 /* 89516 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNBrm),
31577 /* 89519 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31578 /* 89521 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31579 /* 89523 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31580 /* 89527 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31581 /* 89532 */ GIR_RootConstrainSelectedInstOperands,
31582 /* 89533 */ // GIR_Coverage, 3023,
31583 /* 89533 */ GIR_EraseRootFromParent_Done,
31584 /* 89534 */ // Label 1940: @89534
31585 /* 89534 */ GIM_Try, /*On fail goto*//*Label 1941*/ GIMT_Encode4(89610), // Rule ID 3025 //
31586 /* 89539 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
31587 /* 89542 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_w_128),
31588 /* 89547 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
31589 /* 89550 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
31590 /* 89553 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
31591 /* 89556 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31592 /* 89560 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31593 /* 89564 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31594 /* 89568 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31595 /* 89572 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31596 /* 89575 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31597 /* 89579 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31598 /* 89583 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31599 /* 89585 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31600 /* 89592 */ // (intrinsic_wo_chain:{ *:[v8i16] } 14872:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSIGNWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
31601 /* 89592 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNWrm),
31602 /* 89595 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31603 /* 89597 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31604 /* 89599 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31605 /* 89603 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31606 /* 89608 */ GIR_RootConstrainSelectedInstOperands,
31607 /* 89609 */ // GIR_Coverage, 3025,
31608 /* 89609 */ GIR_EraseRootFromParent_Done,
31609 /* 89610 */ // Label 1941: @89610
31610 /* 89610 */ GIM_Try, /*On fail goto*//*Label 1942*/ GIMT_Encode4(89686), // Rule ID 3027 //
31611 /* 89615 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
31612 /* 89618 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_d_128),
31613 /* 89623 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31614 /* 89626 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31615 /* 89629 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
31616 /* 89632 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31617 /* 89636 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31618 /* 89640 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31619 /* 89644 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31620 /* 89648 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31621 /* 89651 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31622 /* 89655 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31623 /* 89659 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31624 /* 89661 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31625 /* 89668 */ // (intrinsic_wo_chain:{ *:[v4i32] } 14870:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSIGNDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31626 /* 89668 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNDrm),
31627 /* 89671 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31628 /* 89673 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31629 /* 89675 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31630 /* 89679 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31631 /* 89684 */ GIR_RootConstrainSelectedInstOperands,
31632 /* 89685 */ // GIR_Coverage, 3027,
31633 /* 89685 */ GIR_EraseRootFromParent_Done,
31634 /* 89686 */ // Label 1942: @89686
31635 /* 89686 */ GIM_Try, /*On fail goto*//*Label 1943*/ GIMT_Encode4(89762), // Rule ID 3029 //
31636 /* 89691 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
31637 /* 89694 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_phadd_sw_128),
31638 /* 89699 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
31639 /* 89702 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
31640 /* 89705 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
31641 /* 89708 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31642 /* 89712 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31643 /* 89716 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31644 /* 89720 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31645 /* 89724 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31646 /* 89727 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31647 /* 89731 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31648 /* 89735 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31649 /* 89737 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31650 /* 89744 */ // (intrinsic_wo_chain:{ *:[v8i16] } 14852:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
31651 /* 89744 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDSWrm),
31652 /* 89747 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31653 /* 89749 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31654 /* 89751 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31655 /* 89755 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31656 /* 89760 */ GIR_RootConstrainSelectedInstOperands,
31657 /* 89761 */ // GIR_Coverage, 3029,
31658 /* 89761 */ GIR_EraseRootFromParent_Done,
31659 /* 89762 */ // Label 1943: @89762
31660 /* 89762 */ GIM_Try, /*On fail goto*//*Label 1944*/ GIMT_Encode4(89838), // Rule ID 3031 //
31661 /* 89767 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
31662 /* 89770 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_phsub_sw_128),
31663 /* 89775 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
31664 /* 89778 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
31665 /* 89781 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
31666 /* 89784 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31667 /* 89788 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31668 /* 89792 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31669 /* 89796 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31670 /* 89800 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31671 /* 89803 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31672 /* 89807 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31673 /* 89811 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31674 /* 89813 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31675 /* 89820 */ // (intrinsic_wo_chain:{ *:[v8i16] } 14858:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHSUBSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
31676 /* 89820 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHSUBSWrm),
31677 /* 89823 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31678 /* 89825 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31679 /* 89827 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31680 /* 89831 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31681 /* 89836 */ GIR_RootConstrainSelectedInstOperands,
31682 /* 89837 */ // GIR_Coverage, 3031,
31683 /* 89837 */ GIR_EraseRootFromParent_Done,
31684 /* 89838 */ // Label 1944: @89838
31685 /* 89838 */ GIM_Try, /*On fail goto*//*Label 1945*/ GIMT_Encode4(89914), // Rule ID 3047 //
31686 /* 89843 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
31687 /* 89846 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_psign_b),
31688 /* 89851 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s8,
31689 /* 89854 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
31690 /* 89857 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s8,
31691 /* 89860 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31692 /* 89864 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31693 /* 89868 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31694 /* 89872 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31695 /* 89876 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31696 /* 89879 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31697 /* 89883 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31698 /* 89887 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31699 /* 89889 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31700 /* 89896 */ // (intrinsic_wo_chain:{ *:[v32i8] } 13759:{ *:[iPTR] }, VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSIGNBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
31701 /* 89896 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNBYrm),
31702 /* 89899 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31703 /* 89901 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31704 /* 89903 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31705 /* 89907 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31706 /* 89912 */ GIR_RootConstrainSelectedInstOperands,
31707 /* 89913 */ // GIR_Coverage, 3047,
31708 /* 89913 */ GIR_EraseRootFromParent_Done,
31709 /* 89914 */ // Label 1945: @89914
31710 /* 89914 */ GIM_Try, /*On fail goto*//*Label 1946*/ GIMT_Encode4(89990), // Rule ID 3049 //
31711 /* 89919 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
31712 /* 89922 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_psign_w),
31713 /* 89927 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s16,
31714 /* 89930 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
31715 /* 89933 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
31716 /* 89936 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31717 /* 89940 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31718 /* 89944 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31719 /* 89948 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31720 /* 89952 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31721 /* 89955 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31722 /* 89959 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31723 /* 89963 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31724 /* 89965 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31725 /* 89972 */ // (intrinsic_wo_chain:{ *:[v16i16] } 13761:{ *:[iPTR] }, VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSIGNWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
31726 /* 89972 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNWYrm),
31727 /* 89975 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31728 /* 89977 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31729 /* 89979 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31730 /* 89983 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31731 /* 89988 */ GIR_RootConstrainSelectedInstOperands,
31732 /* 89989 */ // GIR_Coverage, 3049,
31733 /* 89989 */ GIR_EraseRootFromParent_Done,
31734 /* 89990 */ // Label 1946: @89990
31735 /* 89990 */ GIM_Try, /*On fail goto*//*Label 1947*/ GIMT_Encode4(90066), // Rule ID 3051 //
31736 /* 89995 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
31737 /* 89998 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_psign_d),
31738 /* 90003 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
31739 /* 90006 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
31740 /* 90009 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
31741 /* 90012 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31742 /* 90016 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31743 /* 90020 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31744 /* 90024 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31745 /* 90028 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31746 /* 90031 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31747 /* 90035 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31748 /* 90039 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31749 /* 90041 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31750 /* 90048 */ // (intrinsic_wo_chain:{ *:[v8i32] } 13760:{ *:[iPTR] }, VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSIGNDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31751 /* 90048 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNDYrm),
31752 /* 90051 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31753 /* 90053 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31754 /* 90055 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31755 /* 90059 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31756 /* 90064 */ GIR_RootConstrainSelectedInstOperands,
31757 /* 90065 */ // GIR_Coverage, 3051,
31758 /* 90065 */ GIR_EraseRootFromParent_Done,
31759 /* 90066 */ // Label 1947: @90066
31760 /* 90066 */ GIM_Try, /*On fail goto*//*Label 1948*/ GIMT_Encode4(90142), // Rule ID 3053 //
31761 /* 90071 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
31762 /* 90074 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_phadd_sw),
31763 /* 90079 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s16,
31764 /* 90082 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
31765 /* 90085 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
31766 /* 90088 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31767 /* 90092 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31768 /* 90096 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31769 /* 90100 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31770 /* 90104 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31771 /* 90107 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31772 /* 90111 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31773 /* 90115 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31774 /* 90117 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31775 /* 90124 */ // (intrinsic_wo_chain:{ *:[v16i16] } 13746:{ *:[iPTR] }, VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
31776 /* 90124 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDSWYrm),
31777 /* 90127 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31778 /* 90129 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31779 /* 90131 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31780 /* 90135 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31781 /* 90140 */ GIR_RootConstrainSelectedInstOperands,
31782 /* 90141 */ // GIR_Coverage, 3053,
31783 /* 90141 */ GIR_EraseRootFromParent_Done,
31784 /* 90142 */ // Label 1948: @90142
31785 /* 90142 */ GIM_Try, /*On fail goto*//*Label 1949*/ GIMT_Encode4(90218), // Rule ID 3055 //
31786 /* 90147 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
31787 /* 90150 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_phsub_sw),
31788 /* 90155 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s16,
31789 /* 90158 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
31790 /* 90161 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
31791 /* 90164 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31792 /* 90168 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31793 /* 90172 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31794 /* 90176 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31795 /* 90180 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31796 /* 90183 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31797 /* 90187 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31798 /* 90191 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31799 /* 90193 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31800 /* 90200 */ // (intrinsic_wo_chain:{ *:[v16i16] } 13749:{ *:[iPTR] }, VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHSUBSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
31801 /* 90200 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHSUBSWYrm),
31802 /* 90203 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31803 /* 90205 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31804 /* 90207 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31805 /* 90211 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31806 /* 90216 */ GIR_RootConstrainSelectedInstOperands,
31807 /* 90217 */ // GIR_Coverage, 3055,
31808 /* 90217 */ GIR_EraseRootFromParent_Done,
31809 /* 90218 */ // Label 1949: @90218
31810 /* 90218 */ GIM_Try, /*On fail goto*//*Label 1950*/ GIMT_Encode4(90294), // Rule ID 3310 //
31811 /* 90223 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_NoEGPR),
31812 /* 90226 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_8),
31813 /* 90231 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
31814 /* 90234 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
31815 /* 90237 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
31816 /* 90240 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31817 /* 90244 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31818 /* 90248 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31819 /* 90252 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31820 /* 90256 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31821 /* 90259 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31822 /* 90263 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31823 /* 90267 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31824 /* 90269 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31825 /* 90276 */ // (intrinsic_wo_chain:{ *:[i32] } 14826:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r32m8:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31826 /* 90276 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32m8),
31827 /* 90279 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31828 /* 90281 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31829 /* 90283 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31830 /* 90287 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31831 /* 90292 */ GIR_RootConstrainSelectedInstOperands,
31832 /* 90293 */ // GIR_Coverage, 3310,
31833 /* 90293 */ GIR_EraseRootFromParent_Done,
31834 /* 90294 */ // Label 1950: @90294
31835 /* 90294 */ GIM_Try, /*On fail goto*//*Label 1951*/ GIMT_Encode4(90370), // Rule ID 3312 //
31836 /* 90299 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_NoEGPR),
31837 /* 90302 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_16),
31838 /* 90307 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
31839 /* 90310 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
31840 /* 90313 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s16,
31841 /* 90316 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31842 /* 90320 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31843 /* 90324 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31844 /* 90328 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31845 /* 90332 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31846 /* 90335 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31847 /* 90339 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31848 /* 90343 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31849 /* 90345 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31850 /* 90352 */ // (intrinsic_wo_chain:{ *:[i32] } 14824:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r32m16:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31851 /* 90352 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32m16),
31852 /* 90355 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31853 /* 90357 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31854 /* 90359 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31855 /* 90363 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31856 /* 90368 */ GIR_RootConstrainSelectedInstOperands,
31857 /* 90369 */ // GIR_Coverage, 3312,
31858 /* 90369 */ GIR_EraseRootFromParent_Done,
31859 /* 90370 */ // Label 1951: @90370
31860 /* 90370 */ GIM_Try, /*On fail goto*//*Label 1952*/ GIMT_Encode4(90446), // Rule ID 3314 //
31861 /* 90375 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_NoEGPR),
31862 /* 90378 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_32),
31863 /* 90383 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
31864 /* 90386 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
31865 /* 90389 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
31866 /* 90392 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31867 /* 90396 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31868 /* 90400 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31869 /* 90404 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31870 /* 90408 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31871 /* 90411 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31872 /* 90415 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31873 /* 90419 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31874 /* 90421 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31875 /* 90428 */ // (intrinsic_wo_chain:{ *:[i32] } 14825:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r32m32:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31876 /* 90428 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32m32),
31877 /* 90431 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31878 /* 90433 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31879 /* 90435 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31880 /* 90439 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31881 /* 90444 */ GIR_RootConstrainSelectedInstOperands,
31882 /* 90445 */ // GIR_Coverage, 3314,
31883 /* 90445 */ GIR_EraseRootFromParent_Done,
31884 /* 90446 */ // Label 1952: @90446
31885 /* 90446 */ GIM_Try, /*On fail goto*//*Label 1953*/ GIMT_Encode4(90522), // Rule ID 3316 //
31886 /* 90451 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_NoEGPR),
31887 /* 90454 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_64_64),
31888 /* 90459 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
31889 /* 90462 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
31890 /* 90465 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
31891 /* 90468 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
31892 /* 90472 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
31893 /* 90476 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31894 /* 90480 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31895 /* 90484 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31896 /* 90487 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31897 /* 90491 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31898 /* 90495 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31899 /* 90497 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31900 /* 90504 */ // (intrinsic_wo_chain:{ *:[i64] } 14827:{ *:[iPTR] }, GR64:{ *:[i64] }:$src1, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r64m64:{ *:[i64] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31901 /* 90504 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r64m64),
31902 /* 90507 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31903 /* 90509 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31904 /* 90511 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31905 /* 90515 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31906 /* 90520 */ GIR_RootConstrainSelectedInstOperands,
31907 /* 90521 */ // GIR_Coverage, 3316,
31908 /* 90521 */ GIR_EraseRootFromParent_Done,
31909 /* 90522 */ // Label 1953: @90522
31910 /* 90522 */ GIM_Try, /*On fail goto*//*Label 1954*/ GIMT_Encode4(90598), // Rule ID 3318 //
31911 /* 90527 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode),
31912 /* 90530 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_8),
31913 /* 90535 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
31914 /* 90538 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
31915 /* 90541 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
31916 /* 90544 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31917 /* 90548 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31918 /* 90552 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31919 /* 90556 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31920 /* 90560 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31921 /* 90563 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31922 /* 90567 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31923 /* 90571 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31924 /* 90573 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31925 /* 90580 */ // (intrinsic_wo_chain:{ *:[i32] } 14826:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r32m8_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31926 /* 90580 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32m8_EVEX),
31927 /* 90583 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31928 /* 90585 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31929 /* 90587 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31930 /* 90591 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31931 /* 90596 */ GIR_RootConstrainSelectedInstOperands,
31932 /* 90597 */ // GIR_Coverage, 3318,
31933 /* 90597 */ GIR_EraseRootFromParent_Done,
31934 /* 90598 */ // Label 1954: @90598
31935 /* 90598 */ GIM_Try, /*On fail goto*//*Label 1955*/ GIMT_Encode4(90674), // Rule ID 3320 //
31936 /* 90603 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode),
31937 /* 90606 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_16),
31938 /* 90611 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
31939 /* 90614 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
31940 /* 90617 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s16,
31941 /* 90620 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31942 /* 90624 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31943 /* 90628 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31944 /* 90632 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31945 /* 90636 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31946 /* 90639 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31947 /* 90643 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31948 /* 90647 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31949 /* 90649 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31950 /* 90656 */ // (intrinsic_wo_chain:{ *:[i32] } 14824:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r32m16_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31951 /* 90656 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32m16_EVEX),
31952 /* 90659 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31953 /* 90661 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31954 /* 90663 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31955 /* 90667 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31956 /* 90672 */ GIR_RootConstrainSelectedInstOperands,
31957 /* 90673 */ // GIR_Coverage, 3320,
31958 /* 90673 */ GIR_EraseRootFromParent_Done,
31959 /* 90674 */ // Label 1955: @90674
31960 /* 90674 */ GIM_Try, /*On fail goto*//*Label 1956*/ GIMT_Encode4(90750), // Rule ID 3322 //
31961 /* 90679 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode),
31962 /* 90682 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_32),
31963 /* 90687 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
31964 /* 90690 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
31965 /* 90693 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
31966 /* 90696 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31967 /* 90700 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31968 /* 90704 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31969 /* 90708 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31970 /* 90712 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31971 /* 90715 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31972 /* 90719 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31973 /* 90723 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31974 /* 90725 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31975 /* 90732 */ // (intrinsic_wo_chain:{ *:[i32] } 14825:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r32m32_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31976 /* 90732 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32m32_EVEX),
31977 /* 90735 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31978 /* 90737 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31979 /* 90739 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31980 /* 90743 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31981 /* 90748 */ GIR_RootConstrainSelectedInstOperands,
31982 /* 90749 */ // GIR_Coverage, 3322,
31983 /* 90749 */ GIR_EraseRootFromParent_Done,
31984 /* 90750 */ // Label 1956: @90750
31985 /* 90750 */ GIM_Try, /*On fail goto*//*Label 1957*/ GIMT_Encode4(90826), // Rule ID 3324 //
31986 /* 90755 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode),
31987 /* 90758 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_64_64),
31988 /* 90763 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
31989 /* 90766 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
31990 /* 90769 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
31991 /* 90772 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
31992 /* 90776 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
31993 /* 90780 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31994 /* 90784 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31995 /* 90788 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31996 /* 90791 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31997 /* 90795 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31998 /* 90799 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31999 /* 90801 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32000 /* 90808 */ // (intrinsic_wo_chain:{ *:[i64] } 14827:{ *:[iPTR] }, GR64:{ *:[i64] }:$src1, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r64m64_EVEX:{ *:[i64] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32001 /* 90808 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r64m64_EVEX),
32002 /* 90811 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32003 /* 90813 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32004 /* 90815 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32005 /* 90819 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32006 /* 90824 */ GIR_RootConstrainSelectedInstOperands,
32007 /* 90825 */ // GIR_Coverage, 3324,
32008 /* 90825 */ GIR_EraseRootFromParent_Done,
32009 /* 90826 */ // Label 1957: @90826
32010 /* 90826 */ GIM_Try, /*On fail goto*//*Label 1958*/ GIMT_Encode4(90902), // Rule ID 3340 //
32011 /* 90831 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES),
32012 /* 90834 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc),
32013 /* 90839 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32014 /* 90842 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32015 /* 90845 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32016 /* 90848 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32017 /* 90852 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32018 /* 90856 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32019 /* 90860 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32020 /* 90864 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32021 /* 90867 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32022 /* 90871 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32023 /* 90875 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32024 /* 90877 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32025 /* 90884 */ // (intrinsic_wo_chain:{ *:[v2i64] } 13389:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32026 /* 90884 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCrm),
32027 /* 90887 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32028 /* 90889 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32029 /* 90891 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32030 /* 90895 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32031 /* 90900 */ GIR_RootConstrainSelectedInstOperands,
32032 /* 90901 */ // GIR_Coverage, 3340,
32033 /* 90901 */ GIR_EraseRootFromParent_Done,
32034 /* 90902 */ // Label 1958: @90902
32035 /* 90902 */ GIM_Try, /*On fail goto*//*Label 1959*/ GIMT_Encode4(90978), // Rule ID 3342 //
32036 /* 90907 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES),
32037 /* 90910 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast),
32038 /* 90915 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32039 /* 90918 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32040 /* 90921 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32041 /* 90924 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32042 /* 90928 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32043 /* 90932 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32044 /* 90936 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32045 /* 90940 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32046 /* 90943 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32047 /* 90947 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32048 /* 90951 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32049 /* 90953 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32050 /* 90960 */ // (intrinsic_wo_chain:{ *:[v2i64] } 13392:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCLASTrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32051 /* 90960 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTrm),
32052 /* 90963 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32053 /* 90965 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32054 /* 90967 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32055 /* 90971 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32056 /* 90976 */ GIR_RootConstrainSelectedInstOperands,
32057 /* 90977 */ // GIR_Coverage, 3342,
32058 /* 90977 */ GIR_EraseRootFromParent_Done,
32059 /* 90978 */ // Label 1959: @90978
32060 /* 90978 */ GIM_Try, /*On fail goto*//*Label 1960*/ GIMT_Encode4(91054), // Rule ID 3344 //
32061 /* 90983 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES),
32062 /* 90986 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec),
32063 /* 90991 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32064 /* 90994 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32065 /* 90997 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32066 /* 91000 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32067 /* 91004 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32068 /* 91008 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32069 /* 91012 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32070 /* 91016 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32071 /* 91019 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32072 /* 91023 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32073 /* 91027 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32074 /* 91029 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32075 /* 91036 */ // (intrinsic_wo_chain:{ *:[v2i64] } 13383:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32076 /* 91036 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECrm),
32077 /* 91039 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32078 /* 91041 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32079 /* 91043 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32080 /* 91047 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32081 /* 91052 */ GIR_RootConstrainSelectedInstOperands,
32082 /* 91053 */ // GIR_Coverage, 3344,
32083 /* 91053 */ GIR_EraseRootFromParent_Done,
32084 /* 91054 */ // Label 1960: @91054
32085 /* 91054 */ GIM_Try, /*On fail goto*//*Label 1961*/ GIMT_Encode4(91130), // Rule ID 3346 //
32086 /* 91059 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES),
32087 /* 91062 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast),
32088 /* 91067 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32089 /* 91070 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32090 /* 91073 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32091 /* 91076 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32092 /* 91080 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32093 /* 91084 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32094 /* 91088 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32095 /* 91092 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32096 /* 91095 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32097 /* 91099 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32098 /* 91103 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32099 /* 91105 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32100 /* 91112 */ // (intrinsic_wo_chain:{ *:[v2i64] } 13386:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECLASTrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32101 /* 91112 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTrm),
32102 /* 91115 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32103 /* 91117 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32104 /* 91119 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32105 /* 91123 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32106 /* 91128 */ GIR_RootConstrainSelectedInstOperands,
32107 /* 91129 */ // GIR_Coverage, 3346,
32108 /* 91129 */ GIR_EraseRootFromParent_Done,
32109 /* 91130 */ // Label 1961: @91130
32110 /* 91130 */ GIM_Try, /*On fail goto*//*Label 1962*/ GIMT_Encode4(91206), // Rule ID 3348 //
32111 /* 91135 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_NoVLX),
32112 /* 91138 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc_256),
32113 /* 91143 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32114 /* 91146 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32115 /* 91149 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32116 /* 91152 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32117 /* 91156 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32118 /* 91160 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32119 /* 91164 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32120 /* 91168 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32121 /* 91171 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32122 /* 91175 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32123 /* 91179 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32124 /* 91181 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32125 /* 91188 */ // (intrinsic_wo_chain:{ *:[v4i64] } 13390:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32126 /* 91188 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCYrm),
32127 /* 91191 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32128 /* 91193 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32129 /* 91195 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32130 /* 91199 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32131 /* 91204 */ GIR_RootConstrainSelectedInstOperands,
32132 /* 91205 */ // GIR_Coverage, 3348,
32133 /* 91205 */ GIR_EraseRootFromParent_Done,
32134 /* 91206 */ // Label 1962: @91206
32135 /* 91206 */ GIM_Try, /*On fail goto*//*Label 1963*/ GIMT_Encode4(91282), // Rule ID 3350 //
32136 /* 91211 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_NoVLX),
32137 /* 91214 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast_256),
32138 /* 91219 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32139 /* 91222 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32140 /* 91225 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32141 /* 91228 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32142 /* 91232 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32143 /* 91236 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32144 /* 91240 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32145 /* 91244 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32146 /* 91247 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32147 /* 91251 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32148 /* 91255 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32149 /* 91257 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32150 /* 91264 */ // (intrinsic_wo_chain:{ *:[v4i64] } 13393:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCLASTYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32151 /* 91264 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTYrm),
32152 /* 91267 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32153 /* 91269 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32154 /* 91271 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32155 /* 91275 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32156 /* 91280 */ GIR_RootConstrainSelectedInstOperands,
32157 /* 91281 */ // GIR_Coverage, 3350,
32158 /* 91281 */ GIR_EraseRootFromParent_Done,
32159 /* 91282 */ // Label 1963: @91282
32160 /* 91282 */ GIM_Try, /*On fail goto*//*Label 1964*/ GIMT_Encode4(91358), // Rule ID 3352 //
32161 /* 91287 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_NoVLX),
32162 /* 91290 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec_256),
32163 /* 91295 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32164 /* 91298 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32165 /* 91301 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32166 /* 91304 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32167 /* 91308 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32168 /* 91312 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32169 /* 91316 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32170 /* 91320 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32171 /* 91323 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32172 /* 91327 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32173 /* 91331 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32174 /* 91333 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32175 /* 91340 */ // (intrinsic_wo_chain:{ *:[v4i64] } 13384:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32176 /* 91340 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECYrm),
32177 /* 91343 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32178 /* 91345 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32179 /* 91347 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32180 /* 91351 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32181 /* 91356 */ GIR_RootConstrainSelectedInstOperands,
32182 /* 91357 */ // GIR_Coverage, 3352,
32183 /* 91357 */ GIR_EraseRootFromParent_Done,
32184 /* 91358 */ // Label 1964: @91358
32185 /* 91358 */ GIM_Try, /*On fail goto*//*Label 1965*/ GIMT_Encode4(91434), // Rule ID 3354 //
32186 /* 91363 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_NoVLX),
32187 /* 91366 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast_256),
32188 /* 91371 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32189 /* 91374 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32190 /* 91377 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32191 /* 91380 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32192 /* 91384 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32193 /* 91388 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32194 /* 91392 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32195 /* 91396 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32196 /* 91399 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32197 /* 91403 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32198 /* 91407 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32199 /* 91409 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32200 /* 91416 */ // (intrinsic_wo_chain:{ *:[v4i64] } 13387:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECLASTYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32201 /* 91416 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTYrm),
32202 /* 91419 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32203 /* 91421 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32204 /* 91423 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32205 /* 91427 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32206 /* 91432 */ GIR_RootConstrainSelectedInstOperands,
32207 /* 91433 */ // GIR_Coverage, 3354,
32208 /* 91433 */ GIR_EraseRootFromParent_Done,
32209 /* 91434 */ // Label 1965: @91434
32210 /* 91434 */ GIM_Try, /*On fail goto*//*Label 1966*/ GIMT_Encode4(91510), // Rule ID 3565 //
32211 /* 91439 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM4),
32212 /* 91442 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4128),
32213 /* 91447 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32214 /* 91450 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32215 /* 91453 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32216 /* 91456 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32217 /* 91460 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32218 /* 91464 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32219 /* 91468 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32220 /* 91472 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32221 /* 91475 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32222 /* 91479 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32223 /* 91483 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32224 /* 91485 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32225 /* 91492 */ // (intrinsic_wo_chain:{ *:[v4i32] } 14999:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4KEY4rm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
32226 /* 91492 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4rm),
32227 /* 91495 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32228 /* 91497 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32229 /* 91499 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32230 /* 91503 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32231 /* 91508 */ GIR_RootConstrainSelectedInstOperands,
32232 /* 91509 */ // GIR_Coverage, 3565,
32233 /* 91509 */ GIR_EraseRootFromParent_Done,
32234 /* 91510 */ // Label 1966: @91510
32235 /* 91510 */ GIM_Try, /*On fail goto*//*Label 1967*/ GIMT_Encode4(91586), // Rule ID 3567 //
32236 /* 91515 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM4),
32237 /* 91518 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4256),
32238 /* 91523 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
32239 /* 91526 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
32240 /* 91529 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
32241 /* 91532 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32242 /* 91536 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32243 /* 91540 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32244 /* 91544 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32245 /* 91548 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32246 /* 91551 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32247 /* 91555 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32248 /* 91559 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32249 /* 91561 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32250 /* 91568 */ // (intrinsic_wo_chain:{ *:[v8i32] } 15000:{ *:[iPTR] }, VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4KEY4Yrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
32251 /* 91568 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Yrm),
32252 /* 91571 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32253 /* 91573 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32254 /* 91575 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32255 /* 91579 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32256 /* 91584 */ GIR_RootConstrainSelectedInstOperands,
32257 /* 91585 */ // GIR_Coverage, 3567,
32258 /* 91585 */ GIR_EraseRootFromParent_Done,
32259 /* 91586 */ // Label 1967: @91586
32260 /* 91586 */ GIM_Try, /*On fail goto*//*Label 1968*/ GIMT_Encode4(91662), // Rule ID 3569 //
32261 /* 91591 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM4),
32262 /* 91594 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4128),
32263 /* 91599 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32264 /* 91602 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32265 /* 91605 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32266 /* 91608 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32267 /* 91612 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32268 /* 91616 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32269 /* 91620 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32270 /* 91624 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32271 /* 91627 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32272 /* 91631 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32273 /* 91635 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32274 /* 91637 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32275 /* 91644 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15002:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4RNDS4rm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
32276 /* 91644 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4rm),
32277 /* 91647 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32278 /* 91649 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32279 /* 91651 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32280 /* 91655 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32281 /* 91660 */ GIR_RootConstrainSelectedInstOperands,
32282 /* 91661 */ // GIR_Coverage, 3569,
32283 /* 91661 */ GIR_EraseRootFromParent_Done,
32284 /* 91662 */ // Label 1968: @91662
32285 /* 91662 */ GIM_Try, /*On fail goto*//*Label 1969*/ GIMT_Encode4(91738), // Rule ID 3571 //
32286 /* 91667 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM4),
32287 /* 91670 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4256),
32288 /* 91675 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
32289 /* 91678 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
32290 /* 91681 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
32291 /* 91684 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32292 /* 91688 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32293 /* 91692 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32294 /* 91696 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32295 /* 91700 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32296 /* 91703 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32297 /* 91707 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32298 /* 91711 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32299 /* 91713 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32300 /* 91720 */ // (intrinsic_wo_chain:{ *:[v8i32] } 15003:{ *:[iPTR] }, VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4RNDS4Yrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
32301 /* 91720 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Yrm),
32302 /* 91723 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32303 /* 91725 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32304 /* 91727 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32305 /* 91731 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32306 /* 91736 */ GIR_RootConstrainSelectedInstOperands,
32307 /* 91737 */ // GIR_Coverage, 3571,
32308 /* 91737 */ GIR_EraseRootFromParent_Done,
32309 /* 91738 */ // Label 1969: @91738
32310 /* 91738 */ GIM_Try, /*On fail goto*//*Label 1970*/ GIMT_Encode4(91814), // Rule ID 14061 //
32311 /* 91743 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
32312 /* 91746 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc),
32313 /* 91751 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32314 /* 91754 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32315 /* 91757 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32316 /* 91760 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32317 /* 91764 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32318 /* 91768 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32319 /* 91772 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32320 /* 91776 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32321 /* 91779 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32322 /* 91783 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32323 /* 91787 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32324 /* 91789 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32325 /* 91796 */ // (intrinsic_wo_chain:{ *:[v2i64] } 13389:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32326 /* 91796 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCZ128rm),
32327 /* 91799 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32328 /* 91801 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32329 /* 91803 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32330 /* 91807 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32331 /* 91812 */ GIR_RootConstrainSelectedInstOperands,
32332 /* 91813 */ // GIR_Coverage, 14061,
32333 /* 91813 */ GIR_EraseRootFromParent_Done,
32334 /* 91814 */ // Label 1970: @91814
32335 /* 91814 */ GIM_Try, /*On fail goto*//*Label 1971*/ GIMT_Encode4(91890), // Rule ID 14063 //
32336 /* 91819 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
32337 /* 91822 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc_256),
32338 /* 91827 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32339 /* 91830 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32340 /* 91833 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32341 /* 91836 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32342 /* 91840 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32343 /* 91844 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32344 /* 91848 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32345 /* 91852 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32346 /* 91855 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32347 /* 91859 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32348 /* 91863 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32349 /* 91865 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32350 /* 91872 */ // (intrinsic_wo_chain:{ *:[v4i64] } 13390:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32351 /* 91872 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCZ256rm),
32352 /* 91875 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32353 /* 91877 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32354 /* 91879 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32355 /* 91883 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32356 /* 91888 */ GIR_RootConstrainSelectedInstOperands,
32357 /* 91889 */ // GIR_Coverage, 14063,
32358 /* 91889 */ GIR_EraseRootFromParent_Done,
32359 /* 91890 */ // Label 1971: @91890
32360 /* 91890 */ GIM_Try, /*On fail goto*//*Label 1972*/ GIMT_Encode4(91966), // Rule ID 14065 //
32361 /* 91895 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVAES),
32362 /* 91898 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc_512),
32363 /* 91903 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
32364 /* 91906 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
32365 /* 91909 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
32366 /* 91912 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32367 /* 91916 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32368 /* 91920 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32369 /* 91924 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32370 /* 91928 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32371 /* 91931 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32372 /* 91935 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32373 /* 91939 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32374 /* 91941 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32375 /* 91948 */ // (intrinsic_wo_chain:{ *:[v8i64] } 13391:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32376 /* 91948 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCZrm),
32377 /* 91951 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32378 /* 91953 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32379 /* 91955 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32380 /* 91959 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32381 /* 91964 */ GIR_RootConstrainSelectedInstOperands,
32382 /* 91965 */ // GIR_Coverage, 14065,
32383 /* 91965 */ GIR_EraseRootFromParent_Done,
32384 /* 91966 */ // Label 1972: @91966
32385 /* 91966 */ GIM_Try, /*On fail goto*//*Label 1973*/ GIMT_Encode4(92042), // Rule ID 14067 //
32386 /* 91971 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
32387 /* 91974 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast),
32388 /* 91979 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32389 /* 91982 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32390 /* 91985 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32391 /* 91988 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32392 /* 91992 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32393 /* 91996 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32394 /* 92000 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32395 /* 92004 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32396 /* 92007 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32397 /* 92011 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32398 /* 92015 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32399 /* 92017 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32400 /* 92024 */ // (intrinsic_wo_chain:{ *:[v2i64] } 13392:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCLASTZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32401 /* 92024 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTZ128rm),
32402 /* 92027 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32403 /* 92029 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32404 /* 92031 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32405 /* 92035 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32406 /* 92040 */ GIR_RootConstrainSelectedInstOperands,
32407 /* 92041 */ // GIR_Coverage, 14067,
32408 /* 92041 */ GIR_EraseRootFromParent_Done,
32409 /* 92042 */ // Label 1973: @92042
32410 /* 92042 */ GIM_Try, /*On fail goto*//*Label 1974*/ GIMT_Encode4(92118), // Rule ID 14069 //
32411 /* 92047 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
32412 /* 92050 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast_256),
32413 /* 92055 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32414 /* 92058 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32415 /* 92061 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32416 /* 92064 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32417 /* 92068 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32418 /* 92072 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32419 /* 92076 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32420 /* 92080 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32421 /* 92083 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32422 /* 92087 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32423 /* 92091 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32424 /* 92093 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32425 /* 92100 */ // (intrinsic_wo_chain:{ *:[v4i64] } 13393:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCLASTZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32426 /* 92100 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTZ256rm),
32427 /* 92103 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32428 /* 92105 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32429 /* 92107 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32430 /* 92111 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32431 /* 92116 */ GIR_RootConstrainSelectedInstOperands,
32432 /* 92117 */ // GIR_Coverage, 14069,
32433 /* 92117 */ GIR_EraseRootFromParent_Done,
32434 /* 92118 */ // Label 1974: @92118
32435 /* 92118 */ GIM_Try, /*On fail goto*//*Label 1975*/ GIMT_Encode4(92194), // Rule ID 14071 //
32436 /* 92123 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVAES),
32437 /* 92126 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast_512),
32438 /* 92131 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
32439 /* 92134 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
32440 /* 92137 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
32441 /* 92140 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32442 /* 92144 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32443 /* 92148 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32444 /* 92152 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32445 /* 92156 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32446 /* 92159 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32447 /* 92163 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32448 /* 92167 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32449 /* 92169 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32450 /* 92176 */ // (intrinsic_wo_chain:{ *:[v8i64] } 13394:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCLASTZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32451 /* 92176 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTZrm),
32452 /* 92179 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32453 /* 92181 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32454 /* 92183 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32455 /* 92187 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32456 /* 92192 */ GIR_RootConstrainSelectedInstOperands,
32457 /* 92193 */ // GIR_Coverage, 14071,
32458 /* 92193 */ GIR_EraseRootFromParent_Done,
32459 /* 92194 */ // Label 1975: @92194
32460 /* 92194 */ GIM_Try, /*On fail goto*//*Label 1976*/ GIMT_Encode4(92270), // Rule ID 14073 //
32461 /* 92199 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
32462 /* 92202 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec),
32463 /* 92207 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32464 /* 92210 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32465 /* 92213 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32466 /* 92216 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32467 /* 92220 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32468 /* 92224 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32469 /* 92228 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32470 /* 92232 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32471 /* 92235 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32472 /* 92239 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32473 /* 92243 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32474 /* 92245 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32475 /* 92252 */ // (intrinsic_wo_chain:{ *:[v2i64] } 13383:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32476 /* 92252 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECZ128rm),
32477 /* 92255 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32478 /* 92257 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32479 /* 92259 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32480 /* 92263 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32481 /* 92268 */ GIR_RootConstrainSelectedInstOperands,
32482 /* 92269 */ // GIR_Coverage, 14073,
32483 /* 92269 */ GIR_EraseRootFromParent_Done,
32484 /* 92270 */ // Label 1976: @92270
32485 /* 92270 */ GIM_Try, /*On fail goto*//*Label 1977*/ GIMT_Encode4(92346), // Rule ID 14075 //
32486 /* 92275 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
32487 /* 92278 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec_256),
32488 /* 92283 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32489 /* 92286 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32490 /* 92289 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32491 /* 92292 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32492 /* 92296 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32493 /* 92300 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32494 /* 92304 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32495 /* 92308 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32496 /* 92311 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32497 /* 92315 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32498 /* 92319 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32499 /* 92321 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32500 /* 92328 */ // (intrinsic_wo_chain:{ *:[v4i64] } 13384:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32501 /* 92328 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECZ256rm),
32502 /* 92331 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32503 /* 92333 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32504 /* 92335 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32505 /* 92339 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32506 /* 92344 */ GIR_RootConstrainSelectedInstOperands,
32507 /* 92345 */ // GIR_Coverage, 14075,
32508 /* 92345 */ GIR_EraseRootFromParent_Done,
32509 /* 92346 */ // Label 1977: @92346
32510 /* 92346 */ GIM_Try, /*On fail goto*//*Label 1978*/ GIMT_Encode4(92422), // Rule ID 14077 //
32511 /* 92351 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVAES),
32512 /* 92354 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec_512),
32513 /* 92359 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
32514 /* 92362 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
32515 /* 92365 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
32516 /* 92368 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32517 /* 92372 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32518 /* 92376 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32519 /* 92380 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32520 /* 92384 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32521 /* 92387 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32522 /* 92391 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32523 /* 92395 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32524 /* 92397 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32525 /* 92404 */ // (intrinsic_wo_chain:{ *:[v8i64] } 13385:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32526 /* 92404 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECZrm),
32527 /* 92407 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32528 /* 92409 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32529 /* 92411 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32530 /* 92415 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32531 /* 92420 */ GIR_RootConstrainSelectedInstOperands,
32532 /* 92421 */ // GIR_Coverage, 14077,
32533 /* 92421 */ GIR_EraseRootFromParent_Done,
32534 /* 92422 */ // Label 1978: @92422
32535 /* 92422 */ GIM_Try, /*On fail goto*//*Label 1979*/ GIMT_Encode4(92498), // Rule ID 14079 //
32536 /* 92427 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
32537 /* 92430 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast),
32538 /* 92435 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32539 /* 92438 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32540 /* 92441 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32541 /* 92444 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32542 /* 92448 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32543 /* 92452 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32544 /* 92456 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32545 /* 92460 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32546 /* 92463 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32547 /* 92467 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32548 /* 92471 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32549 /* 92473 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32550 /* 92480 */ // (intrinsic_wo_chain:{ *:[v2i64] } 13386:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECLASTZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32551 /* 92480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTZ128rm),
32552 /* 92483 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32553 /* 92485 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32554 /* 92487 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32555 /* 92491 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32556 /* 92496 */ GIR_RootConstrainSelectedInstOperands,
32557 /* 92497 */ // GIR_Coverage, 14079,
32558 /* 92497 */ GIR_EraseRootFromParent_Done,
32559 /* 92498 */ // Label 1979: @92498
32560 /* 92498 */ GIM_Try, /*On fail goto*//*Label 1980*/ GIMT_Encode4(92574), // Rule ID 14081 //
32561 /* 92503 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
32562 /* 92506 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast_256),
32563 /* 92511 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32564 /* 92514 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32565 /* 92517 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32566 /* 92520 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32567 /* 92524 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32568 /* 92528 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32569 /* 92532 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32570 /* 92536 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32571 /* 92539 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32572 /* 92543 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32573 /* 92547 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32574 /* 92549 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32575 /* 92556 */ // (intrinsic_wo_chain:{ *:[v4i64] } 13387:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECLASTZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32576 /* 92556 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTZ256rm),
32577 /* 92559 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32578 /* 92561 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32579 /* 92563 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32580 /* 92567 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32581 /* 92572 */ GIR_RootConstrainSelectedInstOperands,
32582 /* 92573 */ // GIR_Coverage, 14081,
32583 /* 92573 */ GIR_EraseRootFromParent_Done,
32584 /* 92574 */ // Label 1980: @92574
32585 /* 92574 */ GIM_Try, /*On fail goto*//*Label 1981*/ GIMT_Encode4(92650), // Rule ID 14083 //
32586 /* 92579 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVAES),
32587 /* 92582 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast_512),
32588 /* 92587 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
32589 /* 92590 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
32590 /* 92593 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
32591 /* 92596 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32592 /* 92600 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32593 /* 92604 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32594 /* 92608 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32595 /* 92612 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32596 /* 92615 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32597 /* 92619 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32598 /* 92623 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32599 /* 92625 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32600 /* 92632 */ // (intrinsic_wo_chain:{ *:[v8i64] } 13388:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECLASTZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32601 /* 92632 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTZrm),
32602 /* 92635 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32603 /* 92637 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32604 /* 92639 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32605 /* 92643 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32606 /* 92648 */ GIR_RootConstrainSelectedInstOperands,
32607 /* 92649 */ // GIR_Coverage, 14083,
32608 /* 92649 */ GIR_EraseRootFromParent_Done,
32609 /* 92650 */ // Label 1981: @92650
32610 /* 92650 */ GIM_Try, /*On fail goto*//*Label 1982*/ GIMT_Encode4(92726), // Rule ID 16794 //
32611 /* 92655 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_512_HasSM4),
32612 /* 92658 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4512),
32613 /* 92663 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
32614 /* 92666 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
32615 /* 92669 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
32616 /* 92672 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32617 /* 92676 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32618 /* 92680 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32619 /* 92684 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32620 /* 92688 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32621 /* 92691 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32622 /* 92695 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32623 /* 92699 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32624 /* 92701 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32625 /* 92708 */ // (intrinsic_wo_chain:{ *:[v16i32] } 15001:{ *:[iPTR] }, VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4KEY4Zrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
32626 /* 92708 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Zrm),
32627 /* 92711 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32628 /* 92713 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32629 /* 92715 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32630 /* 92719 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32631 /* 92724 */ GIR_RootConstrainSelectedInstOperands,
32632 /* 92725 */ // GIR_Coverage, 16794,
32633 /* 92725 */ GIR_EraseRootFromParent_Done,
32634 /* 92726 */ // Label 1982: @92726
32635 /* 92726 */ GIM_Try, /*On fail goto*//*Label 1983*/ GIMT_Encode4(92802), // Rule ID 16800 //
32636 /* 92731 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_512_HasSM4),
32637 /* 92734 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4512),
32638 /* 92739 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
32639 /* 92742 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
32640 /* 92745 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
32641 /* 92748 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32642 /* 92752 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32643 /* 92756 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32644 /* 92760 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32645 /* 92764 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32646 /* 92767 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32647 /* 92771 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32648 /* 92775 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32649 /* 92777 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32650 /* 92784 */ // (intrinsic_wo_chain:{ *:[v16i32] } 15004:{ *:[iPTR] }, VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4RNDS4Zrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
32651 /* 92784 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Zrm),
32652 /* 92787 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32653 /* 92789 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32654 /* 92791 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32655 /* 92795 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32656 /* 92800 */ GIR_RootConstrainSelectedInstOperands,
32657 /* 92801 */ // GIR_Coverage, 16800,
32658 /* 92801 */ GIR_EraseRootFromParent_Done,
32659 /* 92802 */ // Label 1983: @92802
32660 /* 92802 */ GIM_Try, /*On fail goto*//*Label 1984*/ GIMT_Encode4(92843), // Rule ID 3367 //
32661 /* 92807 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX),
32662 /* 92810 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aeskeygenassist),
32663 /* 92815 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32664 /* 92818 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32665 /* 92821 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32666 /* 92825 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32667 /* 92829 */ // MIs[0] src2
32668 /* 92829 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
32669 /* 92832 */ // (intrinsic_wo_chain:{ *:[v2i64] } 13396:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, (timm:{ *:[i8] }):$src2) => (VAESKEYGENASSIST128rr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (timm:{ *:[i8] }):$src2)
32670 /* 92832 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESKEYGENASSIST128rr),
32671 /* 92835 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32672 /* 92837 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32673 /* 92839 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32674 /* 92841 */ GIR_RootConstrainSelectedInstOperands,
32675 /* 92842 */ // GIR_Coverage, 3367,
32676 /* 92842 */ GIR_EraseRootFromParent_Done,
32677 /* 92843 */ // Label 1984: @92843
32678 /* 92843 */ GIM_Try, /*On fail goto*//*Label 1985*/ GIMT_Encode4(92884), // Rule ID 3369 //
32679 /* 92848 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_NoAVX),
32680 /* 92851 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aeskeygenassist),
32681 /* 92856 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32682 /* 92859 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32683 /* 92862 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32684 /* 92866 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32685 /* 92870 */ // MIs[0] src2
32686 /* 92870 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
32687 /* 92873 */ // (intrinsic_wo_chain:{ *:[v2i64] } 13396:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, (timm:{ *:[i8] }):$src2) => (AESKEYGENASSIST128rr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (timm:{ *:[i8] }):$src2)
32688 /* 92873 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AESKEYGENASSIST128rr),
32689 /* 92876 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32690 /* 92878 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32691 /* 92880 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32692 /* 92882 */ GIR_RootConstrainSelectedInstOperands,
32693 /* 92883 */ // GIR_Coverage, 3369,
32694 /* 92883 */ GIR_EraseRootFromParent_Done,
32695 /* 92884 */ // Label 1985: @92884
32696 /* 92884 */ GIM_Try, /*On fail goto*//*Label 1986*/ GIMT_Encode4(92929), // Rule ID 16789 //
32697 /* 92889 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
32698 /* 92892 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4128),
32699 /* 92897 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32700 /* 92900 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32701 /* 92903 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32702 /* 92906 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32703 /* 92910 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32704 /* 92914 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32705 /* 92918 */ // (intrinsic_wo_chain:{ *:[v4i32] } 14999:{ *:[iPTR] }, VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VSM4KEY4Z128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
32706 /* 92918 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Z128rr),
32707 /* 92921 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32708 /* 92923 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32709 /* 92925 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32710 /* 92927 */ GIR_RootConstrainSelectedInstOperands,
32711 /* 92928 */ // GIR_Coverage, 16789,
32712 /* 92928 */ GIR_EraseRootFromParent_Done,
32713 /* 92929 */ // Label 1986: @92929
32714 /* 92929 */ GIM_Try, /*On fail goto*//*Label 1987*/ GIMT_Encode4(92974), // Rule ID 16791 //
32715 /* 92934 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
32716 /* 92937 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4256),
32717 /* 92942 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
32718 /* 92945 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
32719 /* 92948 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
32720 /* 92951 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32721 /* 92955 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32722 /* 92959 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32723 /* 92963 */ // (intrinsic_wo_chain:{ *:[v8i32] } 15000:{ *:[iPTR] }, VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VSM4KEY4Z256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
32724 /* 92963 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Z256rr),
32725 /* 92966 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32726 /* 92968 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32727 /* 92970 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32728 /* 92972 */ GIR_RootConstrainSelectedInstOperands,
32729 /* 92973 */ // GIR_Coverage, 16791,
32730 /* 92973 */ GIR_EraseRootFromParent_Done,
32731 /* 92974 */ // Label 1987: @92974
32732 /* 92974 */ GIM_Try, /*On fail goto*//*Label 1988*/ GIMT_Encode4(93019), // Rule ID 16795 //
32733 /* 92979 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
32734 /* 92982 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4128),
32735 /* 92987 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32736 /* 92990 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32737 /* 92993 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32738 /* 92996 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32739 /* 93000 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32740 /* 93004 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32741 /* 93008 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15002:{ *:[iPTR] }, VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VSM4RNDS4Z128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
32742 /* 93008 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Z128rr),
32743 /* 93011 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32744 /* 93013 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32745 /* 93015 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32746 /* 93017 */ GIR_RootConstrainSelectedInstOperands,
32747 /* 93018 */ // GIR_Coverage, 16795,
32748 /* 93018 */ GIR_EraseRootFromParent_Done,
32749 /* 93019 */ // Label 1988: @93019
32750 /* 93019 */ GIM_Try, /*On fail goto*//*Label 1989*/ GIMT_Encode4(93064), // Rule ID 16797 //
32751 /* 93024 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
32752 /* 93027 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4256),
32753 /* 93032 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
32754 /* 93035 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
32755 /* 93038 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
32756 /* 93041 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32757 /* 93045 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32758 /* 93049 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32759 /* 93053 */ // (intrinsic_wo_chain:{ *:[v8i32] } 15003:{ *:[iPTR] }, VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VSM4RNDS4Z256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
32760 /* 93053 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Z256rr),
32761 /* 93056 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32762 /* 93058 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32763 /* 93060 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32764 /* 93062 */ GIR_RootConstrainSelectedInstOperands,
32765 /* 93063 */ // GIR_Coverage, 16797,
32766 /* 93063 */ GIR_EraseRootFromParent_Done,
32767 /* 93064 */ // Label 1989: @93064
32768 /* 93064 */ GIM_Try, /*On fail goto*//*Label 1990*/ GIMT_Encode4(93109), // Rule ID 3022 //
32769 /* 93069 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
32770 /* 93072 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_b_128),
32771 /* 93077 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
32772 /* 93080 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
32773 /* 93083 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
32774 /* 93086 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32775 /* 93090 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32776 /* 93094 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32777 /* 93098 */ // (intrinsic_wo_chain:{ *:[v16i8] } 14868:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPSIGNBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
32778 /* 93098 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNBrr),
32779 /* 93101 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32780 /* 93103 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32781 /* 93105 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32782 /* 93107 */ GIR_RootConstrainSelectedInstOperands,
32783 /* 93108 */ // GIR_Coverage, 3022,
32784 /* 93108 */ GIR_EraseRootFromParent_Done,
32785 /* 93109 */ // Label 1990: @93109
32786 /* 93109 */ GIM_Try, /*On fail goto*//*Label 1991*/ GIMT_Encode4(93154), // Rule ID 3024 //
32787 /* 93114 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
32788 /* 93117 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_w_128),
32789 /* 93122 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
32790 /* 93125 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
32791 /* 93128 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
32792 /* 93131 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32793 /* 93135 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32794 /* 93139 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32795 /* 93143 */ // (intrinsic_wo_chain:{ *:[v8i16] } 14872:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPSIGNWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
32796 /* 93143 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNWrr),
32797 /* 93146 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32798 /* 93148 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32799 /* 93150 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32800 /* 93152 */ GIR_RootConstrainSelectedInstOperands,
32801 /* 93153 */ // GIR_Coverage, 3024,
32802 /* 93153 */ GIR_EraseRootFromParent_Done,
32803 /* 93154 */ // Label 1991: @93154
32804 /* 93154 */ GIM_Try, /*On fail goto*//*Label 1992*/ GIMT_Encode4(93199), // Rule ID 3026 //
32805 /* 93159 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
32806 /* 93162 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_d_128),
32807 /* 93167 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32808 /* 93170 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32809 /* 93173 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32810 /* 93176 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32811 /* 93180 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32812 /* 93184 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32813 /* 93188 */ // (intrinsic_wo_chain:{ *:[v4i32] } 14870:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPSIGNDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
32814 /* 93188 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNDrr),
32815 /* 93191 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32816 /* 93193 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32817 /* 93195 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32818 /* 93197 */ GIR_RootConstrainSelectedInstOperands,
32819 /* 93198 */ // GIR_Coverage, 3026,
32820 /* 93198 */ GIR_EraseRootFromParent_Done,
32821 /* 93199 */ // Label 1992: @93199
32822 /* 93199 */ GIM_Try, /*On fail goto*//*Label 1993*/ GIMT_Encode4(93244), // Rule ID 3028 //
32823 /* 93204 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
32824 /* 93207 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_phadd_sw_128),
32825 /* 93212 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
32826 /* 93215 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
32827 /* 93218 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
32828 /* 93221 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32829 /* 93225 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32830 /* 93229 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32831 /* 93233 */ // (intrinsic_wo_chain:{ *:[v8i16] } 14852:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPHADDSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
32832 /* 93233 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDSWrr),
32833 /* 93236 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32834 /* 93238 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32835 /* 93240 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32836 /* 93242 */ GIR_RootConstrainSelectedInstOperands,
32837 /* 93243 */ // GIR_Coverage, 3028,
32838 /* 93243 */ GIR_EraseRootFromParent_Done,
32839 /* 93244 */ // Label 1993: @93244
32840 /* 93244 */ GIM_Try, /*On fail goto*//*Label 1994*/ GIMT_Encode4(93289), // Rule ID 3030 //
32841 /* 93249 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
32842 /* 93252 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_phsub_sw_128),
32843 /* 93257 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
32844 /* 93260 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
32845 /* 93263 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
32846 /* 93266 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32847 /* 93270 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32848 /* 93274 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32849 /* 93278 */ // (intrinsic_wo_chain:{ *:[v8i16] } 14858:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPHSUBSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
32850 /* 93278 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHSUBSWrr),
32851 /* 93281 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32852 /* 93283 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32853 /* 93285 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32854 /* 93287 */ GIR_RootConstrainSelectedInstOperands,
32855 /* 93288 */ // GIR_Coverage, 3030,
32856 /* 93288 */ GIR_EraseRootFromParent_Done,
32857 /* 93289 */ // Label 1994: @93289
32858 /* 93289 */ GIM_Try, /*On fail goto*//*Label 1995*/ GIMT_Encode4(93334), // Rule ID 3046 //
32859 /* 93294 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
32860 /* 93297 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_psign_b),
32861 /* 93302 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s8,
32862 /* 93305 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
32863 /* 93308 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s8,
32864 /* 93311 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32865 /* 93315 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32866 /* 93319 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32867 /* 93323 */ // (intrinsic_wo_chain:{ *:[v32i8] } 13759:{ *:[iPTR] }, VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPSIGNBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
32868 /* 93323 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNBYrr),
32869 /* 93326 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32870 /* 93328 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32871 /* 93330 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32872 /* 93332 */ GIR_RootConstrainSelectedInstOperands,
32873 /* 93333 */ // GIR_Coverage, 3046,
32874 /* 93333 */ GIR_EraseRootFromParent_Done,
32875 /* 93334 */ // Label 1995: @93334
32876 /* 93334 */ GIM_Try, /*On fail goto*//*Label 1996*/ GIMT_Encode4(93379), // Rule ID 3048 //
32877 /* 93339 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
32878 /* 93342 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_psign_w),
32879 /* 93347 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s16,
32880 /* 93350 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
32881 /* 93353 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
32882 /* 93356 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32883 /* 93360 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32884 /* 93364 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32885 /* 93368 */ // (intrinsic_wo_chain:{ *:[v16i16] } 13761:{ *:[iPTR] }, VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPSIGNWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
32886 /* 93368 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNWYrr),
32887 /* 93371 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32888 /* 93373 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32889 /* 93375 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32890 /* 93377 */ GIR_RootConstrainSelectedInstOperands,
32891 /* 93378 */ // GIR_Coverage, 3048,
32892 /* 93378 */ GIR_EraseRootFromParent_Done,
32893 /* 93379 */ // Label 1996: @93379
32894 /* 93379 */ GIM_Try, /*On fail goto*//*Label 1997*/ GIMT_Encode4(93424), // Rule ID 3050 //
32895 /* 93384 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
32896 /* 93387 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_psign_d),
32897 /* 93392 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
32898 /* 93395 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
32899 /* 93398 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
32900 /* 93401 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32901 /* 93405 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32902 /* 93409 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32903 /* 93413 */ // (intrinsic_wo_chain:{ *:[v8i32] } 13760:{ *:[iPTR] }, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPSIGNDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
32904 /* 93413 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNDYrr),
32905 /* 93416 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32906 /* 93418 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32907 /* 93420 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32908 /* 93422 */ GIR_RootConstrainSelectedInstOperands,
32909 /* 93423 */ // GIR_Coverage, 3050,
32910 /* 93423 */ GIR_EraseRootFromParent_Done,
32911 /* 93424 */ // Label 1997: @93424
32912 /* 93424 */ GIM_Try, /*On fail goto*//*Label 1998*/ GIMT_Encode4(93469), // Rule ID 3052 //
32913 /* 93429 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
32914 /* 93432 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_phadd_sw),
32915 /* 93437 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s16,
32916 /* 93440 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
32917 /* 93443 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
32918 /* 93446 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32919 /* 93450 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32920 /* 93454 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32921 /* 93458 */ // (intrinsic_wo_chain:{ *:[v16i16] } 13746:{ *:[iPTR] }, VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPHADDSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
32922 /* 93458 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDSWYrr),
32923 /* 93461 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32924 /* 93463 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32925 /* 93465 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32926 /* 93467 */ GIR_RootConstrainSelectedInstOperands,
32927 /* 93468 */ // GIR_Coverage, 3052,
32928 /* 93468 */ GIR_EraseRootFromParent_Done,
32929 /* 93469 */ // Label 1998: @93469
32930 /* 93469 */ GIM_Try, /*On fail goto*//*Label 1999*/ GIMT_Encode4(93514), // Rule ID 3054 //
32931 /* 93474 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
32932 /* 93477 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_phsub_sw),
32933 /* 93482 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s16,
32934 /* 93485 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
32935 /* 93488 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
32936 /* 93491 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32937 /* 93495 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32938 /* 93499 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32939 /* 93503 */ // (intrinsic_wo_chain:{ *:[v16i16] } 13749:{ *:[iPTR] }, VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPHSUBSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
32940 /* 93503 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHSUBSWYrr),
32941 /* 93506 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32942 /* 93508 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32943 /* 93510 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32944 /* 93512 */ GIR_RootConstrainSelectedInstOperands,
32945 /* 93513 */ // GIR_Coverage, 3054,
32946 /* 93513 */ GIR_EraseRootFromParent_Done,
32947 /* 93514 */ // Label 1999: @93514
32948 /* 93514 */ GIM_Try, /*On fail goto*//*Label 2000*/ GIMT_Encode4(93559), // Rule ID 3064 //
32949 /* 93519 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSSE3),
32950 /* 93522 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_b_128),
32951 /* 93527 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
32952 /* 93530 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
32953 /* 93533 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
32954 /* 93536 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32955 /* 93540 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32956 /* 93544 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32957 /* 93548 */ // (intrinsic_wo_chain:{ *:[v16i8] } 14868:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PSIGNBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
32958 /* 93548 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PSIGNBrr),
32959 /* 93551 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32960 /* 93553 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32961 /* 93555 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32962 /* 93557 */ GIR_RootConstrainSelectedInstOperands,
32963 /* 93558 */ // GIR_Coverage, 3064,
32964 /* 93558 */ GIR_EraseRootFromParent_Done,
32965 /* 93559 */ // Label 2000: @93559
32966 /* 93559 */ GIM_Try, /*On fail goto*//*Label 2001*/ GIMT_Encode4(93604), // Rule ID 3066 //
32967 /* 93564 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSSE3),
32968 /* 93567 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_w_128),
32969 /* 93572 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
32970 /* 93575 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
32971 /* 93578 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
32972 /* 93581 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32973 /* 93585 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32974 /* 93589 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32975 /* 93593 */ // (intrinsic_wo_chain:{ *:[v8i16] } 14872:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PSIGNWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
32976 /* 93593 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PSIGNWrr),
32977 /* 93596 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32978 /* 93598 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32979 /* 93600 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32980 /* 93602 */ GIR_RootConstrainSelectedInstOperands,
32981 /* 93603 */ // GIR_Coverage, 3066,
32982 /* 93603 */ GIR_EraseRootFromParent_Done,
32983 /* 93604 */ // Label 2001: @93604
32984 /* 93604 */ GIM_Try, /*On fail goto*//*Label 2002*/ GIMT_Encode4(93649), // Rule ID 3068 //
32985 /* 93609 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSSE3),
32986 /* 93612 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_d_128),
32987 /* 93617 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32988 /* 93620 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32989 /* 93623 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32990 /* 93626 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32991 /* 93630 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32992 /* 93634 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32993 /* 93638 */ // (intrinsic_wo_chain:{ *:[v4i32] } 14870:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PSIGNDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
32994 /* 93638 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PSIGNDrr),
32995 /* 93641 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32996 /* 93643 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32997 /* 93645 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32998 /* 93647 */ GIR_RootConstrainSelectedInstOperands,
32999 /* 93648 */ // GIR_Coverage, 3068,
33000 /* 93648 */ GIR_EraseRootFromParent_Done,
33001 /* 93649 */ // Label 2002: @93649
33002 /* 93649 */ GIM_Try, /*On fail goto*//*Label 2003*/ GIMT_Encode4(93694), // Rule ID 3072 //
33003 /* 93654 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSSE3),
33004 /* 93657 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_phadd_sw_128),
33005 /* 93662 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
33006 /* 93665 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33007 /* 93668 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33008 /* 93671 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33009 /* 93675 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33010 /* 93679 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33011 /* 93683 */ // (intrinsic_wo_chain:{ *:[v8i16] } 14852:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PHADDSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
33012 /* 93683 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PHADDSWrr),
33013 /* 93686 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33014 /* 93688 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33015 /* 93690 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33016 /* 93692 */ GIR_RootConstrainSelectedInstOperands,
33017 /* 93693 */ // GIR_Coverage, 3072,
33018 /* 93693 */ GIR_EraseRootFromParent_Done,
33019 /* 93694 */ // Label 2003: @93694
33020 /* 93694 */ GIM_Try, /*On fail goto*//*Label 2004*/ GIMT_Encode4(93739), // Rule ID 3074 //
33021 /* 93699 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSSE3),
33022 /* 93702 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_phsub_sw_128),
33023 /* 93707 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
33024 /* 93710 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33025 /* 93713 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33026 /* 93716 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33027 /* 93720 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33028 /* 93724 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33029 /* 93728 */ // (intrinsic_wo_chain:{ *:[v8i16] } 14858:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PHSUBSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
33030 /* 93728 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PHSUBSWrr),
33031 /* 93731 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33032 /* 93733 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33033 /* 93735 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33034 /* 93737 */ GIR_RootConstrainSelectedInstOperands,
33035 /* 93738 */ // GIR_Coverage, 3074,
33036 /* 93738 */ GIR_EraseRootFromParent_Done,
33037 /* 93739 */ // Label 2004: @93739
33038 /* 93739 */ GIM_Try, /*On fail goto*//*Label 2005*/ GIMT_Encode4(93784), // Rule ID 3309 //
33039 /* 93744 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_NoEGPR),
33040 /* 93747 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_8),
33041 /* 93752 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
33042 /* 93755 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
33043 /* 93758 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
33044 /* 93761 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
33045 /* 93765 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
33046 /* 93769 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
33047 /* 93773 */ // (intrinsic_wo_chain:{ *:[i32] } 14826:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, GR8:{ *:[i8] }:$src2) => (CRC32r32r8:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR8:{ *:[i8] }:$src2)
33048 /* 93773 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32r8),
33049 /* 93776 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33050 /* 93778 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33051 /* 93780 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33052 /* 93782 */ GIR_RootConstrainSelectedInstOperands,
33053 /* 93783 */ // GIR_Coverage, 3309,
33054 /* 93783 */ GIR_EraseRootFromParent_Done,
33055 /* 93784 */ // Label 2005: @93784
33056 /* 93784 */ GIM_Try, /*On fail goto*//*Label 2006*/ GIMT_Encode4(93829), // Rule ID 3311 //
33057 /* 93789 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_NoEGPR),
33058 /* 93792 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_16),
33059 /* 93797 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
33060 /* 93800 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
33061 /* 93803 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s16,
33062 /* 93806 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
33063 /* 93810 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
33064 /* 93814 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
33065 /* 93818 */ // (intrinsic_wo_chain:{ *:[i32] } 14824:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, GR16:{ *:[i16] }:$src2) => (CRC32r32r16:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR16:{ *:[i16] }:$src2)
33066 /* 93818 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32r16),
33067 /* 93821 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33068 /* 93823 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33069 /* 93825 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33070 /* 93827 */ GIR_RootConstrainSelectedInstOperands,
33071 /* 93828 */ // GIR_Coverage, 3311,
33072 /* 93828 */ GIR_EraseRootFromParent_Done,
33073 /* 93829 */ // Label 2006: @93829
33074 /* 93829 */ GIM_Try, /*On fail goto*//*Label 2007*/ GIMT_Encode4(93874), // Rule ID 3313 //
33075 /* 93834 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_NoEGPR),
33076 /* 93837 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_32),
33077 /* 93842 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
33078 /* 93845 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
33079 /* 93848 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
33080 /* 93851 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
33081 /* 93855 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
33082 /* 93859 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
33083 /* 93863 */ // (intrinsic_wo_chain:{ *:[i32] } 14825:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (CRC32r32r32:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
33084 /* 93863 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32r32),
33085 /* 93866 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33086 /* 93868 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33087 /* 93870 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33088 /* 93872 */ GIR_RootConstrainSelectedInstOperands,
33089 /* 93873 */ // GIR_Coverage, 3313,
33090 /* 93873 */ GIR_EraseRootFromParent_Done,
33091 /* 93874 */ // Label 2007: @93874
33092 /* 93874 */ GIM_Try, /*On fail goto*//*Label 2008*/ GIMT_Encode4(93919), // Rule ID 3315 //
33093 /* 93879 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_NoEGPR),
33094 /* 93882 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_64_64),
33095 /* 93887 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
33096 /* 93890 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
33097 /* 93893 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
33098 /* 93896 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
33099 /* 93900 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
33100 /* 93904 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
33101 /* 93908 */ // (intrinsic_wo_chain:{ *:[i64] } 14827:{ *:[iPTR] }, GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (CRC32r64r64:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
33102 /* 93908 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r64r64),
33103 /* 93911 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33104 /* 93913 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33105 /* 93915 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33106 /* 93917 */ GIR_RootConstrainSelectedInstOperands,
33107 /* 93918 */ // GIR_Coverage, 3315,
33108 /* 93918 */ GIR_EraseRootFromParent_Done,
33109 /* 93919 */ // Label 2008: @93919
33110 /* 93919 */ GIM_Try, /*On fail goto*//*Label 2009*/ GIMT_Encode4(93964), // Rule ID 3317 //
33111 /* 93924 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode),
33112 /* 93927 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_8),
33113 /* 93932 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
33114 /* 93935 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
33115 /* 93938 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
33116 /* 93941 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
33117 /* 93945 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
33118 /* 93949 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
33119 /* 93953 */ // (intrinsic_wo_chain:{ *:[i32] } 14826:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, GR8:{ *:[i8] }:$src2) => (CRC32r32r8_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR8:{ *:[i8] }:$src2)
33120 /* 93953 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32r8_EVEX),
33121 /* 93956 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33122 /* 93958 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33123 /* 93960 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33124 /* 93962 */ GIR_RootConstrainSelectedInstOperands,
33125 /* 93963 */ // GIR_Coverage, 3317,
33126 /* 93963 */ GIR_EraseRootFromParent_Done,
33127 /* 93964 */ // Label 2009: @93964
33128 /* 93964 */ GIM_Try, /*On fail goto*//*Label 2010*/ GIMT_Encode4(94009), // Rule ID 3319 //
33129 /* 93969 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode),
33130 /* 93972 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_16),
33131 /* 93977 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
33132 /* 93980 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
33133 /* 93983 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s16,
33134 /* 93986 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
33135 /* 93990 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
33136 /* 93994 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
33137 /* 93998 */ // (intrinsic_wo_chain:{ *:[i32] } 14824:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, GR16:{ *:[i16] }:$src2) => (CRC32r32r16_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR16:{ *:[i16] }:$src2)
33138 /* 93998 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32r16_EVEX),
33139 /* 94001 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33140 /* 94003 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33141 /* 94005 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33142 /* 94007 */ GIR_RootConstrainSelectedInstOperands,
33143 /* 94008 */ // GIR_Coverage, 3319,
33144 /* 94008 */ GIR_EraseRootFromParent_Done,
33145 /* 94009 */ // Label 2010: @94009
33146 /* 94009 */ GIM_Try, /*On fail goto*//*Label 2011*/ GIMT_Encode4(94054), // Rule ID 3321 //
33147 /* 94014 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode),
33148 /* 94017 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_32),
33149 /* 94022 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
33150 /* 94025 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
33151 /* 94028 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
33152 /* 94031 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
33153 /* 94035 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
33154 /* 94039 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
33155 /* 94043 */ // (intrinsic_wo_chain:{ *:[i32] } 14825:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (CRC32r32r32_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
33156 /* 94043 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32r32_EVEX),
33157 /* 94046 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33158 /* 94048 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33159 /* 94050 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33160 /* 94052 */ GIR_RootConstrainSelectedInstOperands,
33161 /* 94053 */ // GIR_Coverage, 3321,
33162 /* 94053 */ GIR_EraseRootFromParent_Done,
33163 /* 94054 */ // Label 2011: @94054
33164 /* 94054 */ GIM_Try, /*On fail goto*//*Label 2012*/ GIMT_Encode4(94099), // Rule ID 3323 //
33165 /* 94059 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode),
33166 /* 94062 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_64_64),
33167 /* 94067 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
33168 /* 94070 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
33169 /* 94073 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
33170 /* 94076 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
33171 /* 94080 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
33172 /* 94084 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
33173 /* 94088 */ // (intrinsic_wo_chain:{ *:[i64] } 14827:{ *:[iPTR] }, GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (CRC32r64r64_EVEX:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
33174 /* 94088 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r64r64_EVEX),
33175 /* 94091 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33176 /* 94093 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33177 /* 94095 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33178 /* 94097 */ GIR_RootConstrainSelectedInstOperands,
33179 /* 94098 */ // GIR_Coverage, 3323,
33180 /* 94098 */ GIR_EraseRootFromParent_Done,
33181 /* 94099 */ // Label 2012: @94099
33182 /* 94099 */ GIM_Try, /*On fail goto*//*Label 2013*/ GIMT_Encode4(94144), // Rule ID 3327 //
33183 /* 94104 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA),
33184 /* 94107 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha1nexte),
33185 /* 94112 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33186 /* 94115 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33187 /* 94118 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33188 /* 94121 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33189 /* 94125 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33190 /* 94129 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33191 /* 94133 */ // (intrinsic_wo_chain:{ *:[v4i32] } 14696:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (SHA1NEXTErr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
33192 /* 94133 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA1NEXTErr),
33193 /* 94136 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33194 /* 94138 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33195 /* 94140 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33196 /* 94142 */ GIR_RootConstrainSelectedInstOperands,
33197 /* 94143 */ // GIR_Coverage, 3327,
33198 /* 94143 */ GIR_EraseRootFromParent_Done,
33199 /* 94144 */ // Label 2013: @94144
33200 /* 94144 */ GIM_Try, /*On fail goto*//*Label 2014*/ GIMT_Encode4(94189), // Rule ID 3329 //
33201 /* 94149 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA),
33202 /* 94152 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha1msg1),
33203 /* 94157 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33204 /* 94160 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33205 /* 94163 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33206 /* 94166 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33207 /* 94170 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33208 /* 94174 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33209 /* 94178 */ // (intrinsic_wo_chain:{ *:[v4i32] } 14694:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (SHA1MSG1rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
33210 /* 94178 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA1MSG1rr),
33211 /* 94181 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33212 /* 94183 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33213 /* 94185 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33214 /* 94187 */ GIR_RootConstrainSelectedInstOperands,
33215 /* 94188 */ // GIR_Coverage, 3329,
33216 /* 94188 */ GIR_EraseRootFromParent_Done,
33217 /* 94189 */ // Label 2014: @94189
33218 /* 94189 */ GIM_Try, /*On fail goto*//*Label 2015*/ GIMT_Encode4(94234), // Rule ID 3331 //
33219 /* 94194 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA),
33220 /* 94197 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha1msg2),
33221 /* 94202 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33222 /* 94205 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33223 /* 94208 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33224 /* 94211 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33225 /* 94215 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33226 /* 94219 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33227 /* 94223 */ // (intrinsic_wo_chain:{ *:[v4i32] } 14695:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (SHA1MSG2rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
33228 /* 94223 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA1MSG2rr),
33229 /* 94226 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33230 /* 94228 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33231 /* 94230 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33232 /* 94232 */ GIR_RootConstrainSelectedInstOperands,
33233 /* 94233 */ // GIR_Coverage, 3331,
33234 /* 94233 */ GIR_EraseRootFromParent_Done,
33235 /* 94234 */ // Label 2015: @94234
33236 /* 94234 */ GIM_Try, /*On fail goto*//*Label 2016*/ GIMT_Encode4(94279), // Rule ID 3335 //
33237 /* 94239 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA),
33238 /* 94242 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha256msg1),
33239 /* 94247 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33240 /* 94250 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33241 /* 94253 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33242 /* 94256 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33243 /* 94260 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33244 /* 94264 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33245 /* 94268 */ // (intrinsic_wo_chain:{ *:[v4i32] } 14698:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (SHA256MSG1rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
33246 /* 94268 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA256MSG1rr),
33247 /* 94271 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33248 /* 94273 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33249 /* 94275 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33250 /* 94277 */ GIR_RootConstrainSelectedInstOperands,
33251 /* 94278 */ // GIR_Coverage, 3335,
33252 /* 94278 */ GIR_EraseRootFromParent_Done,
33253 /* 94279 */ // Label 2016: @94279
33254 /* 94279 */ GIM_Try, /*On fail goto*//*Label 2017*/ GIMT_Encode4(94324), // Rule ID 3337 //
33255 /* 94284 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA),
33256 /* 94287 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha256msg2),
33257 /* 94292 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33258 /* 94295 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33259 /* 94298 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33260 /* 94301 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33261 /* 94305 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33262 /* 94309 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33263 /* 94313 */ // (intrinsic_wo_chain:{ *:[v4i32] } 14699:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (SHA256MSG2rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
33264 /* 94313 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA256MSG2rr),
33265 /* 94316 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33266 /* 94318 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33267 /* 94320 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33268 /* 94322 */ GIR_RootConstrainSelectedInstOperands,
33269 /* 94323 */ // GIR_Coverage, 3337,
33270 /* 94323 */ GIR_EraseRootFromParent_Done,
33271 /* 94324 */ // Label 2017: @94324
33272 /* 94324 */ GIM_Try, /*On fail goto*//*Label 2018*/ GIMT_Encode4(94369), // Rule ID 3339 //
33273 /* 94329 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES),
33274 /* 94332 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc),
33275 /* 94337 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33276 /* 94340 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33277 /* 94343 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33278 /* 94346 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33279 /* 94350 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33280 /* 94354 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33281 /* 94358 */ // (intrinsic_wo_chain:{ *:[v2i64] } 13389:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VAESENCrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
33282 /* 94358 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCrr),
33283 /* 94361 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33284 /* 94363 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33285 /* 94365 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33286 /* 94367 */ GIR_RootConstrainSelectedInstOperands,
33287 /* 94368 */ // GIR_Coverage, 3339,
33288 /* 94368 */ GIR_EraseRootFromParent_Done,
33289 /* 94369 */ // Label 2018: @94369
33290 /* 94369 */ GIM_Try, /*On fail goto*//*Label 2019*/ GIMT_Encode4(94414), // Rule ID 3341 //
33291 /* 94374 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES),
33292 /* 94377 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast),
33293 /* 94382 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33294 /* 94385 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33295 /* 94388 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33296 /* 94391 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33297 /* 94395 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33298 /* 94399 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33299 /* 94403 */ // (intrinsic_wo_chain:{ *:[v2i64] } 13392:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VAESENCLASTrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
33300 /* 94403 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTrr),
33301 /* 94406 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33302 /* 94408 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33303 /* 94410 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33304 /* 94412 */ GIR_RootConstrainSelectedInstOperands,
33305 /* 94413 */ // GIR_Coverage, 3341,
33306 /* 94413 */ GIR_EraseRootFromParent_Done,
33307 /* 94414 */ // Label 2019: @94414
33308 /* 94414 */ GIM_Try, /*On fail goto*//*Label 2020*/ GIMT_Encode4(94459), // Rule ID 3343 //
33309 /* 94419 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES),
33310 /* 94422 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec),
33311 /* 94427 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33312 /* 94430 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33313 /* 94433 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33314 /* 94436 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33315 /* 94440 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33316 /* 94444 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33317 /* 94448 */ // (intrinsic_wo_chain:{ *:[v2i64] } 13383:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VAESDECrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
33318 /* 94448 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECrr),
33319 /* 94451 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33320 /* 94453 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33321 /* 94455 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33322 /* 94457 */ GIR_RootConstrainSelectedInstOperands,
33323 /* 94458 */ // GIR_Coverage, 3343,
33324 /* 94458 */ GIR_EraseRootFromParent_Done,
33325 /* 94459 */ // Label 2020: @94459
33326 /* 94459 */ GIM_Try, /*On fail goto*//*Label 2021*/ GIMT_Encode4(94504), // Rule ID 3345 //
33327 /* 94464 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES),
33328 /* 94467 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast),
33329 /* 94472 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33330 /* 94475 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33331 /* 94478 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33332 /* 94481 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33333 /* 94485 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33334 /* 94489 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33335 /* 94493 */ // (intrinsic_wo_chain:{ *:[v2i64] } 13386:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VAESDECLASTrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
33336 /* 94493 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTrr),
33337 /* 94496 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33338 /* 94498 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33339 /* 94500 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33340 /* 94502 */ GIR_RootConstrainSelectedInstOperands,
33341 /* 94503 */ // GIR_Coverage, 3345,
33342 /* 94503 */ GIR_EraseRootFromParent_Done,
33343 /* 94504 */ // Label 2021: @94504
33344 /* 94504 */ GIM_Try, /*On fail goto*//*Label 2022*/ GIMT_Encode4(94549), // Rule ID 3347 //
33345 /* 94509 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_NoVLX),
33346 /* 94512 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc_256),
33347 /* 94517 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
33348 /* 94520 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
33349 /* 94523 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
33350 /* 94526 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33351 /* 94530 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33352 /* 94534 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33353 /* 94538 */ // (intrinsic_wo_chain:{ *:[v4i64] } 13390:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VAESENCYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
33354 /* 94538 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCYrr),
33355 /* 94541 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33356 /* 94543 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33357 /* 94545 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33358 /* 94547 */ GIR_RootConstrainSelectedInstOperands,
33359 /* 94548 */ // GIR_Coverage, 3347,
33360 /* 94548 */ GIR_EraseRootFromParent_Done,
33361 /* 94549 */ // Label 2022: @94549
33362 /* 94549 */ GIM_Try, /*On fail goto*//*Label 2023*/ GIMT_Encode4(94594), // Rule ID 3349 //
33363 /* 94554 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_NoVLX),
33364 /* 94557 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast_256),
33365 /* 94562 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
33366 /* 94565 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
33367 /* 94568 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
33368 /* 94571 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33369 /* 94575 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33370 /* 94579 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33371 /* 94583 */ // (intrinsic_wo_chain:{ *:[v4i64] } 13393:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VAESENCLASTYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
33372 /* 94583 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTYrr),
33373 /* 94586 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33374 /* 94588 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33375 /* 94590 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33376 /* 94592 */ GIR_RootConstrainSelectedInstOperands,
33377 /* 94593 */ // GIR_Coverage, 3349,
33378 /* 94593 */ GIR_EraseRootFromParent_Done,
33379 /* 94594 */ // Label 2023: @94594
33380 /* 94594 */ GIM_Try, /*On fail goto*//*Label 2024*/ GIMT_Encode4(94639), // Rule ID 3351 //
33381 /* 94599 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_NoVLX),
33382 /* 94602 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec_256),
33383 /* 94607 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
33384 /* 94610 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
33385 /* 94613 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
33386 /* 94616 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33387 /* 94620 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33388 /* 94624 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33389 /* 94628 */ // (intrinsic_wo_chain:{ *:[v4i64] } 13384:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VAESDECYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
33390 /* 94628 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECYrr),
33391 /* 94631 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33392 /* 94633 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33393 /* 94635 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33394 /* 94637 */ GIR_RootConstrainSelectedInstOperands,
33395 /* 94638 */ // GIR_Coverage, 3351,
33396 /* 94638 */ GIR_EraseRootFromParent_Done,
33397 /* 94639 */ // Label 2024: @94639
33398 /* 94639 */ GIM_Try, /*On fail goto*//*Label 2025*/ GIMT_Encode4(94684), // Rule ID 3353 //
33399 /* 94644 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_NoVLX),
33400 /* 94647 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast_256),
33401 /* 94652 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
33402 /* 94655 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
33403 /* 94658 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
33404 /* 94661 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33405 /* 94665 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33406 /* 94669 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33407 /* 94673 */ // (intrinsic_wo_chain:{ *:[v4i64] } 13387:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VAESDECLASTYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
33408 /* 94673 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTYrr),
33409 /* 94676 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33410 /* 94678 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33411 /* 94680 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33412 /* 94682 */ GIR_RootConstrainSelectedInstOperands,
33413 /* 94683 */ // GIR_Coverage, 3353,
33414 /* 94683 */ GIR_EraseRootFromParent_Done,
33415 /* 94684 */ // Label 2025: @94684
33416 /* 94684 */ GIM_Try, /*On fail goto*//*Label 2026*/ GIMT_Encode4(94729), // Rule ID 3355 //
33417 /* 94689 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_NoAVX),
33418 /* 94692 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc),
33419 /* 94697 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33420 /* 94700 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33421 /* 94703 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33422 /* 94706 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33423 /* 94710 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33424 /* 94714 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33425 /* 94718 */ // (intrinsic_wo_chain:{ *:[v2i64] } 13389:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (AESENCrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
33426 /* 94718 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AESENCrr),
33427 /* 94721 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33428 /* 94723 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33429 /* 94725 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33430 /* 94727 */ GIR_RootConstrainSelectedInstOperands,
33431 /* 94728 */ // GIR_Coverage, 3355,
33432 /* 94728 */ GIR_EraseRootFromParent_Done,
33433 /* 94729 */ // Label 2026: @94729
33434 /* 94729 */ GIM_Try, /*On fail goto*//*Label 2027*/ GIMT_Encode4(94774), // Rule ID 3357 //
33435 /* 94734 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_NoAVX),
33436 /* 94737 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast),
33437 /* 94742 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33438 /* 94745 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33439 /* 94748 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33440 /* 94751 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33441 /* 94755 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33442 /* 94759 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33443 /* 94763 */ // (intrinsic_wo_chain:{ *:[v2i64] } 13392:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (AESENCLASTrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
33444 /* 94763 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AESENCLASTrr),
33445 /* 94766 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33446 /* 94768 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33447 /* 94770 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33448 /* 94772 */ GIR_RootConstrainSelectedInstOperands,
33449 /* 94773 */ // GIR_Coverage, 3357,
33450 /* 94773 */ GIR_EraseRootFromParent_Done,
33451 /* 94774 */ // Label 2027: @94774
33452 /* 94774 */ GIM_Try, /*On fail goto*//*Label 2028*/ GIMT_Encode4(94819), // Rule ID 3359 //
33453 /* 94779 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_NoAVX),
33454 /* 94782 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec),
33455 /* 94787 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33456 /* 94790 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33457 /* 94793 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33458 /* 94796 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33459 /* 94800 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33460 /* 94804 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33461 /* 94808 */ // (intrinsic_wo_chain:{ *:[v2i64] } 13383:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (AESDECrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
33462 /* 94808 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AESDECrr),
33463 /* 94811 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33464 /* 94813 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33465 /* 94815 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33466 /* 94817 */ GIR_RootConstrainSelectedInstOperands,
33467 /* 94818 */ // GIR_Coverage, 3359,
33468 /* 94818 */ GIR_EraseRootFromParent_Done,
33469 /* 94819 */ // Label 2028: @94819
33470 /* 94819 */ GIM_Try, /*On fail goto*//*Label 2029*/ GIMT_Encode4(94864), // Rule ID 3361 //
33471 /* 94824 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_NoAVX),
33472 /* 94827 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast),
33473 /* 94832 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33474 /* 94835 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33475 /* 94838 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33476 /* 94841 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33477 /* 94845 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33478 /* 94849 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33479 /* 94853 */ // (intrinsic_wo_chain:{ *:[v2i64] } 13386:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (AESDECLASTrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
33480 /* 94853 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AESDECLASTrr),
33481 /* 94856 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33482 /* 94858 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33483 /* 94860 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33484 /* 94862 */ GIR_RootConstrainSelectedInstOperands,
33485 /* 94863 */ // GIR_Coverage, 3361,
33486 /* 94863 */ GIR_EraseRootFromParent_Done,
33487 /* 94864 */ // Label 2029: @94864
33488 /* 94864 */ GIM_Try, /*On fail goto*//*Label 2030*/ GIMT_Encode4(94909), // Rule ID 3378 //
33489 /* 94869 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE4A),
33490 /* 94872 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse4a_extrq),
33491 /* 94877 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33492 /* 94880 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33493 /* 94883 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
33494 /* 94886 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33495 /* 94890 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33496 /* 94894 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33497 /* 94898 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14842:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src, VR128:{ *:[v16i8] }:$mask) => (EXTRQ:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src, VR128:{ *:[v16i8] }:$mask)
33498 /* 94898 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::EXTRQ),
33499 /* 94901 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33500 /* 94903 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
33501 /* 94905 */ GIR_RootToRootCopy, /*OpIdx*/3, // mask
33502 /* 94907 */ GIR_RootConstrainSelectedInstOperands,
33503 /* 94908 */ // GIR_Coverage, 3378,
33504 /* 94908 */ GIR_EraseRootFromParent_Done,
33505 /* 94909 */ // Label 2030: @94909
33506 /* 94909 */ GIM_Try, /*On fail goto*//*Label 2031*/ GIMT_Encode4(94954), // Rule ID 3380 //
33507 /* 94914 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE4A),
33508 /* 94917 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse4a_insertq),
33509 /* 94922 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33510 /* 94925 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33511 /* 94928 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33512 /* 94931 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33513 /* 94935 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33514 /* 94939 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33515 /* 94943 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14844:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src, VR128:{ *:[v2i64] }:$mask) => (INSERTQ:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src, VR128:{ *:[v2i64] }:$mask)
33516 /* 94943 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INSERTQ),
33517 /* 94946 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33518 /* 94948 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
33519 /* 94950 */ GIR_RootToRootCopy, /*OpIdx*/3, // mask
33520 /* 94952 */ GIR_RootConstrainSelectedInstOperands,
33521 /* 94953 */ // GIR_Coverage, 3380,
33522 /* 94953 */ GIR_EraseRootFromParent_Done,
33523 /* 94954 */ // Label 2031: @94954
33524 /* 94954 */ GIM_Try, /*On fail goto*//*Label 2032*/ GIMT_Encode4(94999), // Rule ID 3555 //
33525 /* 94959 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA512),
33526 /* 94962 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsha512msg1),
33527 /* 94967 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
33528 /* 94970 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
33529 /* 94973 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33530 /* 94976 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33531 /* 94980 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33532 /* 94984 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33533 /* 94988 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14993:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VSHA512MSG1rr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
33534 /* 94988 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSHA512MSG1rr),
33535 /* 94991 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33536 /* 94993 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33537 /* 94995 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33538 /* 94997 */ GIR_RootConstrainSelectedInstOperands,
33539 /* 94998 */ // GIR_Coverage, 3555,
33540 /* 94998 */ GIR_EraseRootFromParent_Done,
33541 /* 94999 */ // Label 2032: @94999
33542 /* 94999 */ GIM_Try, /*On fail goto*//*Label 2033*/ GIMT_Encode4(95044), // Rule ID 3556 //
33543 /* 95004 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA512),
33544 /* 95007 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsha512msg2),
33545 /* 95012 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
33546 /* 95015 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
33547 /* 95018 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
33548 /* 95021 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33549 /* 95025 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33550 /* 95029 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33551 /* 95033 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14994:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VSHA512MSG2rr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
33552 /* 95033 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSHA512MSG2rr),
33553 /* 95036 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33554 /* 95038 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33555 /* 95040 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33556 /* 95042 */ GIR_RootConstrainSelectedInstOperands,
33557 /* 95043 */ // GIR_Coverage, 3556,
33558 /* 95043 */ GIR_EraseRootFromParent_Done,
33559 /* 95044 */ // Label 2033: @95044
33560 /* 95044 */ GIM_Try, /*On fail goto*//*Label 2034*/ GIMT_Encode4(95089), // Rule ID 3564 //
33561 /* 95049 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM4),
33562 /* 95052 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4128),
33563 /* 95057 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33564 /* 95060 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33565 /* 95063 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33566 /* 95066 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33567 /* 95070 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33568 /* 95074 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33569 /* 95078 */ // (intrinsic_wo_chain:{ *:[v4i32] } 14999:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VSM4KEY4rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
33570 /* 95078 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4rr),
33571 /* 95081 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33572 /* 95083 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33573 /* 95085 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33574 /* 95087 */ GIR_RootConstrainSelectedInstOperands,
33575 /* 95088 */ // GIR_Coverage, 3564,
33576 /* 95088 */ GIR_EraseRootFromParent_Done,
33577 /* 95089 */ // Label 2034: @95089
33578 /* 95089 */ GIM_Try, /*On fail goto*//*Label 2035*/ GIMT_Encode4(95134), // Rule ID 3566 //
33579 /* 95094 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM4),
33580 /* 95097 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4256),
33581 /* 95102 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
33582 /* 95105 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
33583 /* 95108 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
33584 /* 95111 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33585 /* 95115 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33586 /* 95119 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33587 /* 95123 */ // (intrinsic_wo_chain:{ *:[v8i32] } 15000:{ *:[iPTR] }, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VSM4KEY4Yrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
33588 /* 95123 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Yrr),
33589 /* 95126 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33590 /* 95128 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33591 /* 95130 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33592 /* 95132 */ GIR_RootConstrainSelectedInstOperands,
33593 /* 95133 */ // GIR_Coverage, 3566,
33594 /* 95133 */ GIR_EraseRootFromParent_Done,
33595 /* 95134 */ // Label 2035: @95134
33596 /* 95134 */ GIM_Try, /*On fail goto*//*Label 2036*/ GIMT_Encode4(95179), // Rule ID 3568 //
33597 /* 95139 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM4),
33598 /* 95142 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4128),
33599 /* 95147 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33600 /* 95150 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33601 /* 95153 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33602 /* 95156 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33603 /* 95160 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33604 /* 95164 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33605 /* 95168 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15002:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VSM4RNDS4rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
33606 /* 95168 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4rr),
33607 /* 95171 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33608 /* 95173 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33609 /* 95175 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33610 /* 95177 */ GIR_RootConstrainSelectedInstOperands,
33611 /* 95178 */ // GIR_Coverage, 3568,
33612 /* 95178 */ GIR_EraseRootFromParent_Done,
33613 /* 95179 */ // Label 2036: @95179
33614 /* 95179 */ GIM_Try, /*On fail goto*//*Label 2037*/ GIMT_Encode4(95224), // Rule ID 3570 //
33615 /* 95184 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM4),
33616 /* 95187 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4256),
33617 /* 95192 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
33618 /* 95195 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
33619 /* 95198 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
33620 /* 95201 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33621 /* 95205 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33622 /* 95209 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33623 /* 95213 */ // (intrinsic_wo_chain:{ *:[v8i32] } 15003:{ *:[iPTR] }, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VSM4RNDS4Yrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
33624 /* 95213 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Yrr),
33625 /* 95216 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33626 /* 95218 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33627 /* 95220 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33628 /* 95222 */ GIR_RootConstrainSelectedInstOperands,
33629 /* 95223 */ // GIR_Coverage, 3570,
33630 /* 95223 */ GIR_EraseRootFromParent_Done,
33631 /* 95224 */ // Label 2037: @95224
33632 /* 95224 */ GIM_Try, /*On fail goto*//*Label 2038*/ GIMT_Encode4(95269), // Rule ID 14060 //
33633 /* 95229 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
33634 /* 95232 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc),
33635 /* 95237 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33636 /* 95240 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33637 /* 95243 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33638 /* 95246 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33639 /* 95250 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33640 /* 95254 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33641 /* 95258 */ // (intrinsic_wo_chain:{ *:[v2i64] } 13389:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VAESENCZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
33642 /* 95258 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCZ128rr),
33643 /* 95261 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33644 /* 95263 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33645 /* 95265 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33646 /* 95267 */ GIR_RootConstrainSelectedInstOperands,
33647 /* 95268 */ // GIR_Coverage, 14060,
33648 /* 95268 */ GIR_EraseRootFromParent_Done,
33649 /* 95269 */ // Label 2038: @95269
33650 /* 95269 */ GIM_Try, /*On fail goto*//*Label 2039*/ GIMT_Encode4(95314), // Rule ID 14062 //
33651 /* 95274 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
33652 /* 95277 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc_256),
33653 /* 95282 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
33654 /* 95285 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
33655 /* 95288 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
33656 /* 95291 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33657 /* 95295 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33658 /* 95299 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33659 /* 95303 */ // (intrinsic_wo_chain:{ *:[v4i64] } 13390:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VAESENCZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
33660 /* 95303 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCZ256rr),
33661 /* 95306 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33662 /* 95308 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33663 /* 95310 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33664 /* 95312 */ GIR_RootConstrainSelectedInstOperands,
33665 /* 95313 */ // GIR_Coverage, 14062,
33666 /* 95313 */ GIR_EraseRootFromParent_Done,
33667 /* 95314 */ // Label 2039: @95314
33668 /* 95314 */ GIM_Try, /*On fail goto*//*Label 2040*/ GIMT_Encode4(95359), // Rule ID 14064 //
33669 /* 95319 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVAES),
33670 /* 95322 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc_512),
33671 /* 95327 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
33672 /* 95330 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
33673 /* 95333 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
33674 /* 95336 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33675 /* 95340 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33676 /* 95344 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33677 /* 95348 */ // (intrinsic_wo_chain:{ *:[v8i64] } 13391:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VAESENCZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
33678 /* 95348 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCZrr),
33679 /* 95351 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33680 /* 95353 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33681 /* 95355 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33682 /* 95357 */ GIR_RootConstrainSelectedInstOperands,
33683 /* 95358 */ // GIR_Coverage, 14064,
33684 /* 95358 */ GIR_EraseRootFromParent_Done,
33685 /* 95359 */ // Label 2040: @95359
33686 /* 95359 */ GIM_Try, /*On fail goto*//*Label 2041*/ GIMT_Encode4(95404), // Rule ID 14066 //
33687 /* 95364 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
33688 /* 95367 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast),
33689 /* 95372 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33690 /* 95375 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33691 /* 95378 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33692 /* 95381 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33693 /* 95385 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33694 /* 95389 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33695 /* 95393 */ // (intrinsic_wo_chain:{ *:[v2i64] } 13392:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VAESENCLASTZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
33696 /* 95393 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTZ128rr),
33697 /* 95396 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33698 /* 95398 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33699 /* 95400 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33700 /* 95402 */ GIR_RootConstrainSelectedInstOperands,
33701 /* 95403 */ // GIR_Coverage, 14066,
33702 /* 95403 */ GIR_EraseRootFromParent_Done,
33703 /* 95404 */ // Label 2041: @95404
33704 /* 95404 */ GIM_Try, /*On fail goto*//*Label 2042*/ GIMT_Encode4(95449), // Rule ID 14068 //
33705 /* 95409 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
33706 /* 95412 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast_256),
33707 /* 95417 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
33708 /* 95420 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
33709 /* 95423 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
33710 /* 95426 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33711 /* 95430 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33712 /* 95434 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33713 /* 95438 */ // (intrinsic_wo_chain:{ *:[v4i64] } 13393:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VAESENCLASTZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
33714 /* 95438 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTZ256rr),
33715 /* 95441 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33716 /* 95443 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33717 /* 95445 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33718 /* 95447 */ GIR_RootConstrainSelectedInstOperands,
33719 /* 95448 */ // GIR_Coverage, 14068,
33720 /* 95448 */ GIR_EraseRootFromParent_Done,
33721 /* 95449 */ // Label 2042: @95449
33722 /* 95449 */ GIM_Try, /*On fail goto*//*Label 2043*/ GIMT_Encode4(95494), // Rule ID 14070 //
33723 /* 95454 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVAES),
33724 /* 95457 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast_512),
33725 /* 95462 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
33726 /* 95465 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
33727 /* 95468 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
33728 /* 95471 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33729 /* 95475 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33730 /* 95479 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33731 /* 95483 */ // (intrinsic_wo_chain:{ *:[v8i64] } 13394:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VAESENCLASTZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
33732 /* 95483 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTZrr),
33733 /* 95486 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33734 /* 95488 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33735 /* 95490 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33736 /* 95492 */ GIR_RootConstrainSelectedInstOperands,
33737 /* 95493 */ // GIR_Coverage, 14070,
33738 /* 95493 */ GIR_EraseRootFromParent_Done,
33739 /* 95494 */ // Label 2043: @95494
33740 /* 95494 */ GIM_Try, /*On fail goto*//*Label 2044*/ GIMT_Encode4(95539), // Rule ID 14072 //
33741 /* 95499 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
33742 /* 95502 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec),
33743 /* 95507 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33744 /* 95510 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33745 /* 95513 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33746 /* 95516 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33747 /* 95520 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33748 /* 95524 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33749 /* 95528 */ // (intrinsic_wo_chain:{ *:[v2i64] } 13383:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VAESDECZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
33750 /* 95528 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECZ128rr),
33751 /* 95531 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33752 /* 95533 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33753 /* 95535 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33754 /* 95537 */ GIR_RootConstrainSelectedInstOperands,
33755 /* 95538 */ // GIR_Coverage, 14072,
33756 /* 95538 */ GIR_EraseRootFromParent_Done,
33757 /* 95539 */ // Label 2044: @95539
33758 /* 95539 */ GIM_Try, /*On fail goto*//*Label 2045*/ GIMT_Encode4(95584), // Rule ID 14074 //
33759 /* 95544 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
33760 /* 95547 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec_256),
33761 /* 95552 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
33762 /* 95555 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
33763 /* 95558 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
33764 /* 95561 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33765 /* 95565 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33766 /* 95569 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33767 /* 95573 */ // (intrinsic_wo_chain:{ *:[v4i64] } 13384:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VAESDECZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
33768 /* 95573 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECZ256rr),
33769 /* 95576 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33770 /* 95578 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33771 /* 95580 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33772 /* 95582 */ GIR_RootConstrainSelectedInstOperands,
33773 /* 95583 */ // GIR_Coverage, 14074,
33774 /* 95583 */ GIR_EraseRootFromParent_Done,
33775 /* 95584 */ // Label 2045: @95584
33776 /* 95584 */ GIM_Try, /*On fail goto*//*Label 2046*/ GIMT_Encode4(95629), // Rule ID 14076 //
33777 /* 95589 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVAES),
33778 /* 95592 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec_512),
33779 /* 95597 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
33780 /* 95600 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
33781 /* 95603 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
33782 /* 95606 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33783 /* 95610 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33784 /* 95614 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33785 /* 95618 */ // (intrinsic_wo_chain:{ *:[v8i64] } 13385:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VAESDECZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
33786 /* 95618 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECZrr),
33787 /* 95621 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33788 /* 95623 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33789 /* 95625 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33790 /* 95627 */ GIR_RootConstrainSelectedInstOperands,
33791 /* 95628 */ // GIR_Coverage, 14076,
33792 /* 95628 */ GIR_EraseRootFromParent_Done,
33793 /* 95629 */ // Label 2046: @95629
33794 /* 95629 */ GIM_Try, /*On fail goto*//*Label 2047*/ GIMT_Encode4(95674), // Rule ID 14078 //
33795 /* 95634 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
33796 /* 95637 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast),
33797 /* 95642 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33798 /* 95645 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33799 /* 95648 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33800 /* 95651 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33801 /* 95655 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33802 /* 95659 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33803 /* 95663 */ // (intrinsic_wo_chain:{ *:[v2i64] } 13386:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VAESDECLASTZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
33804 /* 95663 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTZ128rr),
33805 /* 95666 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33806 /* 95668 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33807 /* 95670 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33808 /* 95672 */ GIR_RootConstrainSelectedInstOperands,
33809 /* 95673 */ // GIR_Coverage, 14078,
33810 /* 95673 */ GIR_EraseRootFromParent_Done,
33811 /* 95674 */ // Label 2047: @95674
33812 /* 95674 */ GIM_Try, /*On fail goto*//*Label 2048*/ GIMT_Encode4(95719), // Rule ID 14080 //
33813 /* 95679 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
33814 /* 95682 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast_256),
33815 /* 95687 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
33816 /* 95690 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
33817 /* 95693 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
33818 /* 95696 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33819 /* 95700 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33820 /* 95704 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33821 /* 95708 */ // (intrinsic_wo_chain:{ *:[v4i64] } 13387:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VAESDECLASTZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
33822 /* 95708 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTZ256rr),
33823 /* 95711 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33824 /* 95713 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33825 /* 95715 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33826 /* 95717 */ GIR_RootConstrainSelectedInstOperands,
33827 /* 95718 */ // GIR_Coverage, 14080,
33828 /* 95718 */ GIR_EraseRootFromParent_Done,
33829 /* 95719 */ // Label 2048: @95719
33830 /* 95719 */ GIM_Try, /*On fail goto*//*Label 2049*/ GIMT_Encode4(95764), // Rule ID 14082 //
33831 /* 95724 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVAES),
33832 /* 95727 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast_512),
33833 /* 95732 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
33834 /* 95735 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
33835 /* 95738 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
33836 /* 95741 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33837 /* 95745 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33838 /* 95749 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33839 /* 95753 */ // (intrinsic_wo_chain:{ *:[v8i64] } 13388:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VAESDECLASTZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
33840 /* 95753 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTZrr),
33841 /* 95756 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33842 /* 95758 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33843 /* 95760 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33844 /* 95762 */ GIR_RootConstrainSelectedInstOperands,
33845 /* 95763 */ // GIR_Coverage, 14082,
33846 /* 95763 */ GIR_EraseRootFromParent_Done,
33847 /* 95764 */ // Label 2049: @95764
33848 /* 95764 */ GIM_Try, /*On fail goto*//*Label 2050*/ GIMT_Encode4(95809), // Rule ID 16793 //
33849 /* 95769 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_512_HasSM4),
33850 /* 95772 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4512),
33851 /* 95777 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
33852 /* 95780 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
33853 /* 95783 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
33854 /* 95786 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33855 /* 95790 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33856 /* 95794 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33857 /* 95798 */ // (intrinsic_wo_chain:{ *:[v16i32] } 15001:{ *:[iPTR] }, VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VSM4KEY4Zrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
33858 /* 95798 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Zrr),
33859 /* 95801 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33860 /* 95803 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33861 /* 95805 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33862 /* 95807 */ GIR_RootConstrainSelectedInstOperands,
33863 /* 95808 */ // GIR_Coverage, 16793,
33864 /* 95808 */ GIR_EraseRootFromParent_Done,
33865 /* 95809 */ // Label 2050: @95809
33866 /* 95809 */ GIM_Try, /*On fail goto*//*Label 2051*/ GIMT_Encode4(95854), // Rule ID 16799 //
33867 /* 95814 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_512_HasSM4),
33868 /* 95817 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4512),
33869 /* 95822 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
33870 /* 95825 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
33871 /* 95828 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
33872 /* 95831 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33873 /* 95835 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33874 /* 95839 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33875 /* 95843 */ // (intrinsic_wo_chain:{ *:[v16i32] } 15004:{ *:[iPTR] }, VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VSM4RNDS4Zrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
33876 /* 95843 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Zrr),
33877 /* 95846 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33878 /* 95848 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33879 /* 95850 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33880 /* 95852 */ GIR_RootConstrainSelectedInstOperands,
33881 /* 95853 */ // GIR_Coverage, 16799,
33882 /* 95853 */ GIR_EraseRootFromParent_Done,
33883 /* 95854 */ // Label 2051: @95854
33884 /* 95854 */ GIM_Reject,
33885 /* 95855 */ // Label 1934: @95855
33886 /* 95855 */ GIM_Try, /*On fail goto*//*Label 2052*/ GIMT_Encode4(100441),
33887 /* 95860 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/5,
33888 /* 95863 */ GIM_Try, /*On fail goto*//*Label 2053*/ GIMT_Encode4(95944), // Rule ID 23534 //
33889 /* 95868 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
33890 /* 95871 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dpps),
33891 /* 95876 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33892 /* 95879 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33893 /* 95882 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33894 /* 95885 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33895 /* 95889 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33896 /* 95893 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33897 /* 95897 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33898 /* 95900 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33899 /* 95904 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33900 /* 95908 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33901 /* 95912 */ // MIs[0] src3
33902 /* 95912 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
33903 /* 95915 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33904 /* 95917 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33905 /* 95924 */ // (intrinsic_wo_chain:{ *:[v4f32] } 14811:{ *:[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)
33906 /* 95924 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPSrmi),
33907 /* 95927 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33908 /* 95929 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33909 /* 95931 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33910 /* 95935 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33911 /* 95937 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33912 /* 95942 */ GIR_RootConstrainSelectedInstOperands,
33913 /* 95943 */ // GIR_Coverage, 23534,
33914 /* 95943 */ GIR_EraseRootFromParent_Done,
33915 /* 95944 */ // Label 2053: @95944
33916 /* 95944 */ GIM_Try, /*On fail goto*//*Label 2054*/ GIMT_Encode4(96025), // Rule ID 23535 //
33917 /* 95949 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
33918 /* 95952 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dppd),
33919 /* 95957 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33920 /* 95960 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33921 /* 95963 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33922 /* 95966 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33923 /* 95970 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33924 /* 95974 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33925 /* 95978 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33926 /* 95981 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33927 /* 95985 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33928 /* 95989 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33929 /* 95993 */ // MIs[0] src3
33930 /* 95993 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
33931 /* 95996 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33932 /* 95998 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33933 /* 96005 */ // (intrinsic_wo_chain:{ *:[v2f64] } 14810:{ *:[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)
33934 /* 96005 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPDrmi),
33935 /* 96008 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33936 /* 96010 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33937 /* 96012 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33938 /* 96016 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33939 /* 96018 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33940 /* 96023 */ GIR_RootConstrainSelectedInstOperands,
33941 /* 96024 */ // GIR_Coverage, 23535,
33942 /* 96024 */ GIR_EraseRootFromParent_Done,
33943 /* 96025 */ // Label 2054: @96025
33944 /* 96025 */ GIM_Try, /*On fail goto*//*Label 2055*/ GIMT_Encode4(96106), // Rule ID 23536 //
33945 /* 96030 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
33946 /* 96033 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_dp_ps_256),
33947 /* 96038 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
33948 /* 96041 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
33949 /* 96044 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
33950 /* 96047 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33951 /* 96051 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33952 /* 96055 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33953 /* 96059 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33954 /* 96062 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33955 /* 96066 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33956 /* 96070 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33957 /* 96074 */ // MIs[0] src3
33958 /* 96074 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
33959 /* 96077 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33960 /* 96079 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33961 /* 96086 */ // (intrinsic_wo_chain:{ *:[v8f32] } 13421:{ *:[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)
33962 /* 96086 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPSYrmi),
33963 /* 96089 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33964 /* 96091 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33965 /* 96093 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33966 /* 96097 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33967 /* 96099 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33968 /* 96104 */ GIR_RootConstrainSelectedInstOperands,
33969 /* 96105 */ // GIR_Coverage, 23536,
33970 /* 96105 */ GIR_EraseRootFromParent_Done,
33971 /* 96106 */ // Label 2055: @96106
33972 /* 96106 */ GIM_Try, /*On fail goto*//*Label 2056*/ GIMT_Encode4(96187), // Rule ID 3254 //
33973 /* 96111 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
33974 /* 96114 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dpps),
33975 /* 96119 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33976 /* 96122 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33977 /* 96125 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33978 /* 96128 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33979 /* 96132 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33980 /* 96136 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33981 /* 96140 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33982 /* 96144 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33983 /* 96147 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33984 /* 96151 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33985 /* 96155 */ // MIs[0] src3
33986 /* 96155 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
33987 /* 96158 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33988 /* 96160 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33989 /* 96167 */ // (intrinsic_wo_chain:{ *:[v4f32] } 14811:{ *:[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)
33990 /* 96167 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPSrmi),
33991 /* 96170 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33992 /* 96172 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33993 /* 96174 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33994 /* 96178 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33995 /* 96180 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33996 /* 96185 */ GIR_RootConstrainSelectedInstOperands,
33997 /* 96186 */ // GIR_Coverage, 3254,
33998 /* 96186 */ GIR_EraseRootFromParent_Done,
33999 /* 96187 */ // Label 2056: @96187
34000 /* 96187 */ GIM_Try, /*On fail goto*//*Label 2057*/ GIMT_Encode4(96268), // Rule ID 3256 //
34001 /* 96192 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
34002 /* 96195 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dppd),
34003 /* 96200 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34004 /* 96203 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
34005 /* 96206 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
34006 /* 96209 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34007 /* 96213 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34008 /* 96217 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34009 /* 96221 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34010 /* 96225 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34011 /* 96228 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34012 /* 96232 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34013 /* 96236 */ // MIs[0] src3
34014 /* 96236 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
34015 /* 96239 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34016 /* 96241 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34017 /* 96248 */ // (intrinsic_wo_chain:{ *:[v2f64] } 14810:{ *:[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)
34018 /* 96248 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPDrmi),
34019 /* 96251 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34020 /* 96253 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34021 /* 96255 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34022 /* 96259 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34023 /* 96261 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34024 /* 96266 */ GIR_RootConstrainSelectedInstOperands,
34025 /* 96267 */ // GIR_Coverage, 3256,
34026 /* 96267 */ GIR_EraseRootFromParent_Done,
34027 /* 96268 */ // Label 2057: @96268
34028 /* 96268 */ GIM_Try, /*On fail goto*//*Label 2058*/ GIMT_Encode4(96349), // Rule ID 3258 //
34029 /* 96273 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
34030 /* 96276 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_dp_ps_256),
34031 /* 96281 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
34032 /* 96284 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
34033 /* 96287 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
34034 /* 96290 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
34035 /* 96294 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
34036 /* 96298 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34037 /* 96302 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34038 /* 96306 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34039 /* 96309 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34040 /* 96313 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34041 /* 96317 */ // MIs[0] src3
34042 /* 96317 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
34043 /* 96320 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34044 /* 96322 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34045 /* 96329 */ // (intrinsic_wo_chain:{ *:[v8f32] } 13421:{ *:[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)
34046 /* 96329 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPSYrmi),
34047 /* 96332 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34048 /* 96334 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34049 /* 96336 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34050 /* 96340 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34051 /* 96342 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34052 /* 96347 */ GIR_RootConstrainSelectedInstOperands,
34053 /* 96348 */ // GIR_Coverage, 3258,
34054 /* 96348 */ GIR_EraseRootFromParent_Done,
34055 /* 96349 */ // Label 2058: @96349
34056 /* 96349 */ GIM_Try, /*On fail goto*//*Label 2059*/ GIMT_Encode4(96430), // Rule ID 3374 //
34057 /* 96354 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_HasPCLMUL_NoVLX_Or_NoVPCLMULQDQ),
34058 /* 96357 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_pclmulqdq),
34059 /* 96362 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34060 /* 96365 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
34061 /* 96368 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
34062 /* 96371 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34063 /* 96375 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34064 /* 96379 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34065 /* 96383 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34066 /* 96387 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34067 /* 96390 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34068 /* 96394 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34069 /* 96398 */ // MIs[0] src3
34070 /* 96398 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
34071 /* 96401 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34072 /* 96403 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34073 /* 96410 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14662:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (timm:{ *:[i8] }):$src3) => (VPCLMULQDQrmi:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2, (timm:{ *:[i8] }):$src3)
34074 /* 96410 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCLMULQDQrmi),
34075 /* 96413 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34076 /* 96415 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34077 /* 96417 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34078 /* 96421 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34079 /* 96423 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34080 /* 96428 */ GIR_RootConstrainSelectedInstOperands,
34081 /* 96429 */ // GIR_Coverage, 3374,
34082 /* 96429 */ GIR_EraseRootFromParent_Done,
34083 /* 96430 */ // Label 2059: @96430
34084 /* 96430 */ GIM_Try, /*On fail goto*//*Label 2060*/ GIMT_Encode4(96511), // Rule ID 3376 //
34085 /* 96435 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVPCLMULQDQ_NoVLX),
34086 /* 96438 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_pclmulqdq_256),
34087 /* 96443 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
34088 /* 96446 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
34089 /* 96449 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
34090 /* 96452 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
34091 /* 96456 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
34092 /* 96460 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34093 /* 96464 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34094 /* 96468 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34095 /* 96471 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34096 /* 96475 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34097 /* 96479 */ // MIs[0] src3
34098 /* 96479 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
34099 /* 96482 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34100 /* 96484 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34101 /* 96491 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14663:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (timm:{ *:[i8] }):$src3) => (VPCLMULQDQYrmi:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2, (timm:{ *:[i8] }):$src3)
34102 /* 96491 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCLMULQDQYrmi),
34103 /* 96494 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34104 /* 96496 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34105 /* 96498 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34106 /* 96502 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34107 /* 96504 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34108 /* 96509 */ GIR_RootConstrainSelectedInstOperands,
34109 /* 96510 */ // GIR_Coverage, 3376,
34110 /* 96510 */ GIR_EraseRootFromParent_Done,
34111 /* 96511 */ // Label 2060: @96511
34112 /* 96511 */ GIM_Try, /*On fail goto*//*Label 2061*/ GIMT_Encode4(96592), // Rule ID 14085 //
34113 /* 96516 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVPCLMULQDQ),
34114 /* 96519 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_pclmulqdq_512),
34115 /* 96524 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
34116 /* 96527 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
34117 /* 96530 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
34118 /* 96533 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
34119 /* 96537 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
34120 /* 96541 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34121 /* 96545 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34122 /* 96549 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34123 /* 96552 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34124 /* 96556 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34125 /* 96560 */ // MIs[0] src3
34126 /* 96560 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
34127 /* 96563 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34128 /* 96565 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34129 /* 96572 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14664:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (timm:{ *:[i8] }):$src3) => (VPCLMULQDQZrmi:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2, (timm:{ *:[i8] }):$src3)
34130 /* 96572 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCLMULQDQZrmi),
34131 /* 96575 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34132 /* 96577 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34133 /* 96579 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34134 /* 96583 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34135 /* 96585 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34136 /* 96590 */ GIR_RootConstrainSelectedInstOperands,
34137 /* 96591 */ // GIR_Coverage, 14085,
34138 /* 96591 */ GIR_EraseRootFromParent_Done,
34139 /* 96592 */ // Label 2061: @96592
34140 /* 96592 */ GIM_Try, /*On fail goto*//*Label 2062*/ GIMT_Encode4(96673), // Rule ID 14087 //
34141 /* 96597 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX_HasVPCLMULQDQ),
34142 /* 96600 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_pclmulqdq),
34143 /* 96605 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34144 /* 96608 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
34145 /* 96611 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
34146 /* 96614 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
34147 /* 96618 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
34148 /* 96622 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34149 /* 96626 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34150 /* 96630 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34151 /* 96633 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34152 /* 96637 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34153 /* 96641 */ // MIs[0] src3
34154 /* 96641 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
34155 /* 96644 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34156 /* 96646 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34157 /* 96653 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14662:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (timm:{ *:[i8] }):$src3) => (VPCLMULQDQZ128rmi:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2, (timm:{ *:[i8] }):$src3)
34158 /* 96653 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCLMULQDQZ128rmi),
34159 /* 96656 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34160 /* 96658 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34161 /* 96660 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34162 /* 96664 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34163 /* 96666 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34164 /* 96671 */ GIR_RootConstrainSelectedInstOperands,
34165 /* 96672 */ // GIR_Coverage, 14087,
34166 /* 96672 */ GIR_EraseRootFromParent_Done,
34167 /* 96673 */ // Label 2062: @96673
34168 /* 96673 */ GIM_Try, /*On fail goto*//*Label 2063*/ GIMT_Encode4(96754), // Rule ID 14089 //
34169 /* 96678 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX_HasVPCLMULQDQ),
34170 /* 96681 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_pclmulqdq_256),
34171 /* 96686 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
34172 /* 96689 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
34173 /* 96692 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
34174 /* 96695 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
34175 /* 96699 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
34176 /* 96703 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34177 /* 96707 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34178 /* 96711 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34179 /* 96714 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34180 /* 96718 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34181 /* 96722 */ // MIs[0] src3
34182 /* 96722 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
34183 /* 96725 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34184 /* 96727 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34185 /* 96734 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14663:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (timm:{ *:[i8] }):$src3) => (VPCLMULQDQZ256rmi:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2, (timm:{ *:[i8] }):$src3)
34186 /* 96734 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCLMULQDQZ256rmi),
34187 /* 96737 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34188 /* 96739 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34189 /* 96741 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34190 /* 96745 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34191 /* 96747 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34192 /* 96752 */ GIR_RootConstrainSelectedInstOperands,
34193 /* 96753 */ // GIR_Coverage, 14089,
34194 /* 96753 */ GIR_EraseRootFromParent_Done,
34195 /* 96754 */ // Label 2063: @96754
34196 /* 96754 */ GIM_Try, /*On fail goto*//*Label 2064*/ GIMT_Encode4(96839), // Rule ID 23336 //
34197 /* 96759 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34198 /* 96762 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmadcswd),
34199 /* 96767 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34200 /* 96770 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34201 /* 96773 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34202 /* 96776 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34203 /* 96779 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34204 /* 96783 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
34205 /* 96787 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34206 /* 96791 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34207 /* 96794 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34208 /* 96798 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34209 /* 96802 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34210 /* 96806 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34211 /* 96810 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34212 /* 96812 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34213 /* 96819 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15056:{ *:[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)
34214 /* 96819 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMADCSWDrm),
34215 /* 96822 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34216 /* 96824 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
34217 /* 96826 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34218 /* 96830 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34219 /* 96832 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34220 /* 96837 */ GIR_RootConstrainSelectedInstOperands,
34221 /* 96838 */ // GIR_Coverage, 23336,
34222 /* 96838 */ GIR_EraseRootFromParent_Done,
34223 /* 96839 */ // Label 2064: @96839
34224 /* 96839 */ GIM_Try, /*On fail goto*//*Label 2065*/ GIMT_Encode4(96924), // Rule ID 23337 //
34225 /* 96844 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34226 /* 96847 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmadcsswd),
34227 /* 96852 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34228 /* 96855 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34229 /* 96858 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34230 /* 96861 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34231 /* 96864 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34232 /* 96868 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
34233 /* 96872 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34234 /* 96876 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34235 /* 96879 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34236 /* 96883 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34237 /* 96887 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34238 /* 96891 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34239 /* 96895 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34240 /* 96897 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34241 /* 96904 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15055:{ *:[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)
34242 /* 96904 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMADCSSWDrm),
34243 /* 96907 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34244 /* 96909 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
34245 /* 96911 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34246 /* 96915 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34247 /* 96917 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34248 /* 96922 */ GIR_RootConstrainSelectedInstOperands,
34249 /* 96923 */ // GIR_Coverage, 23337,
34250 /* 96923 */ GIR_EraseRootFromParent_Done,
34251 /* 96924 */ // Label 2065: @96924
34252 /* 96924 */ GIM_Try, /*On fail goto*//*Label 2066*/ GIMT_Encode4(97009), // Rule ID 23338 //
34253 /* 96929 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34254 /* 96932 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsww),
34255 /* 96937 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
34256 /* 96940 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34257 /* 96943 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34258 /* 96946 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
34259 /* 96949 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34260 /* 96953 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
34261 /* 96957 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34262 /* 96961 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34263 /* 96964 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34264 /* 96968 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34265 /* 96972 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34266 /* 96976 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34267 /* 96980 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34268 /* 96982 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34269 /* 96989 */ // (intrinsic_wo_chain:{ *:[v8i16] } 15054:{ *:[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)
34270 /* 96989 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWWrm),
34271 /* 96992 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34272 /* 96994 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
34273 /* 96996 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34274 /* 97000 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34275 /* 97002 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34276 /* 97007 */ GIR_RootConstrainSelectedInstOperands,
34277 /* 97008 */ // GIR_Coverage, 23338,
34278 /* 97008 */ GIR_EraseRootFromParent_Done,
34279 /* 97009 */ // Label 2066: @97009
34280 /* 97009 */ GIM_Try, /*On fail goto*//*Label 2067*/ GIMT_Encode4(97094), // Rule ID 23339 //
34281 /* 97014 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34282 /* 97017 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacswd),
34283 /* 97022 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34284 /* 97025 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34285 /* 97028 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34286 /* 97031 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34287 /* 97034 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34288 /* 97038 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
34289 /* 97042 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34290 /* 97046 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34291 /* 97049 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34292 /* 97053 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34293 /* 97057 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34294 /* 97061 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34295 /* 97065 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34296 /* 97067 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34297 /* 97074 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15053:{ *:[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)
34298 /* 97074 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWDrm),
34299 /* 97077 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34300 /* 97079 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
34301 /* 97081 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34302 /* 97085 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34303 /* 97087 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34304 /* 97092 */ GIR_RootConstrainSelectedInstOperands,
34305 /* 97093 */ // GIR_Coverage, 23339,
34306 /* 97093 */ GIR_EraseRootFromParent_Done,
34307 /* 97094 */ // Label 2067: @97094
34308 /* 97094 */ GIM_Try, /*On fail goto*//*Label 2068*/ GIMT_Encode4(97179), // Rule ID 23340 //
34309 /* 97099 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34310 /* 97102 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssww),
34311 /* 97107 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
34312 /* 97110 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34313 /* 97113 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34314 /* 97116 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
34315 /* 97119 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34316 /* 97123 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
34317 /* 97127 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34318 /* 97131 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34319 /* 97134 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34320 /* 97138 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34321 /* 97142 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34322 /* 97146 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34323 /* 97150 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34324 /* 97152 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34325 /* 97159 */ // (intrinsic_wo_chain:{ *:[v8i16] } 15052:{ *:[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)
34326 /* 97159 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSWWrm),
34327 /* 97162 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34328 /* 97164 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
34329 /* 97166 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34330 /* 97170 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34331 /* 97172 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34332 /* 97177 */ GIR_RootConstrainSelectedInstOperands,
34333 /* 97178 */ // GIR_Coverage, 23340,
34334 /* 97178 */ GIR_EraseRootFromParent_Done,
34335 /* 97179 */ // Label 2068: @97179
34336 /* 97179 */ GIM_Try, /*On fail goto*//*Label 2069*/ GIMT_Encode4(97264), // Rule ID 23341 //
34337 /* 97184 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34338 /* 97187 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsswd),
34339 /* 97192 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34340 /* 97195 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34341 /* 97198 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34342 /* 97201 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34343 /* 97204 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34344 /* 97208 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
34345 /* 97212 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34346 /* 97216 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34347 /* 97219 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34348 /* 97223 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34349 /* 97227 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34350 /* 97231 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34351 /* 97235 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34352 /* 97237 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34353 /* 97244 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15051:{ *:[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)
34354 /* 97244 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSWDrm),
34355 /* 97247 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34356 /* 97249 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
34357 /* 97251 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34358 /* 97255 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34359 /* 97257 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34360 /* 97262 */ GIR_RootConstrainSelectedInstOperands,
34361 /* 97263 */ // GIR_Coverage, 23341,
34362 /* 97263 */ GIR_EraseRootFromParent_Done,
34363 /* 97264 */ // Label 2069: @97264
34364 /* 97264 */ GIM_Try, /*On fail goto*//*Label 2070*/ GIMT_Encode4(97349), // Rule ID 23342 //
34365 /* 97269 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34366 /* 97272 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdql),
34367 /* 97277 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34368 /* 97280 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34369 /* 97283 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34370 /* 97286 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34371 /* 97289 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34372 /* 97293 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
34373 /* 97297 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34374 /* 97301 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34375 /* 97304 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34376 /* 97308 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34377 /* 97312 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34378 /* 97316 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34379 /* 97320 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34380 /* 97322 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34381 /* 97329 */ // (intrinsic_wo_chain:{ *:[v2i64] } 15050:{ *:[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)
34382 /* 97329 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDQLrm),
34383 /* 97332 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34384 /* 97334 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
34385 /* 97336 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34386 /* 97340 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34387 /* 97342 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34388 /* 97347 */ GIR_RootConstrainSelectedInstOperands,
34389 /* 97348 */ // GIR_Coverage, 23342,
34390 /* 97348 */ GIR_EraseRootFromParent_Done,
34391 /* 97349 */ // Label 2070: @97349
34392 /* 97349 */ GIM_Try, /*On fail goto*//*Label 2071*/ GIMT_Encode4(97434), // Rule ID 23343 //
34393 /* 97354 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34394 /* 97357 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdqh),
34395 /* 97362 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34396 /* 97365 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34397 /* 97368 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34398 /* 97371 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34399 /* 97374 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34400 /* 97378 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
34401 /* 97382 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34402 /* 97386 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34403 /* 97389 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34404 /* 97393 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34405 /* 97397 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34406 /* 97401 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34407 /* 97405 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34408 /* 97407 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34409 /* 97414 */ // (intrinsic_wo_chain:{ *:[v2i64] } 15049:{ *:[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)
34410 /* 97414 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDQHrm),
34411 /* 97417 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34412 /* 97419 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
34413 /* 97421 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34414 /* 97425 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34415 /* 97427 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34416 /* 97432 */ GIR_RootConstrainSelectedInstOperands,
34417 /* 97433 */ // GIR_Coverage, 23343,
34418 /* 97433 */ GIR_EraseRootFromParent_Done,
34419 /* 97434 */ // Label 2071: @97434
34420 /* 97434 */ GIM_Try, /*On fail goto*//*Label 2072*/ GIMT_Encode4(97519), // Rule ID 23344 //
34421 /* 97439 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34422 /* 97442 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdd),
34423 /* 97447 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34424 /* 97450 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34425 /* 97453 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34426 /* 97456 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34427 /* 97459 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34428 /* 97463 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
34429 /* 97467 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34430 /* 97471 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34431 /* 97474 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34432 /* 97478 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34433 /* 97482 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34434 /* 97486 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34435 /* 97490 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34436 /* 97492 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34437 /* 97499 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15048:{ *:[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)
34438 /* 97499 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDDrm),
34439 /* 97502 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34440 /* 97504 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
34441 /* 97506 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34442 /* 97510 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34443 /* 97512 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34444 /* 97517 */ GIR_RootConstrainSelectedInstOperands,
34445 /* 97518 */ // GIR_Coverage, 23344,
34446 /* 97518 */ GIR_EraseRootFromParent_Done,
34447 /* 97519 */ // Label 2072: @97519
34448 /* 97519 */ GIM_Try, /*On fail goto*//*Label 2073*/ GIMT_Encode4(97604), // Rule ID 23345 //
34449 /* 97524 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34450 /* 97527 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdql),
34451 /* 97532 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34452 /* 97535 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34453 /* 97538 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34454 /* 97541 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34455 /* 97544 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34456 /* 97548 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
34457 /* 97552 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34458 /* 97556 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34459 /* 97559 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34460 /* 97563 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34461 /* 97567 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34462 /* 97571 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34463 /* 97575 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34464 /* 97577 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34465 /* 97584 */ // (intrinsic_wo_chain:{ *:[v2i64] } 15047:{ *:[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)
34466 /* 97584 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDQLrm),
34467 /* 97587 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34468 /* 97589 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
34469 /* 97591 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34470 /* 97595 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34471 /* 97597 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34472 /* 97602 */ GIR_RootConstrainSelectedInstOperands,
34473 /* 97603 */ // GIR_Coverage, 23345,
34474 /* 97603 */ GIR_EraseRootFromParent_Done,
34475 /* 97604 */ // Label 2073: @97604
34476 /* 97604 */ GIM_Try, /*On fail goto*//*Label 2074*/ GIMT_Encode4(97689), // Rule ID 23346 //
34477 /* 97609 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34478 /* 97612 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdqh),
34479 /* 97617 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34480 /* 97620 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34481 /* 97623 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34482 /* 97626 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34483 /* 97629 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34484 /* 97633 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
34485 /* 97637 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34486 /* 97641 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34487 /* 97644 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34488 /* 97648 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34489 /* 97652 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34490 /* 97656 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34491 /* 97660 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34492 /* 97662 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34493 /* 97669 */ // (intrinsic_wo_chain:{ *:[v2i64] } 15046:{ *:[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)
34494 /* 97669 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDQHrm),
34495 /* 97672 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34496 /* 97674 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
34497 /* 97676 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34498 /* 97680 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34499 /* 97682 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34500 /* 97687 */ GIR_RootConstrainSelectedInstOperands,
34501 /* 97688 */ // GIR_Coverage, 23346,
34502 /* 97688 */ GIR_EraseRootFromParent_Done,
34503 /* 97689 */ // Label 2074: @97689
34504 /* 97689 */ GIM_Try, /*On fail goto*//*Label 2075*/ GIMT_Encode4(97774), // Rule ID 23347 //
34505 /* 97694 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34506 /* 97697 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdd),
34507 /* 97702 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34508 /* 97705 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34509 /* 97708 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34510 /* 97711 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34511 /* 97714 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34512 /* 97718 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
34513 /* 97722 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34514 /* 97726 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34515 /* 97729 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34516 /* 97733 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34517 /* 97737 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34518 /* 97741 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34519 /* 97745 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34520 /* 97747 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34521 /* 97754 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15045:{ *:[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)
34522 /* 97754 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDDrm),
34523 /* 97757 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34524 /* 97759 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
34525 /* 97761 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34526 /* 97765 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34527 /* 97767 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34528 /* 97772 */ GIR_RootConstrainSelectedInstOperands,
34529 /* 97773 */ // GIR_Coverage, 23347,
34530 /* 97773 */ GIR_EraseRootFromParent_Done,
34531 /* 97774 */ // Label 2075: @97774
34532 /* 97774 */ GIM_Try, /*On fail goto*//*Label 2076*/ GIMT_Encode4(97859), // Rule ID 1620 //
34533 /* 97779 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34534 /* 97782 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmadcswd),
34535 /* 97787 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34536 /* 97790 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34537 /* 97793 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34538 /* 97796 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34539 /* 97799 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34540 /* 97803 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34541 /* 97807 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34542 /* 97811 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34543 /* 97815 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34544 /* 97818 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34545 /* 97822 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34546 /* 97826 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34547 /* 97830 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34548 /* 97832 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34549 /* 97839 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15056:{ *:[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)
34550 /* 97839 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMADCSWDrm),
34551 /* 97842 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34552 /* 97844 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34553 /* 97846 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34554 /* 97850 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34555 /* 97852 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34556 /* 97857 */ GIR_RootConstrainSelectedInstOperands,
34557 /* 97858 */ // GIR_Coverage, 1620,
34558 /* 97858 */ GIR_EraseRootFromParent_Done,
34559 /* 97859 */ // Label 2076: @97859
34560 /* 97859 */ GIM_Try, /*On fail goto*//*Label 2077*/ GIMT_Encode4(97944), // Rule ID 1622 //
34561 /* 97864 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34562 /* 97867 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmadcsswd),
34563 /* 97872 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34564 /* 97875 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34565 /* 97878 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34566 /* 97881 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34567 /* 97884 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34568 /* 97888 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34569 /* 97892 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34570 /* 97896 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34571 /* 97900 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34572 /* 97903 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34573 /* 97907 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34574 /* 97911 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34575 /* 97915 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34576 /* 97917 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34577 /* 97924 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15055:{ *:[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)
34578 /* 97924 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMADCSSWDrm),
34579 /* 97927 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34580 /* 97929 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34581 /* 97931 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34582 /* 97935 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34583 /* 97937 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34584 /* 97942 */ GIR_RootConstrainSelectedInstOperands,
34585 /* 97943 */ // GIR_Coverage, 1622,
34586 /* 97943 */ GIR_EraseRootFromParent_Done,
34587 /* 97944 */ // Label 2077: @97944
34588 /* 97944 */ GIM_Try, /*On fail goto*//*Label 2078*/ GIMT_Encode4(98029), // Rule ID 1624 //
34589 /* 97949 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34590 /* 97952 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsww),
34591 /* 97957 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
34592 /* 97960 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34593 /* 97963 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34594 /* 97966 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
34595 /* 97969 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34596 /* 97973 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34597 /* 97977 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34598 /* 97981 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34599 /* 97985 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34600 /* 97988 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34601 /* 97992 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34602 /* 97996 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34603 /* 98000 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34604 /* 98002 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34605 /* 98009 */ // (intrinsic_wo_chain:{ *:[v8i16] } 15054:{ *:[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)
34606 /* 98009 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWWrm),
34607 /* 98012 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34608 /* 98014 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34609 /* 98016 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34610 /* 98020 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34611 /* 98022 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34612 /* 98027 */ GIR_RootConstrainSelectedInstOperands,
34613 /* 98028 */ // GIR_Coverage, 1624,
34614 /* 98028 */ GIR_EraseRootFromParent_Done,
34615 /* 98029 */ // Label 2078: @98029
34616 /* 98029 */ GIM_Try, /*On fail goto*//*Label 2079*/ GIMT_Encode4(98114), // Rule ID 1626 //
34617 /* 98034 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34618 /* 98037 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacswd),
34619 /* 98042 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34620 /* 98045 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34621 /* 98048 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34622 /* 98051 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34623 /* 98054 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34624 /* 98058 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34625 /* 98062 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34626 /* 98066 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34627 /* 98070 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34628 /* 98073 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34629 /* 98077 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34630 /* 98081 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34631 /* 98085 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34632 /* 98087 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34633 /* 98094 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15053:{ *:[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)
34634 /* 98094 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWDrm),
34635 /* 98097 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34636 /* 98099 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34637 /* 98101 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34638 /* 98105 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34639 /* 98107 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34640 /* 98112 */ GIR_RootConstrainSelectedInstOperands,
34641 /* 98113 */ // GIR_Coverage, 1626,
34642 /* 98113 */ GIR_EraseRootFromParent_Done,
34643 /* 98114 */ // Label 2079: @98114
34644 /* 98114 */ GIM_Try, /*On fail goto*//*Label 2080*/ GIMT_Encode4(98199), // Rule ID 1628 //
34645 /* 98119 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34646 /* 98122 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssww),
34647 /* 98127 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
34648 /* 98130 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34649 /* 98133 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34650 /* 98136 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
34651 /* 98139 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34652 /* 98143 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34653 /* 98147 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34654 /* 98151 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34655 /* 98155 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34656 /* 98158 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34657 /* 98162 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34658 /* 98166 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34659 /* 98170 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34660 /* 98172 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34661 /* 98179 */ // (intrinsic_wo_chain:{ *:[v8i16] } 15052:{ *:[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)
34662 /* 98179 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSWWrm),
34663 /* 98182 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34664 /* 98184 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34665 /* 98186 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34666 /* 98190 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34667 /* 98192 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34668 /* 98197 */ GIR_RootConstrainSelectedInstOperands,
34669 /* 98198 */ // GIR_Coverage, 1628,
34670 /* 98198 */ GIR_EraseRootFromParent_Done,
34671 /* 98199 */ // Label 2080: @98199
34672 /* 98199 */ GIM_Try, /*On fail goto*//*Label 2081*/ GIMT_Encode4(98284), // Rule ID 1630 //
34673 /* 98204 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34674 /* 98207 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsswd),
34675 /* 98212 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34676 /* 98215 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34677 /* 98218 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34678 /* 98221 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34679 /* 98224 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34680 /* 98228 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34681 /* 98232 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34682 /* 98236 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34683 /* 98240 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34684 /* 98243 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34685 /* 98247 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34686 /* 98251 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34687 /* 98255 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34688 /* 98257 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34689 /* 98264 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15051:{ *:[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)
34690 /* 98264 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSWDrm),
34691 /* 98267 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34692 /* 98269 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34693 /* 98271 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34694 /* 98275 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34695 /* 98277 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34696 /* 98282 */ GIR_RootConstrainSelectedInstOperands,
34697 /* 98283 */ // GIR_Coverage, 1630,
34698 /* 98283 */ GIR_EraseRootFromParent_Done,
34699 /* 98284 */ // Label 2081: @98284
34700 /* 98284 */ GIM_Try, /*On fail goto*//*Label 2082*/ GIMT_Encode4(98369), // Rule ID 1632 //
34701 /* 98289 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34702 /* 98292 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdql),
34703 /* 98297 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34704 /* 98300 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34705 /* 98303 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34706 /* 98306 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34707 /* 98309 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34708 /* 98313 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34709 /* 98317 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34710 /* 98321 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34711 /* 98325 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34712 /* 98328 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34713 /* 98332 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34714 /* 98336 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34715 /* 98340 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34716 /* 98342 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34717 /* 98349 */ // (intrinsic_wo_chain:{ *:[v2i64] } 15050:{ *:[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)
34718 /* 98349 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDQLrm),
34719 /* 98352 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34720 /* 98354 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34721 /* 98356 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34722 /* 98360 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34723 /* 98362 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34724 /* 98367 */ GIR_RootConstrainSelectedInstOperands,
34725 /* 98368 */ // GIR_Coverage, 1632,
34726 /* 98368 */ GIR_EraseRootFromParent_Done,
34727 /* 98369 */ // Label 2082: @98369
34728 /* 98369 */ GIM_Try, /*On fail goto*//*Label 2083*/ GIMT_Encode4(98454), // Rule ID 1634 //
34729 /* 98374 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34730 /* 98377 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdqh),
34731 /* 98382 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34732 /* 98385 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34733 /* 98388 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34734 /* 98391 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34735 /* 98394 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34736 /* 98398 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34737 /* 98402 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34738 /* 98406 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34739 /* 98410 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34740 /* 98413 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34741 /* 98417 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34742 /* 98421 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34743 /* 98425 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34744 /* 98427 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34745 /* 98434 */ // (intrinsic_wo_chain:{ *:[v2i64] } 15049:{ *:[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)
34746 /* 98434 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDQHrm),
34747 /* 98437 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34748 /* 98439 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34749 /* 98441 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34750 /* 98445 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34751 /* 98447 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34752 /* 98452 */ GIR_RootConstrainSelectedInstOperands,
34753 /* 98453 */ // GIR_Coverage, 1634,
34754 /* 98453 */ GIR_EraseRootFromParent_Done,
34755 /* 98454 */ // Label 2083: @98454
34756 /* 98454 */ GIM_Try, /*On fail goto*//*Label 2084*/ GIMT_Encode4(98539), // Rule ID 1636 //
34757 /* 98459 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34758 /* 98462 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdd),
34759 /* 98467 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34760 /* 98470 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34761 /* 98473 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34762 /* 98476 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34763 /* 98479 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34764 /* 98483 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34765 /* 98487 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34766 /* 98491 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34767 /* 98495 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34768 /* 98498 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34769 /* 98502 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34770 /* 98506 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34771 /* 98510 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34772 /* 98512 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34773 /* 98519 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15048:{ *:[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)
34774 /* 98519 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDDrm),
34775 /* 98522 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34776 /* 98524 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34777 /* 98526 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34778 /* 98530 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34779 /* 98532 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34780 /* 98537 */ GIR_RootConstrainSelectedInstOperands,
34781 /* 98538 */ // GIR_Coverage, 1636,
34782 /* 98538 */ GIR_EraseRootFromParent_Done,
34783 /* 98539 */ // Label 2084: @98539
34784 /* 98539 */ GIM_Try, /*On fail goto*//*Label 2085*/ GIMT_Encode4(98624), // Rule ID 1638 //
34785 /* 98544 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34786 /* 98547 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdql),
34787 /* 98552 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34788 /* 98555 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34789 /* 98558 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34790 /* 98561 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34791 /* 98564 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34792 /* 98568 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34793 /* 98572 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34794 /* 98576 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34795 /* 98580 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34796 /* 98583 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34797 /* 98587 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34798 /* 98591 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34799 /* 98595 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34800 /* 98597 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34801 /* 98604 */ // (intrinsic_wo_chain:{ *:[v2i64] } 15047:{ *:[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)
34802 /* 98604 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDQLrm),
34803 /* 98607 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34804 /* 98609 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34805 /* 98611 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34806 /* 98615 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34807 /* 98617 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34808 /* 98622 */ GIR_RootConstrainSelectedInstOperands,
34809 /* 98623 */ // GIR_Coverage, 1638,
34810 /* 98623 */ GIR_EraseRootFromParent_Done,
34811 /* 98624 */ // Label 2085: @98624
34812 /* 98624 */ GIM_Try, /*On fail goto*//*Label 2086*/ GIMT_Encode4(98709), // Rule ID 1640 //
34813 /* 98629 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34814 /* 98632 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdqh),
34815 /* 98637 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34816 /* 98640 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34817 /* 98643 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34818 /* 98646 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34819 /* 98649 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34820 /* 98653 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34821 /* 98657 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34822 /* 98661 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34823 /* 98665 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34824 /* 98668 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34825 /* 98672 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34826 /* 98676 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34827 /* 98680 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34828 /* 98682 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34829 /* 98689 */ // (intrinsic_wo_chain:{ *:[v2i64] } 15046:{ *:[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)
34830 /* 98689 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDQHrm),
34831 /* 98692 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34832 /* 98694 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34833 /* 98696 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34834 /* 98700 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34835 /* 98702 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34836 /* 98707 */ GIR_RootConstrainSelectedInstOperands,
34837 /* 98708 */ // GIR_Coverage, 1640,
34838 /* 98708 */ GIR_EraseRootFromParent_Done,
34839 /* 98709 */ // Label 2086: @98709
34840 /* 98709 */ GIM_Try, /*On fail goto*//*Label 2087*/ GIMT_Encode4(98794), // Rule ID 1642 //
34841 /* 98714 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34842 /* 98717 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdd),
34843 /* 98722 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34844 /* 98725 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34845 /* 98728 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34846 /* 98731 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34847 /* 98734 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34848 /* 98738 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34849 /* 98742 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34850 /* 98746 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34851 /* 98750 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34852 /* 98753 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34853 /* 98757 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34854 /* 98761 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34855 /* 98765 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34856 /* 98767 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34857 /* 98774 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15045:{ *:[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)
34858 /* 98774 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDDrm),
34859 /* 98777 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34860 /* 98779 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34861 /* 98781 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34862 /* 98785 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34863 /* 98787 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34864 /* 98792 */ GIR_RootConstrainSelectedInstOperands,
34865 /* 98793 */ // GIR_Coverage, 1642,
34866 /* 98793 */ GIR_EraseRootFromParent_Done,
34867 /* 98794 */ // Label 2087: @98794
34868 /* 98794 */ GIM_Try, /*On fail goto*//*Label 2088*/ GIMT_Encode4(98879), // Rule ID 3559 //
34869 /* 98799 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM3),
34870 /* 98802 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm3msg1),
34871 /* 98807 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34872 /* 98810 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34873 /* 98813 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34874 /* 98816 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34875 /* 98819 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34876 /* 98823 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34877 /* 98827 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34878 /* 98831 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/4, // MIs[1]
34879 /* 98835 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34880 /* 98839 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34881 /* 98842 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34882 /* 98846 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34883 /* 98850 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34884 /* 98852 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34885 /* 98859 */ // (intrinsic_wo_chain:{ *:[v4i32] } 14996:{ *:[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)
34886 /* 98859 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM3MSG1rm),
34887 /* 98862 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34888 /* 98864 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34889 /* 98866 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34890 /* 98868 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
34891 /* 98872 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34892 /* 98877 */ GIR_RootConstrainSelectedInstOperands,
34893 /* 98878 */ // GIR_Coverage, 3559,
34894 /* 98878 */ GIR_EraseRootFromParent_Done,
34895 /* 98879 */ // Label 2088: @98879
34896 /* 98879 */ GIM_Try, /*On fail goto*//*Label 2089*/ GIMT_Encode4(98964), // Rule ID 3561 //
34897 /* 98884 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM3),
34898 /* 98887 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm3msg2),
34899 /* 98892 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34900 /* 98895 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34901 /* 98898 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34902 /* 98901 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34903 /* 98904 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34904 /* 98908 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34905 /* 98912 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34906 /* 98916 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/4, // MIs[1]
34907 /* 98920 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34908 /* 98924 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34909 /* 98927 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34910 /* 98931 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34911 /* 98935 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34912 /* 98937 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34913 /* 98944 */ // (intrinsic_wo_chain:{ *:[v4i32] } 14997:{ *:[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)
34914 /* 98944 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM3MSG2rm),
34915 /* 98947 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34916 /* 98949 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34917 /* 98951 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34918 /* 98953 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
34919 /* 98957 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34920 /* 98962 */ GIR_RootConstrainSelectedInstOperands,
34921 /* 98963 */ // GIR_Coverage, 3561,
34922 /* 98963 */ GIR_EraseRootFromParent_Done,
34923 /* 98964 */ // Label 2089: @98964
34924 /* 98964 */ GIM_Try, /*On fail goto*//*Label 2090*/ GIMT_Encode4(99014), // Rule ID 3253 //
34925 /* 98969 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
34926 /* 98972 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dpps),
34927 /* 98977 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34928 /* 98980 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34929 /* 98983 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34930 /* 98986 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34931 /* 98990 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34932 /* 98994 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34933 /* 98998 */ // MIs[0] src3
34934 /* 98998 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
34935 /* 99001 */ // (intrinsic_wo_chain:{ *:[v4f32] } 14811:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, (timm:{ *:[i8] }):$src3) => (VDPPSrri:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, (timm:{ *:[i8] }):$src3)
34936 /* 99001 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPSrri),
34937 /* 99004 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34938 /* 99006 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34939 /* 99008 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34940 /* 99010 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34941 /* 99012 */ GIR_RootConstrainSelectedInstOperands,
34942 /* 99013 */ // GIR_Coverage, 3253,
34943 /* 99013 */ GIR_EraseRootFromParent_Done,
34944 /* 99014 */ // Label 2090: @99014
34945 /* 99014 */ GIM_Try, /*On fail goto*//*Label 2091*/ GIMT_Encode4(99064), // Rule ID 3255 //
34946 /* 99019 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
34947 /* 99022 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dppd),
34948 /* 99027 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34949 /* 99030 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
34950 /* 99033 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
34951 /* 99036 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34952 /* 99040 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34953 /* 99044 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34954 /* 99048 */ // MIs[0] src3
34955 /* 99048 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
34956 /* 99051 */ // (intrinsic_wo_chain:{ *:[v2f64] } 14810:{ *:[iPTR] }, VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, (timm:{ *:[i8] }):$src3) => (VDPPDrri:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, (timm:{ *:[i8] }):$src3)
34957 /* 99051 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPDrri),
34958 /* 99054 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34959 /* 99056 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34960 /* 99058 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34961 /* 99060 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34962 /* 99062 */ GIR_RootConstrainSelectedInstOperands,
34963 /* 99063 */ // GIR_Coverage, 3255,
34964 /* 99063 */ GIR_EraseRootFromParent_Done,
34965 /* 99064 */ // Label 2091: @99064
34966 /* 99064 */ GIM_Try, /*On fail goto*//*Label 2092*/ GIMT_Encode4(99114), // Rule ID 3257 //
34967 /* 99069 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
34968 /* 99072 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_dp_ps_256),
34969 /* 99077 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
34970 /* 99080 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
34971 /* 99083 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
34972 /* 99086 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
34973 /* 99090 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
34974 /* 99094 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
34975 /* 99098 */ // MIs[0] src3
34976 /* 99098 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
34977 /* 99101 */ // (intrinsic_wo_chain:{ *:[v8f32] } 13421:{ *:[iPTR] }, VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, (timm:{ *:[i8] }):$src3) => (VDPPSYrri:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, (timm:{ *:[i8] }):$src3)
34978 /* 99101 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPSYrri),
34979 /* 99104 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34980 /* 99106 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34981 /* 99108 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34982 /* 99110 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34983 /* 99112 */ GIR_RootConstrainSelectedInstOperands,
34984 /* 99113 */ // GIR_Coverage, 3257,
34985 /* 99113 */ GIR_EraseRootFromParent_Done,
34986 /* 99114 */ // Label 2092: @99114
34987 /* 99114 */ GIM_Try, /*On fail goto*//*Label 2093*/ GIMT_Encode4(99164), // Rule ID 3263 //
34988 /* 99119 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
34989 /* 99122 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dpps),
34990 /* 99127 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34991 /* 99130 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34992 /* 99133 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34993 /* 99136 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34994 /* 99140 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34995 /* 99144 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34996 /* 99148 */ // MIs[0] src3
34997 /* 99148 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
34998 /* 99151 */ // (intrinsic_wo_chain:{ *:[v4f32] } 14811:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, (timm:{ *:[i8] }):$src3) => (DPPSrri:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, (timm:{ *:[i8] }):$src3)
34999 /* 99151 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DPPSrri),
35000 /* 99154 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35001 /* 99156 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35002 /* 99158 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35003 /* 99160 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35004 /* 99162 */ GIR_RootConstrainSelectedInstOperands,
35005 /* 99163 */ // GIR_Coverage, 3263,
35006 /* 99163 */ GIR_EraseRootFromParent_Done,
35007 /* 99164 */ // Label 2093: @99164
35008 /* 99164 */ GIM_Try, /*On fail goto*//*Label 2094*/ GIMT_Encode4(99214), // Rule ID 3265 //
35009 /* 99169 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
35010 /* 99172 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dppd),
35011 /* 99177 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
35012 /* 99180 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
35013 /* 99183 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
35014 /* 99186 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35015 /* 99190 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35016 /* 99194 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35017 /* 99198 */ // MIs[0] src3
35018 /* 99198 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
35019 /* 99201 */ // (intrinsic_wo_chain:{ *:[v2f64] } 14810:{ *:[iPTR] }, VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, (timm:{ *:[i8] }):$src3) => (DPPDrri:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, (timm:{ *:[i8] }):$src3)
35020 /* 99201 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DPPDrri),
35021 /* 99204 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35022 /* 99206 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35023 /* 99208 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35024 /* 99210 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35025 /* 99212 */ GIR_RootConstrainSelectedInstOperands,
35026 /* 99213 */ // GIR_Coverage, 3265,
35027 /* 99213 */ GIR_EraseRootFromParent_Done,
35028 /* 99214 */ // Label 2094: @99214
35029 /* 99214 */ GIM_Try, /*On fail goto*//*Label 2095*/ GIMT_Encode4(99264), // Rule ID 3325 //
35030 /* 99219 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA),
35031 /* 99222 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha1rnds4),
35032 /* 99227 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35033 /* 99230 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
35034 /* 99233 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
35035 /* 99236 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35036 /* 99240 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35037 /* 99244 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35038 /* 99248 */ // MIs[0] src3
35039 /* 99248 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
35040 /* 99251 */ // (intrinsic_wo_chain:{ *:[v4i32] } 14697:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, (timm:{ *:[i8] }):$src3) => (SHA1RNDS4rri:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, (timm:{ *:[i8] }):$src3)
35041 /* 99251 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA1RNDS4rri),
35042 /* 99254 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35043 /* 99256 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35044 /* 99258 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35045 /* 99260 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35046 /* 99262 */ GIR_RootConstrainSelectedInstOperands,
35047 /* 99263 */ // GIR_Coverage, 3325,
35048 /* 99263 */ GIR_EraseRootFromParent_Done,
35049 /* 99264 */ // Label 2095: @99264
35050 /* 99264 */ GIM_Try, /*On fail goto*//*Label 2096*/ GIMT_Encode4(99314), // Rule ID 3371 //
35051 /* 99269 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPCLMUL_NoAVX),
35052 /* 99272 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_pclmulqdq),
35053 /* 99277 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
35054 /* 99280 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
35055 /* 99283 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
35056 /* 99286 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35057 /* 99290 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35058 /* 99294 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35059 /* 99298 */ // MIs[0] src3
35060 /* 99298 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
35061 /* 99301 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14662:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2, (timm:{ *:[i8] }):$src3) => (PCLMULQDQrri:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2, (timm:{ *:[i8] }):$src3)
35062 /* 99301 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PCLMULQDQrri),
35063 /* 99304 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35064 /* 99306 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35065 /* 99308 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35066 /* 99310 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35067 /* 99312 */ GIR_RootConstrainSelectedInstOperands,
35068 /* 99313 */ // GIR_Coverage, 3371,
35069 /* 99313 */ GIR_EraseRootFromParent_Done,
35070 /* 99314 */ // Label 2096: @99314
35071 /* 99314 */ GIM_Try, /*On fail goto*//*Label 2097*/ GIMT_Encode4(99364), // Rule ID 3373 //
35072 /* 99319 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_HasPCLMUL_NoVLX_Or_NoVPCLMULQDQ),
35073 /* 99322 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_pclmulqdq),
35074 /* 99327 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
35075 /* 99330 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
35076 /* 99333 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
35077 /* 99336 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35078 /* 99340 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35079 /* 99344 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35080 /* 99348 */ // MIs[0] src3
35081 /* 99348 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
35082 /* 99351 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14662:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2, (timm:{ *:[i8] }):$src3) => (VPCLMULQDQrri:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2, (timm:{ *:[i8] }):$src3)
35083 /* 99351 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCLMULQDQrri),
35084 /* 99354 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35085 /* 99356 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35086 /* 99358 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35087 /* 99360 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35088 /* 99362 */ GIR_RootConstrainSelectedInstOperands,
35089 /* 99363 */ // GIR_Coverage, 3373,
35090 /* 99363 */ GIR_EraseRootFromParent_Done,
35091 /* 99364 */ // Label 2097: @99364
35092 /* 99364 */ GIM_Try, /*On fail goto*//*Label 2098*/ GIMT_Encode4(99414), // Rule ID 3375 //
35093 /* 99369 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVPCLMULQDQ_NoVLX),
35094 /* 99372 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_pclmulqdq_256),
35095 /* 99377 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
35096 /* 99380 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
35097 /* 99383 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
35098 /* 99386 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
35099 /* 99390 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
35100 /* 99394 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
35101 /* 99398 */ // MIs[0] src3
35102 /* 99398 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
35103 /* 99401 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14663:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2, (timm:{ *:[i8] }):$src3) => (VPCLMULQDQYrri:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2, (timm:{ *:[i8] }):$src3)
35104 /* 99401 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCLMULQDQYrri),
35105 /* 99404 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35106 /* 99406 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35107 /* 99408 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35108 /* 99410 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35109 /* 99412 */ GIR_RootConstrainSelectedInstOperands,
35110 /* 99413 */ // GIR_Coverage, 3375,
35111 /* 99413 */ GIR_EraseRootFromParent_Done,
35112 /* 99414 */ // Label 2098: @99414
35113 /* 99414 */ GIM_Try, /*On fail goto*//*Label 2099*/ GIMT_Encode4(99464), // Rule ID 14084 //
35114 /* 99419 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVPCLMULQDQ),
35115 /* 99422 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_pclmulqdq_512),
35116 /* 99427 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
35117 /* 99430 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
35118 /* 99433 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
35119 /* 99436 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
35120 /* 99440 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
35121 /* 99444 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
35122 /* 99448 */ // MIs[0] src3
35123 /* 99448 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
35124 /* 99451 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14664:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2, (timm:{ *:[i8] }):$src3) => (VPCLMULQDQZrri:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2, (timm:{ *:[i8] }):$src3)
35125 /* 99451 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCLMULQDQZrri),
35126 /* 99454 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35127 /* 99456 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35128 /* 99458 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35129 /* 99460 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35130 /* 99462 */ GIR_RootConstrainSelectedInstOperands,
35131 /* 99463 */ // GIR_Coverage, 14084,
35132 /* 99463 */ GIR_EraseRootFromParent_Done,
35133 /* 99464 */ // Label 2099: @99464
35134 /* 99464 */ GIM_Try, /*On fail goto*//*Label 2100*/ GIMT_Encode4(99514), // Rule ID 14086 //
35135 /* 99469 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX_HasVPCLMULQDQ),
35136 /* 99472 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_pclmulqdq),
35137 /* 99477 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
35138 /* 99480 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
35139 /* 99483 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
35140 /* 99486 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
35141 /* 99490 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
35142 /* 99494 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
35143 /* 99498 */ // MIs[0] src3
35144 /* 99498 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
35145 /* 99501 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14662:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2, (timm:{ *:[i8] }):$src3) => (VPCLMULQDQZ128rri:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2, (timm:{ *:[i8] }):$src3)
35146 /* 99501 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCLMULQDQZ128rri),
35147 /* 99504 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35148 /* 99506 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35149 /* 99508 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35150 /* 99510 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35151 /* 99512 */ GIR_RootConstrainSelectedInstOperands,
35152 /* 99513 */ // GIR_Coverage, 14086,
35153 /* 99513 */ GIR_EraseRootFromParent_Done,
35154 /* 99514 */ // Label 2100: @99514
35155 /* 99514 */ GIM_Try, /*On fail goto*//*Label 2101*/ GIMT_Encode4(99564), // Rule ID 14088 //
35156 /* 99519 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX_HasVPCLMULQDQ),
35157 /* 99522 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_pclmulqdq_256),
35158 /* 99527 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
35159 /* 99530 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
35160 /* 99533 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
35161 /* 99536 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
35162 /* 99540 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
35163 /* 99544 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
35164 /* 99548 */ // MIs[0] src3
35165 /* 99548 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
35166 /* 99551 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14663:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2, (timm:{ *:[i8] }):$src3) => (VPCLMULQDQZ256rri:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2, (timm:{ *:[i8] }):$src3)
35167 /* 99551 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCLMULQDQZ256rri),
35168 /* 99554 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35169 /* 99556 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35170 /* 99558 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35171 /* 99560 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35172 /* 99562 */ GIR_RootConstrainSelectedInstOperands,
35173 /* 99563 */ // GIR_Coverage, 14088,
35174 /* 99563 */ GIR_EraseRootFromParent_Done,
35175 /* 99564 */ // Label 2101: @99564
35176 /* 99564 */ GIM_Try, /*On fail goto*//*Label 2102*/ GIMT_Encode4(99618), // Rule ID 1619 //
35177 /* 99569 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
35178 /* 99572 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmadcswd),
35179 /* 99577 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35180 /* 99580 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
35181 /* 99583 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
35182 /* 99586 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
35183 /* 99589 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35184 /* 99593 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35185 /* 99597 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35186 /* 99601 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35187 /* 99605 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15056:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VPMADCSWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3)
35188 /* 99605 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMADCSWDrr),
35189 /* 99608 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35190 /* 99610 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35191 /* 99612 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35192 /* 99614 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35193 /* 99616 */ GIR_RootConstrainSelectedInstOperands,
35194 /* 99617 */ // GIR_Coverage, 1619,
35195 /* 99617 */ GIR_EraseRootFromParent_Done,
35196 /* 99618 */ // Label 2102: @99618
35197 /* 99618 */ GIM_Try, /*On fail goto*//*Label 2103*/ GIMT_Encode4(99672), // Rule ID 1621 //
35198 /* 99623 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
35199 /* 99626 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmadcsswd),
35200 /* 99631 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35201 /* 99634 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
35202 /* 99637 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
35203 /* 99640 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
35204 /* 99643 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35205 /* 99647 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35206 /* 99651 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35207 /* 99655 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35208 /* 99659 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15055:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VPMADCSSWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3)
35209 /* 99659 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMADCSSWDrr),
35210 /* 99662 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35211 /* 99664 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35212 /* 99666 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35213 /* 99668 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35214 /* 99670 */ GIR_RootConstrainSelectedInstOperands,
35215 /* 99671 */ // GIR_Coverage, 1621,
35216 /* 99671 */ GIR_EraseRootFromParent_Done,
35217 /* 99672 */ // Label 2103: @99672
35218 /* 99672 */ GIM_Try, /*On fail goto*//*Label 2104*/ GIMT_Encode4(99726), // Rule ID 1623 //
35219 /* 99677 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
35220 /* 99680 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsww),
35221 /* 99685 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
35222 /* 99688 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
35223 /* 99691 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
35224 /* 99694 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
35225 /* 99697 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35226 /* 99701 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35227 /* 99705 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35228 /* 99709 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35229 /* 99713 */ // (intrinsic_wo_chain:{ *:[v8i16] } 15054:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v8i16] }:$src3) => (VPMACSWWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v8i16] }:$src3)
35230 /* 99713 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWWrr),
35231 /* 99716 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35232 /* 99718 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35233 /* 99720 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35234 /* 99722 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35235 /* 99724 */ GIR_RootConstrainSelectedInstOperands,
35236 /* 99725 */ // GIR_Coverage, 1623,
35237 /* 99725 */ GIR_EraseRootFromParent_Done,
35238 /* 99726 */ // Label 2104: @99726
35239 /* 99726 */ GIM_Try, /*On fail goto*//*Label 2105*/ GIMT_Encode4(99780), // Rule ID 1625 //
35240 /* 99731 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
35241 /* 99734 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacswd),
35242 /* 99739 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35243 /* 99742 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
35244 /* 99745 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
35245 /* 99748 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
35246 /* 99751 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35247 /* 99755 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35248 /* 99759 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35249 /* 99763 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35250 /* 99767 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15053:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VPMACSWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3)
35251 /* 99767 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWDrr),
35252 /* 99770 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35253 /* 99772 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35254 /* 99774 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35255 /* 99776 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35256 /* 99778 */ GIR_RootConstrainSelectedInstOperands,
35257 /* 99779 */ // GIR_Coverage, 1625,
35258 /* 99779 */ GIR_EraseRootFromParent_Done,
35259 /* 99780 */ // Label 2105: @99780
35260 /* 99780 */ GIM_Try, /*On fail goto*//*Label 2106*/ GIMT_Encode4(99834), // Rule ID 1627 //
35261 /* 99785 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
35262 /* 99788 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssww),
35263 /* 99793 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
35264 /* 99796 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
35265 /* 99799 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
35266 /* 99802 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
35267 /* 99805 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35268 /* 99809 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35269 /* 99813 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35270 /* 99817 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35271 /* 99821 */ // (intrinsic_wo_chain:{ *:[v8i16] } 15052:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v8i16] }:$src3) => (VPMACSSWWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v8i16] }:$src3)
35272 /* 99821 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSWWrr),
35273 /* 99824 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35274 /* 99826 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35275 /* 99828 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35276 /* 99830 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35277 /* 99832 */ GIR_RootConstrainSelectedInstOperands,
35278 /* 99833 */ // GIR_Coverage, 1627,
35279 /* 99833 */ GIR_EraseRootFromParent_Done,
35280 /* 99834 */ // Label 2106: @99834
35281 /* 99834 */ GIM_Try, /*On fail goto*//*Label 2107*/ GIMT_Encode4(99888), // Rule ID 1629 //
35282 /* 99839 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
35283 /* 99842 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsswd),
35284 /* 99847 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35285 /* 99850 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
35286 /* 99853 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
35287 /* 99856 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
35288 /* 99859 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35289 /* 99863 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35290 /* 99867 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35291 /* 99871 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35292 /* 99875 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15051:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VPMACSSWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3)
35293 /* 99875 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSWDrr),
35294 /* 99878 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35295 /* 99880 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35296 /* 99882 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35297 /* 99884 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35298 /* 99886 */ GIR_RootConstrainSelectedInstOperands,
35299 /* 99887 */ // GIR_Coverage, 1629,
35300 /* 99887 */ GIR_EraseRootFromParent_Done,
35301 /* 99888 */ // Label 2107: @99888
35302 /* 99888 */ GIM_Try, /*On fail goto*//*Label 2108*/ GIMT_Encode4(99942), // Rule ID 1631 //
35303 /* 99893 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
35304 /* 99896 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdql),
35305 /* 99901 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
35306 /* 99904 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
35307 /* 99907 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
35308 /* 99910 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
35309 /* 99913 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35310 /* 99917 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35311 /* 99921 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35312 /* 99925 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35313 /* 99929 */ // (intrinsic_wo_chain:{ *:[v2i64] } 15050:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3) => (VPMACSSDQLrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3)
35314 /* 99929 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDQLrr),
35315 /* 99932 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35316 /* 99934 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35317 /* 99936 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35318 /* 99938 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35319 /* 99940 */ GIR_RootConstrainSelectedInstOperands,
35320 /* 99941 */ // GIR_Coverage, 1631,
35321 /* 99941 */ GIR_EraseRootFromParent_Done,
35322 /* 99942 */ // Label 2108: @99942
35323 /* 99942 */ GIM_Try, /*On fail goto*//*Label 2109*/ GIMT_Encode4(99996), // Rule ID 1633 //
35324 /* 99947 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
35325 /* 99950 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdqh),
35326 /* 99955 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
35327 /* 99958 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
35328 /* 99961 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
35329 /* 99964 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
35330 /* 99967 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35331 /* 99971 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35332 /* 99975 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35333 /* 99979 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35334 /* 99983 */ // (intrinsic_wo_chain:{ *:[v2i64] } 15049:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3) => (VPMACSSDQHrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3)
35335 /* 99983 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDQHrr),
35336 /* 99986 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35337 /* 99988 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35338 /* 99990 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35339 /* 99992 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35340 /* 99994 */ GIR_RootConstrainSelectedInstOperands,
35341 /* 99995 */ // GIR_Coverage, 1633,
35342 /* 99995 */ GIR_EraseRootFromParent_Done,
35343 /* 99996 */ // Label 2109: @99996
35344 /* 99996 */ GIM_Try, /*On fail goto*//*Label 2110*/ GIMT_Encode4(100050), // Rule ID 1635 //
35345 /* 100001 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
35346 /* 100004 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdd),
35347 /* 100009 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35348 /* 100012 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
35349 /* 100015 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
35350 /* 100018 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
35351 /* 100021 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35352 /* 100025 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35353 /* 100029 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35354 /* 100033 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35355 /* 100037 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15048:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VPMACSSDDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3)
35356 /* 100037 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDDrr),
35357 /* 100040 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35358 /* 100042 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35359 /* 100044 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35360 /* 100046 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35361 /* 100048 */ GIR_RootConstrainSelectedInstOperands,
35362 /* 100049 */ // GIR_Coverage, 1635,
35363 /* 100049 */ GIR_EraseRootFromParent_Done,
35364 /* 100050 */ // Label 2110: @100050
35365 /* 100050 */ GIM_Try, /*On fail goto*//*Label 2111*/ GIMT_Encode4(100104), // Rule ID 1637 //
35366 /* 100055 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
35367 /* 100058 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdql),
35368 /* 100063 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
35369 /* 100066 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
35370 /* 100069 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
35371 /* 100072 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
35372 /* 100075 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35373 /* 100079 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35374 /* 100083 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35375 /* 100087 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35376 /* 100091 */ // (intrinsic_wo_chain:{ *:[v2i64] } 15047:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3) => (VPMACSDQLrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3)
35377 /* 100091 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDQLrr),
35378 /* 100094 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35379 /* 100096 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35380 /* 100098 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35381 /* 100100 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35382 /* 100102 */ GIR_RootConstrainSelectedInstOperands,
35383 /* 100103 */ // GIR_Coverage, 1637,
35384 /* 100103 */ GIR_EraseRootFromParent_Done,
35385 /* 100104 */ // Label 2111: @100104
35386 /* 100104 */ GIM_Try, /*On fail goto*//*Label 2112*/ GIMT_Encode4(100158), // Rule ID 1639 //
35387 /* 100109 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
35388 /* 100112 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdqh),
35389 /* 100117 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
35390 /* 100120 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
35391 /* 100123 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
35392 /* 100126 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
35393 /* 100129 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35394 /* 100133 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35395 /* 100137 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35396 /* 100141 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35397 /* 100145 */ // (intrinsic_wo_chain:{ *:[v2i64] } 15046:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3) => (VPMACSDQHrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3)
35398 /* 100145 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDQHrr),
35399 /* 100148 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35400 /* 100150 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35401 /* 100152 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35402 /* 100154 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35403 /* 100156 */ GIR_RootConstrainSelectedInstOperands,
35404 /* 100157 */ // GIR_Coverage, 1639,
35405 /* 100157 */ GIR_EraseRootFromParent_Done,
35406 /* 100158 */ // Label 2112: @100158
35407 /* 100158 */ GIM_Try, /*On fail goto*//*Label 2113*/ GIMT_Encode4(100212), // Rule ID 1641 //
35408 /* 100163 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
35409 /* 100166 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdd),
35410 /* 100171 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35411 /* 100174 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
35412 /* 100177 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
35413 /* 100180 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
35414 /* 100183 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35415 /* 100187 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35416 /* 100191 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35417 /* 100195 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35418 /* 100199 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15045:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VPMACSDDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3)
35419 /* 100199 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDDrr),
35420 /* 100202 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35421 /* 100204 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35422 /* 100206 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35423 /* 100208 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35424 /* 100210 */ GIR_RootConstrainSelectedInstOperands,
35425 /* 100211 */ // GIR_Coverage, 1641,
35426 /* 100211 */ GIR_EraseRootFromParent_Done,
35427 /* 100212 */ // Label 2113: @100212
35428 /* 100212 */ GIM_Try, /*On fail goto*//*Label 2114*/ GIMT_Encode4(100278), // Rule ID 3333 //
35429 /* 100217 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA),
35430 /* 100220 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha256rnds2),
35431 /* 100225 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35432 /* 100228 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
35433 /* 100231 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
35434 /* 100234 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
35435 /* 100237 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35436 /* 100241 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35437 /* 100245 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35438 /* 100249 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35439 /* 100253 */ // (intrinsic_wo_chain:{ *:[v4i32] } 14700:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, XMM0:{ *:[v4i32] }) => (SHA256RNDS2rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
35440 /* 100253 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
35441 /* 100257 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::XMM0), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
35442 /* 100263 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/4, // XMM0
35443 /* 100267 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA256RNDS2rr),
35444 /* 100270 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35445 /* 100272 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35446 /* 100274 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35447 /* 100276 */ GIR_RootConstrainSelectedInstOperands,
35448 /* 100277 */ // GIR_Coverage, 3333,
35449 /* 100277 */ GIR_EraseRootFromParent_Done,
35450 /* 100278 */ // Label 2114: @100278
35451 /* 100278 */ GIM_Try, /*On fail goto*//*Label 2115*/ GIMT_Encode4(100332), // Rule ID 3557 //
35452 /* 100283 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA512),
35453 /* 100286 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsha512rnds2),
35454 /* 100291 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
35455 /* 100294 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
35456 /* 100297 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
35457 /* 100300 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
35458 /* 100303 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
35459 /* 100307 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
35460 /* 100311 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
35461 /* 100315 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35462 /* 100319 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14995:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2, VR128:{ *:[v2i64] }:$src3) => (VSHA512RNDS2rr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2, VR128:{ *:[v2i64] }:$src3)
35463 /* 100319 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSHA512RNDS2rr),
35464 /* 100322 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35465 /* 100324 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35466 /* 100326 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35467 /* 100328 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35468 /* 100330 */ GIR_RootConstrainSelectedInstOperands,
35469 /* 100331 */ // GIR_Coverage, 3557,
35470 /* 100331 */ GIR_EraseRootFromParent_Done,
35471 /* 100332 */ // Label 2115: @100332
35472 /* 100332 */ GIM_Try, /*On fail goto*//*Label 2116*/ GIMT_Encode4(100386), // Rule ID 3558 //
35473 /* 100337 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM3),
35474 /* 100340 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm3msg1),
35475 /* 100345 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35476 /* 100348 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
35477 /* 100351 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
35478 /* 100354 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
35479 /* 100357 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35480 /* 100361 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35481 /* 100365 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35482 /* 100369 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35483 /* 100373 */ // (intrinsic_wo_chain:{ *:[v4i32] } 14996:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VSM3MSG1rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3)
35484 /* 100373 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM3MSG1rr),
35485 /* 100376 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35486 /* 100378 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35487 /* 100380 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35488 /* 100382 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35489 /* 100384 */ GIR_RootConstrainSelectedInstOperands,
35490 /* 100385 */ // GIR_Coverage, 3558,
35491 /* 100385 */ GIR_EraseRootFromParent_Done,
35492 /* 100386 */ // Label 2116: @100386
35493 /* 100386 */ GIM_Try, /*On fail goto*//*Label 2117*/ GIMT_Encode4(100440), // Rule ID 3560 //
35494 /* 100391 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM3),
35495 /* 100394 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm3msg2),
35496 /* 100399 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35497 /* 100402 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
35498 /* 100405 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
35499 /* 100408 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
35500 /* 100411 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35501 /* 100415 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35502 /* 100419 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35503 /* 100423 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35504 /* 100427 */ // (intrinsic_wo_chain:{ *:[v4i32] } 14997:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VSM3MSG2rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3)
35505 /* 100427 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM3MSG2rr),
35506 /* 100430 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35507 /* 100432 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35508 /* 100434 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35509 /* 100436 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35510 /* 100438 */ GIR_RootConstrainSelectedInstOperands,
35511 /* 100439 */ // GIR_Coverage, 3560,
35512 /* 100439 */ GIR_EraseRootFromParent_Done,
35513 /* 100440 */ // Label 2117: @100440
35514 /* 100440 */ GIM_Reject,
35515 /* 100441 */ // Label 2052: @100441
35516 /* 100441 */ GIM_Try, /*On fail goto*//*Label 2118*/ GIMT_Encode4(100570),
35517 /* 100446 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/6,
35518 /* 100449 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm3rnds2),
35519 /* 100454 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35520 /* 100457 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
35521 /* 100460 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
35522 /* 100463 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
35523 /* 100466 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35524 /* 100470 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35525 /* 100474 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35526 /* 100478 */ GIM_Try, /*On fail goto*//*Label 2119*/ GIMT_Encode4(100539), // Rule ID 3563 //
35527 /* 100483 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM3),
35528 /* 100486 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/4, // MIs[1]
35529 /* 100490 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
35530 /* 100494 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
35531 /* 100497 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
35532 /* 100501 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
35533 /* 100505 */ // MIs[0] src4
35534 /* 100505 */ GIM_CheckIsImm, /*MI*/0, /*Op*/5,
35535 /* 100508 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
35536 /* 100510 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35537 /* 100517 */ // (intrinsic_wo_chain:{ *:[v4i32] } 14998:{ *:[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)
35538 /* 100517 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM3RNDS2rmi),
35539 /* 100520 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35540 /* 100522 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35541 /* 100524 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35542 /* 100526 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
35543 /* 100530 */ GIR_RootToRootCopy, /*OpIdx*/5, // src4
35544 /* 100532 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
35545 /* 100537 */ GIR_RootConstrainSelectedInstOperands,
35546 /* 100538 */ // GIR_Coverage, 3563,
35547 /* 100538 */ GIR_EraseRootFromParent_Done,
35548 /* 100539 */ // Label 2119: @100539
35549 /* 100539 */ GIM_Try, /*On fail goto*//*Label 2120*/ GIMT_Encode4(100569), // Rule ID 3562 //
35550 /* 100544 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM3),
35551 /* 100547 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35552 /* 100551 */ // MIs[0] src4
35553 /* 100551 */ GIM_CheckIsImm, /*MI*/0, /*Op*/5,
35554 /* 100554 */ // (intrinsic_wo_chain:{ *:[v4i32] } 14998:{ *:[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)
35555 /* 100554 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM3RNDS2rri),
35556 /* 100557 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35557 /* 100559 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35558 /* 100561 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35559 /* 100563 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35560 /* 100565 */ GIR_RootToRootCopy, /*OpIdx*/5, // src4
35561 /* 100567 */ GIR_RootConstrainSelectedInstOperands,
35562 /* 100568 */ // GIR_Coverage, 3562,
35563 /* 100568 */ GIR_EraseRootFromParent_Done,
35564 /* 100569 */ // Label 2120: @100569
35565 /* 100569 */ GIM_Reject,
35566 /* 100570 */ // Label 2118: @100570
35567 /* 100570 */ GIM_Reject,
35568 /* 100571 */ // Label 18: @100571
35569 /* 100571 */ GIM_Try, /*On fail goto*//*Label 2121*/ GIMT_Encode4(101130),
35570 /* 100576 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/1,
35571 /* 100579 */ GIM_Try, /*On fail goto*//*Label 2122*/ GIMT_Encode4(100601), // Rule ID 149 //
35572 /* 100584 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSERIALIZE),
35573 /* 100587 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_serialize),
35574 /* 100592 */ // (intrinsic_void 14692:{ *:[iPTR] }) => (SERIALIZE)
35575 /* 100592 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SERIALIZE),
35576 /* 100595 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35577 /* 100599 */ GIR_RootConstrainSelectedInstOperands,
35578 /* 100600 */ // GIR_Coverage, 149,
35579 /* 100600 */ GIR_EraseRootFromParent_Done,
35580 /* 100601 */ // Label 2122: @100601
35581 /* 100601 */ GIM_Try, /*On fail goto*//*Label 2123*/ GIMT_Encode4(100623), // Rule ID 150 //
35582 /* 100606 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTSXLDTRK),
35583 /* 100609 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsusldtrk),
35584 /* 100614 */ // (intrinsic_void 15080:{ *:[iPTR] }) => (XSUSLDTRK)
35585 /* 100614 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSUSLDTRK),
35586 /* 100617 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35587 /* 100621 */ GIR_RootConstrainSelectedInstOperands,
35588 /* 100622 */ // GIR_Coverage, 150,
35589 /* 100622 */ GIR_EraseRootFromParent_Done,
35590 /* 100623 */ // Label 2123: @100623
35591 /* 100623 */ GIM_Try, /*On fail goto*//*Label 2124*/ GIMT_Encode4(100645), // Rule ID 151 //
35592 /* 100628 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTSXLDTRK),
35593 /* 100631 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xresldtrk),
35594 /* 100636 */ // (intrinsic_void 15066:{ *:[iPTR] }) => (XRESLDTRK)
35595 /* 100636 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XRESLDTRK),
35596 /* 100639 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35597 /* 100643 */ GIR_RootConstrainSelectedInstOperands,
35598 /* 100644 */ // GIR_Coverage, 151,
35599 /* 100644 */ GIR_EraseRootFromParent_Done,
35600 /* 100645 */ // Label 2124: @100645
35601 /* 100645 */ GIM_Try, /*On fail goto*//*Label 2125*/ GIMT_Encode4(100667), // Rule ID 152 //
35602 /* 100650 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasUINTR_In64BitMode),
35603 /* 100653 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_clui),
35604 /* 100658 */ // (intrinsic_void 14550:{ *:[iPTR] }) => (CLUI)
35605 /* 100658 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CLUI),
35606 /* 100661 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35607 /* 100665 */ GIR_RootConstrainSelectedInstOperands,
35608 /* 100666 */ // GIR_Coverage, 152,
35609 /* 100666 */ GIR_EraseRootFromParent_Done,
35610 /* 100667 */ // Label 2125: @100667
35611 /* 100667 */ GIM_Try, /*On fail goto*//*Label 2126*/ GIMT_Encode4(100689), // Rule ID 153 //
35612 /* 100672 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasUINTR_In64BitMode),
35613 /* 100675 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_stui),
35614 /* 100680 */ // (intrinsic_void 14874:{ *:[iPTR] }) => (STUI)
35615 /* 100680 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::STUI),
35616 /* 100683 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35617 /* 100687 */ GIR_RootConstrainSelectedInstOperands,
35618 /* 100688 */ // GIR_Coverage, 153,
35619 /* 100688 */ GIR_EraseRootFromParent_Done,
35620 /* 100689 */ // Label 2126: @100689
35621 /* 100689 */ GIM_Try, /*On fail goto*//*Label 2127*/ GIMT_Encode4(100708), // Rule ID 2510 //
35622 /* 100694 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_pause),
35623 /* 100699 */ // (intrinsic_void 14769:{ *:[iPTR] }) => (PAUSE)
35624 /* 100699 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PAUSE),
35625 /* 100702 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35626 /* 100706 */ GIR_RootConstrainSelectedInstOperands,
35627 /* 100707 */ // GIR_Coverage, 2510,
35628 /* 100707 */ GIR_EraseRootFromParent_Done,
35629 /* 100708 */ // Label 2127: @100708
35630 /* 100708 */ GIM_Try, /*On fail goto*//*Label 2128*/ GIMT_Encode4(100730), // Rule ID 2511 //
35631 /* 100713 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE1),
35632 /* 100716 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse_sfence),
35633 /* 100721 */ // (intrinsic_void 14731:{ *:[iPTR] }) => (SFENCE)
35634 /* 100721 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SFENCE),
35635 /* 100724 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35636 /* 100728 */ GIR_RootConstrainSelectedInstOperands,
35637 /* 100729 */ // GIR_Coverage, 2511,
35638 /* 100729 */ GIR_EraseRootFromParent_Done,
35639 /* 100730 */ // Label 2128: @100730
35640 /* 100730 */ GIM_Try, /*On fail goto*//*Label 2129*/ GIMT_Encode4(100752), // Rule ID 2512 //
35641 /* 100735 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE2),
35642 /* 100738 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_lfence),
35643 /* 100743 */ // (intrinsic_void 14758:{ *:[iPTR] }) => (LFENCE)
35644 /* 100743 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LFENCE),
35645 /* 100746 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35646 /* 100750 */ GIR_RootConstrainSelectedInstOperands,
35647 /* 100751 */ // GIR_Coverage, 2512,
35648 /* 100751 */ GIR_EraseRootFromParent_Done,
35649 /* 100752 */ // Label 2129: @100752
35650 /* 100752 */ GIM_Try, /*On fail goto*//*Label 2130*/ GIMT_Encode4(100774), // Rule ID 2513 //
35651 /* 100757 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMFence),
35652 /* 100760 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_mfence),
35653 /* 100765 */ // (intrinsic_void 14762:{ *:[iPTR] }) => (MFENCE)
35654 /* 100765 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MFENCE),
35655 /* 100768 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35656 /* 100772 */ GIR_RootConstrainSelectedInstOperands,
35657 /* 100773 */ // GIR_Coverage, 2513,
35658 /* 100773 */ GIR_EraseRootFromParent_Done,
35659 /* 100774 */ // Label 2130: @100774
35660 /* 100774 */ GIM_Try, /*On fail goto*//*Label 2131*/ GIMT_Encode4(100840), // Rule ID 3427 //
35661 /* 100779 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
35662 /* 100782 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx_vzeroall),
35663 /* 100787 */ // (intrinsic_void 13464:{ *:[iPTR] }) => (VZEROALL)
35664 /* 100787 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VZEROALL),
35665 /* 100790 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM0*/0,
35666 /* 100793 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM1*/1,
35667 /* 100796 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM2*/2,
35668 /* 100799 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM3*/3,
35669 /* 100802 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM4*/4,
35670 /* 100805 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM5*/5,
35671 /* 100808 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM6*/6,
35672 /* 100811 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM7*/7,
35673 /* 100814 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM8*/8,
35674 /* 100817 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM9*/9,
35675 /* 100820 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM10*/10,
35676 /* 100823 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM11*/11,
35677 /* 100826 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM12*/12,
35678 /* 100829 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM13*/13,
35679 /* 100832 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM14*/14,
35680 /* 100835 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM15*/15,
35681 /* 100838 */ GIR_RootConstrainSelectedInstOperands,
35682 /* 100839 */ // GIR_Coverage, 3427,
35683 /* 100839 */ GIR_EraseRootFromParent_Done,
35684 /* 100840 */ // Label 2131: @100840
35685 /* 100840 */ GIM_Try, /*On fail goto*//*Label 2132*/ GIMT_Encode4(100906), // Rule ID 3428 //
35686 /* 100845 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
35687 /* 100848 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx_vzeroupper),
35688 /* 100853 */ // (intrinsic_void 13465:{ *:[iPTR] }) => (VZEROUPPER)
35689 /* 100853 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VZEROUPPER),
35690 /* 100856 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM0*/0,
35691 /* 100859 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM1*/1,
35692 /* 100862 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM2*/2,
35693 /* 100865 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM3*/3,
35694 /* 100868 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM4*/4,
35695 /* 100871 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM5*/5,
35696 /* 100874 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM6*/6,
35697 /* 100877 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM7*/7,
35698 /* 100880 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM8*/8,
35699 /* 100883 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM9*/9,
35700 /* 100886 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM10*/10,
35701 /* 100889 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM11*/11,
35702 /* 100892 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM12*/12,
35703 /* 100895 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM13*/13,
35704 /* 100898 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM14*/14,
35705 /* 100901 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM15*/15,
35706 /* 100904 */ GIR_RootConstrainSelectedInstOperands,
35707 /* 100905 */ // GIR_Coverage, 3428,
35708 /* 100905 */ GIR_EraseRootFromParent_Done,
35709 /* 100906 */ // Label 2132: @100906
35710 /* 100906 */ GIM_Try, /*On fail goto*//*Label 2133*/ GIMT_Encode4(100976), // Rule ID 16802 //
35711 /* 100911 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMMX),
35712 /* 100914 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_mmx_emms),
35713 /* 100919 */ // (intrinsic_void 14585:{ *:[iPTR] }) => (MMX_EMMS:{ *:[x86mmx] })
35714 /* 100919 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MMX_EMMS),
35715 /* 100922 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM0*/0,
35716 /* 100925 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM1*/1,
35717 /* 100928 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM2*/2,
35718 /* 100931 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM3*/3,
35719 /* 100934 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM4*/4,
35720 /* 100937 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM5*/5,
35721 /* 100940 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM6*/6,
35722 /* 100943 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM7*/7,
35723 /* 100946 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST0*/8,
35724 /* 100949 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST1*/9,
35725 /* 100952 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST2*/10,
35726 /* 100955 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST3*/11,
35727 /* 100958 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST4*/12,
35728 /* 100961 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST5*/13,
35729 /* 100964 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST6*/14,
35730 /* 100967 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST7*/15,
35731 /* 100970 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35732 /* 100974 */ GIR_RootConstrainSelectedInstOperands,
35733 /* 100975 */ // GIR_Coverage, 16802,
35734 /* 100975 */ GIR_EraseRootFromParent_Done,
35735 /* 100976 */ // Label 2133: @100976
35736 /* 100976 */ GIM_Try, /*On fail goto*//*Label 2134*/ GIMT_Encode4(100998), // Rule ID 16985 //
35737 /* 100981 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasRTM),
35738 /* 100984 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xend),
35739 /* 100989 */ // (intrinsic_void 15018:{ *:[iPTR] }) => (XEND)
35740 /* 100989 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XEND),
35741 /* 100992 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35742 /* 100996 */ GIR_RootConstrainSelectedInstOperands,
35743 /* 100997 */ // GIR_Coverage, 16985,
35744 /* 100997 */ GIR_EraseRootFromParent_Done,
35745 /* 100998 */ // Label 2134: @100998
35746 /* 100998 */ GIM_Try, /*On fail goto*//*Label 2135*/ GIMT_Encode4(101044), // Rule ID 16997 //
35747 /* 101003 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXTILE_In64BitMode),
35748 /* 101006 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tilerelease),
35749 /* 101011 */ // (intrinsic_void 14944:{ *:[iPTR] }) => (TILERELEASE:{ *:[x86amx] })
35750 /* 101011 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TILERELEASE),
35751 /* 101014 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM0*/0,
35752 /* 101017 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM1*/1,
35753 /* 101020 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM2*/2,
35754 /* 101023 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM3*/3,
35755 /* 101026 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM4*/4,
35756 /* 101029 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM5*/5,
35757 /* 101032 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM6*/6,
35758 /* 101035 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM7*/7,
35759 /* 101038 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35760 /* 101042 */ GIR_RootConstrainSelectedInstOperands,
35761 /* 101043 */ // GIR_Coverage, 16997,
35762 /* 101043 */ GIR_EraseRootFromParent_Done,
35763 /* 101044 */ // Label 2135: @101044
35764 /* 101044 */ GIM_Try, /*On fail goto*//*Label 2136*/ GIMT_Encode4(101063), // Rule ID 17086 //
35765 /* 101049 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wbinvd),
35766 /* 101054 */ // (intrinsic_void 15005:{ *:[iPTR] }) => (WBINVD)
35767 /* 101054 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WBINVD),
35768 /* 101057 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35769 /* 101061 */ GIR_RootConstrainSelectedInstOperands,
35770 /* 101062 */ // GIR_Coverage, 17086,
35771 /* 101062 */ GIR_EraseRootFromParent_Done,
35772 /* 101063 */ // Label 2136: @101063
35773 /* 101063 */ GIM_Try, /*On fail goto*//*Label 2137*/ GIMT_Encode4(101085), // Rule ID 17087 //
35774 /* 101068 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasWBNOINVD),
35775 /* 101071 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wbnoinvd),
35776 /* 101076 */ // (intrinsic_void 15006:{ *:[iPTR] }) => (WBNOINVD)
35777 /* 101076 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WBNOINVD),
35778 /* 101079 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35779 /* 101083 */ GIR_RootConstrainSelectedInstOperands,
35780 /* 101084 */ // GIR_Coverage, 17087,
35781 /* 101084 */ GIR_EraseRootFromParent_Done,
35782 /* 101085 */ // Label 2137: @101085
35783 /* 101085 */ GIM_Try, /*On fail goto*//*Label 2138*/ GIMT_Encode4(101107), // Rule ID 17092 //
35784 /* 101090 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_saveprevssp),
35785 /* 101095 */ // (intrinsic_void 14687:{ *:[iPTR] }) => (SAVEPREVSSP)
35786 /* 101095 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAVEPREVSSP),
35787 /* 101098 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::SSP*/0,
35788 /* 101101 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35789 /* 101105 */ GIR_RootConstrainSelectedInstOperands,
35790 /* 101106 */ // GIR_Coverage, 17092,
35791 /* 101106 */ GIR_EraseRootFromParent_Done,
35792 /* 101107 */ // Label 2138: @101107
35793 /* 101107 */ GIM_Try, /*On fail goto*//*Label 2139*/ GIMT_Encode4(101129), // Rule ID 17102 //
35794 /* 101112 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_setssbsy),
35795 /* 101117 */ // (intrinsic_void 14693:{ *:[iPTR] }) => (SETSSBSY)
35796 /* 101117 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SETSSBSY),
35797 /* 101120 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::SSP*/0,
35798 /* 101123 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35799 /* 101127 */ GIR_RootConstrainSelectedInstOperands,
35800 /* 101128 */ // GIR_Coverage, 17102,
35801 /* 101128 */ GIR_EraseRootFromParent_Done,
35802 /* 101129 */ // Label 2139: @101129
35803 /* 101129 */ GIM_Reject,
35804 /* 101130 */ // Label 2121: @101130
35805 /* 101130 */ GIM_Try, /*On fail goto*//*Label 2140*/ GIMT_Encode4(103018),
35806 /* 101135 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/2,
35807 /* 101138 */ GIM_Try, /*On fail goto*//*Label 2141*/ GIMT_Encode4(101196), // Rule ID 17130 //
35808 /* 101143 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPTWRITE_In64BitMode),
35809 /* 101146 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ptwrite64),
35810 /* 101151 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
35811 /* 101154 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
35812 /* 101158 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
35813 /* 101162 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
35814 /* 101165 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
35815 /* 101169 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
35816 /* 101173 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
35817 /* 101175 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35818 /* 101182 */ // (intrinsic_void 14667:{ *:[iPTR] }, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (PTWRITE64m addr:{ *:[iPTR] }:$dst)
35819 /* 101182 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTWRITE64m),
35820 /* 101185 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
35821 /* 101189 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
35822 /* 101194 */ GIR_RootConstrainSelectedInstOperands,
35823 /* 101195 */ // GIR_Coverage, 17130,
35824 /* 101195 */ GIR_EraseRootFromParent_Done,
35825 /* 101196 */ // Label 2141: @101196
35826 /* 101196 */ GIM_Try, /*On fail goto*//*Label 2142*/ GIMT_Encode4(101254), // Rule ID 17129 //
35827 /* 101201 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPTWRITE),
35828 /* 101204 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ptwrite32),
35829 /* 101209 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
35830 /* 101212 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
35831 /* 101216 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
35832 /* 101220 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
35833 /* 101223 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
35834 /* 101227 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
35835 /* 101231 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
35836 /* 101233 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35837 /* 101240 */ // (intrinsic_void 14666:{ *:[iPTR] }, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (PTWRITEm addr:{ *:[iPTR] }:$dst)
35838 /* 101240 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTWRITEm),
35839 /* 101243 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
35840 /* 101247 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
35841 /* 101252 */ GIR_RootConstrainSelectedInstOperands,
35842 /* 101253 */ // GIR_Coverage, 17129,
35843 /* 101253 */ GIR_EraseRootFromParent_Done,
35844 /* 101254 */ // Label 2142: @101254
35845 /* 101254 */ GIM_Try, /*On fail goto*//*Label 2143*/ GIMT_Encode4(101291), // Rule ID 162 //
35846 /* 101259 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCLFLUSHOPT),
35847 /* 101262 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_clflushopt),
35848 /* 101267 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35849 /* 101271 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35850 /* 101278 */ // (intrinsic_void 14548:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (CLFLUSHOPT addr:{ *:[iPTR] }:$src)
35851 /* 101278 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CLFLUSHOPT),
35852 /* 101281 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35853 /* 101285 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35854 /* 101289 */ GIR_RootConstrainSelectedInstOperands,
35855 /* 101290 */ // GIR_Coverage, 162,
35856 /* 101290 */ GIR_EraseRootFromParent_Done,
35857 /* 101291 */ // Label 2143: @101291
35858 /* 101291 */ GIM_Try, /*On fail goto*//*Label 2144*/ GIMT_Encode4(101328), // Rule ID 163 //
35859 /* 101296 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCLWB),
35860 /* 101299 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_clwb),
35861 /* 101304 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35862 /* 101308 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35863 /* 101315 */ // (intrinsic_void 14551:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (CLWB addr:{ *:[iPTR] }:$src)
35864 /* 101315 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CLWB),
35865 /* 101318 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35866 /* 101322 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35867 /* 101326 */ GIR_RootConstrainSelectedInstOperands,
35868 /* 101327 */ // GIR_Coverage, 163,
35869 /* 101327 */ GIR_EraseRootFromParent_Done,
35870 /* 101328 */ // Label 2144: @101328
35871 /* 101328 */ GIM_Try, /*On fail goto*//*Label 2145*/ GIMT_Encode4(101365), // Rule ID 164 //
35872 /* 101333 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCLDEMOTE),
35873 /* 101336 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_cldemote),
35874 /* 101341 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35875 /* 101345 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35876 /* 101352 */ // (intrinsic_void 14547:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (CLDEMOTE addr:{ *:[iPTR] }:$src)
35877 /* 101352 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CLDEMOTE),
35878 /* 101355 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35879 /* 101359 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35880 /* 101363 */ GIR_RootConstrainSelectedInstOperands,
35881 /* 101364 */ // GIR_Coverage, 164,
35882 /* 101364 */ GIR_EraseRootFromParent_Done,
35883 /* 101365 */ // Label 2145: @101365
35884 /* 101365 */ GIM_Try, /*On fail goto*//*Label 2146*/ GIMT_Encode4(101402), // Rule ID 169 //
35885 /* 101370 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVRS),
35886 /* 101373 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_prefetchrs),
35887 /* 101378 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35888 /* 101382 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35889 /* 101389 */ // (intrinsic_void 14665:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (PREFETCHRST2 addr:{ *:[iPTR] }:$src)
35890 /* 101389 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHRST2),
35891 /* 101392 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35892 /* 101396 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35893 /* 101400 */ GIR_RootConstrainSelectedInstOperands,
35894 /* 101401 */ // GIR_Coverage, 169,
35895 /* 101401 */ GIR_EraseRootFromParent_Done,
35896 /* 101402 */ // Label 2146: @101402
35897 /* 101402 */ GIM_Try, /*On fail goto*//*Label 2147*/ GIMT_Encode4(101439), // Rule ID 1133 //
35898 /* 101407 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFXSR),
35899 /* 101410 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_fxsave),
35900 /* 101415 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35901 /* 101419 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35902 /* 101426 */ // (intrinsic_void 14571:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst) => (FXSAVE addr:{ *:[iPTR] }:$dst)
35903 /* 101426 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FXSAVE),
35904 /* 101429 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
35905 /* 101433 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35906 /* 101437 */ GIR_RootConstrainSelectedInstOperands,
35907 /* 101438 */ // GIR_Coverage, 1133,
35908 /* 101438 */ GIR_EraseRootFromParent_Done,
35909 /* 101439 */ // Label 2147: @101439
35910 /* 101439 */ GIM_Try, /*On fail goto*//*Label 2148*/ GIMT_Encode4(101476), // Rule ID 1134 //
35911 /* 101444 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFXSR_In64BitMode),
35912 /* 101447 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_fxsave64),
35913 /* 101452 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35914 /* 101456 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35915 /* 101463 */ // (intrinsic_void 14572:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst) => (FXSAVE64 addr:{ *:[iPTR] }:$dst)
35916 /* 101463 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FXSAVE64),
35917 /* 101466 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
35918 /* 101470 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35919 /* 101474 */ GIR_RootConstrainSelectedInstOperands,
35920 /* 101475 */ // GIR_Coverage, 1134,
35921 /* 101475 */ GIR_EraseRootFromParent_Done,
35922 /* 101476 */ // Label 2148: @101476
35923 /* 101476 */ GIM_Try, /*On fail goto*//*Label 2149*/ GIMT_Encode4(101519), // Rule ID 1135 //
35924 /* 101481 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFXSR),
35925 /* 101484 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_fxrstor),
35926 /* 101489 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35927 /* 101493 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35928 /* 101500 */ // (intrinsic_void 14569:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (FXRSTOR:{ *:[i16] } addr:{ *:[iPTR] }:$src)
35929 /* 101500 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FXRSTOR),
35930 /* 101503 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35931 /* 101507 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
35932 /* 101510 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPCW*/1,
35933 /* 101513 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35934 /* 101517 */ GIR_RootConstrainSelectedInstOperands,
35935 /* 101518 */ // GIR_Coverage, 1135,
35936 /* 101518 */ GIR_EraseRootFromParent_Done,
35937 /* 101519 */ // Label 2149: @101519
35938 /* 101519 */ GIM_Try, /*On fail goto*//*Label 2150*/ GIMT_Encode4(101562), // Rule ID 1136 //
35939 /* 101524 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFXSR_In64BitMode),
35940 /* 101527 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_fxrstor64),
35941 /* 101532 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35942 /* 101536 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35943 /* 101543 */ // (intrinsic_void 14570:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (FXRSTOR64:{ *:[i16] } addr:{ *:[iPTR] }:$src)
35944 /* 101543 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FXRSTOR64),
35945 /* 101546 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35946 /* 101550 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
35947 /* 101553 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPCW*/1,
35948 /* 101556 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35949 /* 101560 */ GIR_RootConstrainSelectedInstOperands,
35950 /* 101561 */ // GIR_Coverage, 1136,
35951 /* 101561 */ GIR_EraseRootFromParent_Done,
35952 /* 101562 */ // Label 2150: @101562
35953 /* 101562 */ GIM_Try, /*On fail goto*//*Label 2151*/ GIMT_Encode4(101599), // Rule ID 2509 //
35954 /* 101567 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCLFLUSH),
35955 /* 101570 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_clflush),
35956 /* 101575 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35957 /* 101579 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35958 /* 101586 */ // (intrinsic_void 14739:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (CLFLUSH addr:{ *:[iPTR] }:$src)
35959 /* 101586 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CLFLUSH),
35960 /* 101589 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35961 /* 101593 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35962 /* 101597 */ GIR_RootConstrainSelectedInstOperands,
35963 /* 101598 */ // GIR_Coverage, 2509,
35964 /* 101598 */ GIR_EraseRootFromParent_Done,
35965 /* 101599 */ // Label 2151: @101599
35966 /* 101599 */ GIM_Try, /*On fail goto*//*Label 2152*/ GIMT_Encode4(101639), // Rule ID 2514 //
35967 /* 101604 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
35968 /* 101607 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse_ldmxcsr),
35969 /* 101612 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35970 /* 101616 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35971 /* 101623 */ // (intrinsic_void 14720:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VLDMXCSR addr:{ *:[iPTR] }:$src)
35972 /* 101623 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VLDMXCSR),
35973 /* 101626 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35974 /* 101630 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MXCSR*/0,
35975 /* 101633 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35976 /* 101637 */ GIR_RootConstrainSelectedInstOperands,
35977 /* 101638 */ // GIR_Coverage, 2514,
35978 /* 101638 */ GIR_EraseRootFromParent_Done,
35979 /* 101639 */ // Label 2152: @101639
35980 /* 101639 */ GIM_Try, /*On fail goto*//*Label 2153*/ GIMT_Encode4(101676), // Rule ID 2515 //
35981 /* 101644 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
35982 /* 101647 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse_stmxcsr),
35983 /* 101652 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35984 /* 101656 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35985 /* 101663 */ // (intrinsic_void 14732:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst) => (VSTMXCSR addr:{ *:[iPTR] }:$dst)
35986 /* 101663 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSTMXCSR),
35987 /* 101666 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
35988 /* 101670 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35989 /* 101674 */ GIR_RootConstrainSelectedInstOperands,
35990 /* 101675 */ // GIR_Coverage, 2515,
35991 /* 101675 */ GIR_EraseRootFromParent_Done,
35992 /* 101676 */ // Label 2153: @101676
35993 /* 101676 */ GIM_Try, /*On fail goto*//*Label 2154*/ GIMT_Encode4(101713), // Rule ID 2516 //
35994 /* 101681 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse_ldmxcsr),
35995 /* 101686 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35996 /* 101690 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35997 /* 101697 */ // (intrinsic_void 14720:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (LDMXCSR addr:{ *:[iPTR] }:$src)
35998 /* 101697 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LDMXCSR),
35999 /* 101700 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36000 /* 101704 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MXCSR*/0,
36001 /* 101707 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36002 /* 101711 */ GIR_RootConstrainSelectedInstOperands,
36003 /* 101712 */ // GIR_Coverage, 2516,
36004 /* 101712 */ GIR_EraseRootFromParent_Done,
36005 /* 101713 */ // Label 2154: @101713
36006 /* 101713 */ GIM_Try, /*On fail goto*//*Label 2155*/ GIMT_Encode4(101747), // Rule ID 2517 //
36007 /* 101718 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse_stmxcsr),
36008 /* 101723 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36009 /* 101727 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36010 /* 101734 */ // (intrinsic_void 14732:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst) => (STMXCSR addr:{ *:[iPTR] }:$dst)
36011 /* 101734 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::STMXCSR),
36012 /* 101737 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36013 /* 101741 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36014 /* 101745 */ GIR_RootConstrainSelectedInstOperands,
36015 /* 101746 */ // GIR_Coverage, 2517,
36016 /* 101746 */ GIR_EraseRootFromParent_Done,
36017 /* 101747 */ // Label 2155: @101747
36018 /* 101747 */ GIM_Try, /*On fail goto*//*Label 2156*/ GIMT_Encode4(101808), // Rule ID 16993 //
36019 /* 101752 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXTILE_In64BitMode_NoEGPR),
36020 /* 101755 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ldtilecfg),
36021 /* 101760 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36022 /* 101764 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36023 /* 101771 */ // (intrinsic_void 14577:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (LDTILECFG:{ *:[x86amx] } addr:{ *:[iPTR] }:$src)
36024 /* 101771 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LDTILECFG),
36025 /* 101774 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36026 /* 101778 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM0*/0,
36027 /* 101781 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM1*/1,
36028 /* 101784 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM2*/2,
36029 /* 101787 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM3*/3,
36030 /* 101790 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM4*/4,
36031 /* 101793 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM5*/5,
36032 /* 101796 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM6*/6,
36033 /* 101799 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM7*/7,
36034 /* 101802 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36035 /* 101806 */ GIR_RootConstrainSelectedInstOperands,
36036 /* 101807 */ // GIR_Coverage, 16993,
36037 /* 101807 */ GIR_EraseRootFromParent_Done,
36038 /* 101808 */ // Label 2156: @101808
36039 /* 101808 */ GIM_Try, /*On fail goto*//*Label 2157*/ GIMT_Encode4(101845), // Rule ID 16994 //
36040 /* 101813 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXTILE_In64BitMode_NoEGPR),
36041 /* 101816 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sttilecfg),
36042 /* 101821 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36043 /* 101825 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36044 /* 101832 */ // (intrinsic_void 14873:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (STTILECFG addr:{ *:[iPTR] }:$src)
36045 /* 101832 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::STTILECFG),
36046 /* 101835 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36047 /* 101839 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36048 /* 101843 */ GIR_RootConstrainSelectedInstOperands,
36049 /* 101844 */ // GIR_Coverage, 16994,
36050 /* 101844 */ GIR_EraseRootFromParent_Done,
36051 /* 101845 */ // Label 2157: @101845
36052 /* 101845 */ GIM_Try, /*On fail goto*//*Label 2158*/ GIMT_Encode4(101906), // Rule ID 16995 //
36053 /* 101850 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXTILE_HasEGPR_In64BitMode),
36054 /* 101853 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ldtilecfg),
36055 /* 101858 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36056 /* 101862 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36057 /* 101869 */ // (intrinsic_void 14577:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (LDTILECFG_EVEX:{ *:[x86amx] } addr:{ *:[iPTR] }:$src)
36058 /* 101869 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LDTILECFG_EVEX),
36059 /* 101872 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36060 /* 101876 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM0*/0,
36061 /* 101879 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM1*/1,
36062 /* 101882 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM2*/2,
36063 /* 101885 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM3*/3,
36064 /* 101888 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM4*/4,
36065 /* 101891 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM5*/5,
36066 /* 101894 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM6*/6,
36067 /* 101897 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM7*/7,
36068 /* 101900 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36069 /* 101904 */ GIR_RootConstrainSelectedInstOperands,
36070 /* 101905 */ // GIR_Coverage, 16995,
36071 /* 101905 */ GIR_EraseRootFromParent_Done,
36072 /* 101906 */ // Label 2158: @101906
36073 /* 101906 */ GIM_Try, /*On fail goto*//*Label 2159*/ GIMT_Encode4(101943), // Rule ID 16996 //
36074 /* 101911 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXTILE_HasEGPR_In64BitMode),
36075 /* 101914 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sttilecfg),
36076 /* 101919 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36077 /* 101923 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36078 /* 101930 */ // (intrinsic_void 14873:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (STTILECFG_EVEX addr:{ *:[iPTR] }:$src)
36079 /* 101930 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::STTILECFG_EVEX),
36080 /* 101933 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36081 /* 101937 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36082 /* 101941 */ GIR_RootConstrainSelectedInstOperands,
36083 /* 101942 */ // GIR_Coverage, 16996,
36084 /* 101942 */ GIR_EraseRootFromParent_Done,
36085 /* 101943 */ // Label 2159: @101943
36086 /* 101943 */ GIM_Try, /*On fail goto*//*Label 2160*/ GIMT_Encode4(101980), // Rule ID 17093 //
36087 /* 101948 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_rstorssp),
36088 /* 101953 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36089 /* 101957 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36090 /* 101964 */ // (intrinsic_void 14686:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (RSTORSSP addr:{ *:[iPTR] }:$src)
36091 /* 101964 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RSTORSSP),
36092 /* 101967 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36093 /* 101971 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::SSP*/0,
36094 /* 101974 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36095 /* 101978 */ GIR_RootConstrainSelectedInstOperands,
36096 /* 101979 */ // GIR_Coverage, 17093,
36097 /* 101979 */ GIR_EraseRootFromParent_Done,
36098 /* 101980 */ // Label 2160: @101980
36099 /* 101980 */ GIM_Try, /*On fail goto*//*Label 2161*/ GIMT_Encode4(102017), // Rule ID 17103 //
36100 /* 101985 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_clrssbsy),
36101 /* 101990 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36102 /* 101994 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36103 /* 102001 */ // (intrinsic_void 14549:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (CLRSSBSY addr:{ *:[iPTR] }:$src)
36104 /* 102001 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CLRSSBSY),
36105 /* 102004 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36106 /* 102008 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::SSP*/0,
36107 /* 102011 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36108 /* 102015 */ GIR_RootConstrainSelectedInstOperands,
36109 /* 102016 */ // GIR_Coverage, 17103,
36110 /* 102016 */ GIR_EraseRootFromParent_Done,
36111 /* 102017 */ // Label 2161: @102017
36112 /* 102017 */ GIM_Try, /*On fail goto*//*Label 2162*/ GIMT_Encode4(102047), // Rule ID 17075 //
36113 /* 102022 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_int),
36114 /* 102027 */ // MIs[0] Operand 1
36115 /* 102027 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(3),
36116 /* 102038 */ // (intrinsic_void 14575:{ *:[iPTR] }, 3:{ *:[i8] }) => (INT3)
36117 /* 102038 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INT3),
36118 /* 102041 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36119 /* 102045 */ GIR_RootConstrainSelectedInstOperands,
36120 /* 102046 */ // GIR_Coverage, 17075,
36121 /* 102046 */ GIR_EraseRootFromParent_Done,
36122 /* 102047 */ // Label 2162: @102047
36123 /* 102047 */ GIM_Try, /*On fail goto*//*Label 2163*/ GIMT_Encode4(102074), // Rule ID 16987 //
36124 /* 102052 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasRTM),
36125 /* 102055 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xabort),
36126 /* 102060 */ // MIs[0] imm
36127 /* 102060 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
36128 /* 102063 */ // (intrinsic_void 15016:{ *:[iPTR] }, (timm:{ *:[i8] }):$imm) => (XABORT (timm:{ *:[i8] }):$imm)
36129 /* 102063 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XABORT),
36130 /* 102066 */ GIR_RootToRootCopy, /*OpIdx*/1, // imm
36131 /* 102068 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36132 /* 102072 */ GIR_RootConstrainSelectedInstOperands,
36133 /* 102073 */ // GIR_Coverage, 16987,
36134 /* 102073 */ GIR_EraseRootFromParent_Done,
36135 /* 102074 */ // Label 2163: @102074
36136 /* 102074 */ GIM_Try, /*On fail goto*//*Label 2164*/ GIMT_Encode4(102101), // Rule ID 16999 //
36137 /* 102079 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXTILE_In64BitMode),
36138 /* 102082 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tilezero),
36139 /* 102087 */ // MIs[0] src
36140 /* 102087 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
36141 /* 102090 */ // (intrinsic_void 14947:{ *:[iPTR] }, (timm:{ *:[i8] }):$src) => (PTILEZERO (timm:{ *:[i8] }):$src)
36142 /* 102090 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTILEZERO),
36143 /* 102093 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36144 /* 102095 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36145 /* 102099 */ GIR_RootConstrainSelectedInstOperands,
36146 /* 102100 */ // GIR_Coverage, 16999,
36147 /* 102100 */ GIR_EraseRootFromParent_Done,
36148 /* 102101 */ // Label 2164: @102101
36149 /* 102101 */ GIM_Try, /*On fail goto*//*Label 2165*/ GIMT_Encode4(102125), // Rule ID 17077 //
36150 /* 102106 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_int),
36151 /* 102111 */ // MIs[0] trap
36152 /* 102111 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
36153 /* 102114 */ // (intrinsic_void 14575:{ *:[iPTR] }, (timm:{ *:[i8] }):$trap) => (INT (timm:{ *:[i8] }):$trap)
36154 /* 102114 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INT),
36155 /* 102117 */ GIR_RootToRootCopy, /*OpIdx*/1, // trap
36156 /* 102119 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36157 /* 102123 */ GIR_RootConstrainSelectedInstOperands,
36158 /* 102124 */ // GIR_Coverage, 17077,
36159 /* 102124 */ GIR_EraseRootFromParent_Done,
36160 /* 102125 */ // Label 2165: @102125
36161 /* 102125 */ GIM_Try, /*On fail goto*//*Label 2166*/ GIMT_Encode4(102159), // Rule ID 1 //
36162 /* 102130 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_Not64BitMode),
36163 /* 102133 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_flags_read_u32),
36164 /* 102138 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
36165 /* 102141 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36166 /* 102145 */ // (intrinsic_w_chain:{ *:[i32] } 14561:{ *:[iPTR] }) => (RDFLAGS32:{ *:[i32] }:{ *:[i32] })
36167 /* 102145 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDFLAGS32),
36168 /* 102148 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36169 /* 102150 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ESP*/0,
36170 /* 102153 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36171 /* 102157 */ GIR_RootConstrainSelectedInstOperands,
36172 /* 102158 */ // GIR_Coverage, 1,
36173 /* 102158 */ GIR_EraseRootFromParent_Done,
36174 /* 102159 */ // Label 2166: @102159
36175 /* 102159 */ GIM_Try, /*On fail goto*//*Label 2167*/ GIMT_Encode4(102193), // Rule ID 2 //
36176 /* 102164 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
36177 /* 102167 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_flags_read_u64),
36178 /* 102172 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
36179 /* 102175 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36180 /* 102179 */ // (intrinsic_w_chain:{ *:[i64] } 14562:{ *:[iPTR] }) => (RDFLAGS64:{ *:[i64] }:{ *:[i32] })
36181 /* 102179 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDFLAGS64),
36182 /* 102182 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36183 /* 102184 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ESP*/0,
36184 /* 102187 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36185 /* 102191 */ GIR_RootConstrainSelectedInstOperands,
36186 /* 102192 */ // GIR_Coverage, 2,
36187 /* 102192 */ GIR_EraseRootFromParent_Done,
36188 /* 102193 */ // Label 2167: @102193
36189 /* 102193 */ GIM_Try, /*On fail goto*//*Label 2168*/ GIMT_Encode4(102224), // Rule ID 115 //
36190 /* 102198 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLWP),
36191 /* 102201 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_slwpcb),
36192 /* 102206 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
36193 /* 102209 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36194 /* 102213 */ // (intrinsic_w_chain:{ *:[i32] } 14701:{ *:[iPTR] }) => (SLWPCB:{ *:[i32] })
36195 /* 102213 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SLWPCB),
36196 /* 102216 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36197 /* 102218 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36198 /* 102222 */ GIR_RootConstrainSelectedInstOperands,
36199 /* 102223 */ // GIR_Coverage, 115,
36200 /* 102223 */ GIR_EraseRootFromParent_Done,
36201 /* 102224 */ // Label 2168: @102224
36202 /* 102224 */ GIM_Try, /*On fail goto*//*Label 2169*/ GIMT_Encode4(102255), // Rule ID 117 //
36203 /* 102229 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLWP),
36204 /* 102232 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_slwpcb),
36205 /* 102237 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
36206 /* 102240 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36207 /* 102244 */ // (intrinsic_w_chain:{ *:[i64] } 14701:{ *:[iPTR] }) => (SLWPCB64:{ *:[i64] })
36208 /* 102244 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SLWPCB64),
36209 /* 102247 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36210 /* 102249 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36211 /* 102253 */ GIR_RootConstrainSelectedInstOperands,
36212 /* 102254 */ // GIR_Coverage, 117,
36213 /* 102254 */ GIR_EraseRootFromParent_Done,
36214 /* 102255 */ // Label 2169: @102255
36215 /* 102255 */ GIM_Try, /*On fail goto*//*Label 2170*/ GIMT_Encode4(102286), // Rule ID 16984 //
36216 /* 102260 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasRTM),
36217 /* 102263 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xbegin),
36218 /* 102268 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
36219 /* 102271 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36220 /* 102275 */ // (intrinsic_w_chain:{ *:[i32] } 15017:{ *:[iPTR] }) => (XBEGIN:{ *:[i32] })
36221 /* 102275 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XBEGIN),
36222 /* 102278 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36223 /* 102280 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36224 /* 102284 */ GIR_RootConstrainSelectedInstOperands,
36225 /* 102285 */ // GIR_Coverage, 16984,
36226 /* 102285 */ GIR_EraseRootFromParent_Done,
36227 /* 102286 */ // Label 2170: @102286
36228 /* 102286 */ GIM_Try, /*On fail goto*//*Label 2171*/ GIMT_Encode4(102317), // Rule ID 17119 //
36229 /* 102291 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode),
36230 /* 102294 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdfsbase_32),
36231 /* 102299 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
36232 /* 102302 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36233 /* 102306 */ // (intrinsic_w_chain:{ *:[i32] } 14668:{ *:[iPTR] }) => (RDFSBASE:{ *:[i32] })
36234 /* 102306 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDFSBASE),
36235 /* 102309 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36236 /* 102311 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36237 /* 102315 */ GIR_RootConstrainSelectedInstOperands,
36238 /* 102316 */ // GIR_Coverage, 17119,
36239 /* 102316 */ GIR_EraseRootFromParent_Done,
36240 /* 102317 */ // Label 2171: @102317
36241 /* 102317 */ GIM_Try, /*On fail goto*//*Label 2172*/ GIMT_Encode4(102348), // Rule ID 17120 //
36242 /* 102322 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode),
36243 /* 102325 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdfsbase_64),
36244 /* 102330 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
36245 /* 102333 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36246 /* 102337 */ // (intrinsic_w_chain:{ *:[i64] } 14669:{ *:[iPTR] }) => (RDFSBASE64:{ *:[i64] })
36247 /* 102337 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDFSBASE64),
36248 /* 102340 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36249 /* 102342 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36250 /* 102346 */ GIR_RootConstrainSelectedInstOperands,
36251 /* 102347 */ // GIR_Coverage, 17120,
36252 /* 102347 */ GIR_EraseRootFromParent_Done,
36253 /* 102348 */ // Label 2172: @102348
36254 /* 102348 */ GIM_Try, /*On fail goto*//*Label 2173*/ GIMT_Encode4(102379), // Rule ID 17121 //
36255 /* 102353 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode),
36256 /* 102356 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdgsbase_32),
36257 /* 102361 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
36258 /* 102364 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36259 /* 102368 */ // (intrinsic_w_chain:{ *:[i32] } 14670:{ *:[iPTR] }) => (RDGSBASE:{ *:[i32] })
36260 /* 102368 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDGSBASE),
36261 /* 102371 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36262 /* 102373 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36263 /* 102377 */ GIR_RootConstrainSelectedInstOperands,
36264 /* 102378 */ // GIR_Coverage, 17121,
36265 /* 102378 */ GIR_EraseRootFromParent_Done,
36266 /* 102379 */ // Label 2173: @102379
36267 /* 102379 */ GIM_Try, /*On fail goto*//*Label 2174*/ GIMT_Encode4(102410), // Rule ID 17122 //
36268 /* 102384 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode),
36269 /* 102387 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdgsbase_64),
36270 /* 102392 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
36271 /* 102395 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36272 /* 102399 */ // (intrinsic_w_chain:{ *:[i64] } 14671:{ *:[iPTR] }) => (RDGSBASE64:{ *:[i64] })
36273 /* 102399 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDGSBASE64),
36274 /* 102402 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36275 /* 102404 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36276 /* 102408 */ GIR_RootConstrainSelectedInstOperands,
36277 /* 102409 */ // GIR_Coverage, 17122,
36278 /* 102409 */ GIR_EraseRootFromParent_Done,
36279 /* 102410 */ // Label 2174: @102410
36280 /* 102410 */ GIM_Try, /*On fail goto*//*Label 2175*/ GIMT_Encode4(102441), // Rule ID 17128 //
36281 /* 102415 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasRDPID_Not64BitMode),
36282 /* 102418 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdpid),
36283 /* 102423 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
36284 /* 102426 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36285 /* 102430 */ // (intrinsic_w_chain:{ *:[i32] } 14672:{ *:[iPTR] }) => (RDPID32:{ *:[i32] })
36286 /* 102430 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDPID32),
36287 /* 102433 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36288 /* 102435 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36289 /* 102439 */ GIR_RootConstrainSelectedInstOperands,
36290 /* 102440 */ // GIR_Coverage, 17128,
36291 /* 102440 */ GIR_EraseRootFromParent_Done,
36292 /* 102441 */ // Label 2175: @102441
36293 /* 102441 */ GIM_Try, /*On fail goto*//*Label 2176*/ GIMT_Encode4(102498), // Rule ID 22381 //
36294 /* 102446 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasRDPID_In64BitMode),
36295 /* 102449 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdpid),
36296 /* 102454 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
36297 /* 102457 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36298 /* 102461 */ // (intrinsic_w_chain:{ *:[i32] } 14672:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[i32] } (RDPID64:{ *:[i64] }), sub_32bit:{ *:[i32] })
36299 /* 102461 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
36300 /* 102464 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::RDPID64),
36301 /* 102468 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
36302 /* 102473 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
36303 /* 102475 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36304 /* 102478 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36305 /* 102480 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_32bit),
36306 /* 102487 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
36307 /* 102492 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
36308 /* 102497 */ // GIR_Coverage, 22381,
36309 /* 102497 */ GIR_EraseRootFromParent_Done,
36310 /* 102498 */ // Label 2176: @102498
36311 /* 102498 */ GIM_Try, /*On fail goto*//*Label 2177*/ GIMT_Encode4(102538), // Rule ID 3 //
36312 /* 102503 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_Not64BitMode),
36313 /* 102506 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_flags_write_u32),
36314 /* 102511 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
36315 /* 102514 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36316 /* 102518 */ // (intrinsic_void 14563:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (WRFLAGS32:{ *:[i32] } GR32:{ *:[i32] }:$src)
36317 /* 102518 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRFLAGS32),
36318 /* 102521 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36319 /* 102523 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ESP*/0,
36320 /* 102526 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/1,
36321 /* 102529 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::DF*/2,
36322 /* 102532 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36323 /* 102536 */ GIR_RootConstrainSelectedInstOperands,
36324 /* 102537 */ // GIR_Coverage, 3,
36325 /* 102537 */ GIR_EraseRootFromParent_Done,
36326 /* 102538 */ // Label 2177: @102538
36327 /* 102538 */ GIM_Try, /*On fail goto*//*Label 2178*/ GIMT_Encode4(102578), // Rule ID 4 //
36328 /* 102543 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
36329 /* 102546 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_flags_write_u64),
36330 /* 102551 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
36331 /* 102554 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36332 /* 102558 */ // (intrinsic_void 14564:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (WRFLAGS64:{ *:[i64] } GR64:{ *:[i64] }:$src)
36333 /* 102558 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRFLAGS64),
36334 /* 102561 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36335 /* 102563 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::RSP*/0,
36336 /* 102566 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/1,
36337 /* 102569 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::DF*/2,
36338 /* 102572 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36339 /* 102576 */ GIR_RootConstrainSelectedInstOperands,
36340 /* 102577 */ // GIR_Coverage, 4,
36341 /* 102577 */ GIR_EraseRootFromParent_Done,
36342 /* 102578 */ // Label 2178: @102578
36343 /* 102578 */ GIM_Try, /*On fail goto*//*Label 2179*/ GIMT_Encode4(102609), // Rule ID 154 //
36344 /* 102583 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasUINTR_In64BitMode),
36345 /* 102586 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_senduipi),
36346 /* 102591 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
36347 /* 102594 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36348 /* 102598 */ // (intrinsic_void 14691:{ *:[iPTR] }, GR64:{ *:[i64] }:$arg) => (SENDUIPI GR64:{ *:[i64] }:$arg)
36349 /* 102598 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SENDUIPI),
36350 /* 102601 */ GIR_RootToRootCopy, /*OpIdx*/1, // arg
36351 /* 102603 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36352 /* 102607 */ GIR_RootConstrainSelectedInstOperands,
36353 /* 102608 */ // GIR_Coverage, 154,
36354 /* 102608 */ GIR_EraseRootFromParent_Done,
36355 /* 102609 */ // Label 2179: @102609
36356 /* 102609 */ GIM_Try, /*On fail goto*//*Label 2180*/ GIMT_Encode4(102640), // Rule ID 17088 //
36357 /* 102614 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_incsspd),
36358 /* 102619 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
36359 /* 102622 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36360 /* 102626 */ // (intrinsic_void 14573:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (INCSSPD GR32:{ *:[i32] }:$src)
36361 /* 102626 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INCSSPD),
36362 /* 102629 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36363 /* 102631 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::SSP*/0,
36364 /* 102634 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36365 /* 102638 */ GIR_RootConstrainSelectedInstOperands,
36366 /* 102639 */ // GIR_Coverage, 17088,
36367 /* 102639 */ GIR_EraseRootFromParent_Done,
36368 /* 102640 */ // Label 2180: @102640
36369 /* 102640 */ GIM_Try, /*On fail goto*//*Label 2181*/ GIMT_Encode4(102671), // Rule ID 17089 //
36370 /* 102645 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_incsspq),
36371 /* 102650 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
36372 /* 102653 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36373 /* 102657 */ // (intrinsic_void 14574:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (INCSSPQ GR64:{ *:[i64] }:$src)
36374 /* 102657 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INCSSPQ),
36375 /* 102660 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36376 /* 102662 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::SSP*/0,
36377 /* 102665 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36378 /* 102669 */ GIR_RootConstrainSelectedInstOperands,
36379 /* 102670 */ // GIR_Coverage, 17089,
36380 /* 102670 */ GIR_EraseRootFromParent_Done,
36381 /* 102671 */ // Label 2181: @102671
36382 /* 102671 */ GIM_Try, /*On fail goto*//*Label 2182*/ GIMT_Encode4(102702), // Rule ID 17123 //
36383 /* 102676 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode),
36384 /* 102679 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrfsbase_32),
36385 /* 102684 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
36386 /* 102687 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36387 /* 102691 */ // (intrinsic_void 15007:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (WRFSBASE GR32:{ *:[i32] }:$src)
36388 /* 102691 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRFSBASE),
36389 /* 102694 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36390 /* 102696 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36391 /* 102700 */ GIR_RootConstrainSelectedInstOperands,
36392 /* 102701 */ // GIR_Coverage, 17123,
36393 /* 102701 */ GIR_EraseRootFromParent_Done,
36394 /* 102702 */ // Label 2182: @102702
36395 /* 102702 */ GIM_Try, /*On fail goto*//*Label 2183*/ GIMT_Encode4(102733), // Rule ID 17124 //
36396 /* 102707 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode),
36397 /* 102710 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrfsbase_64),
36398 /* 102715 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
36399 /* 102718 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36400 /* 102722 */ // (intrinsic_void 15008:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (WRFSBASE64 GR64:{ *:[i64] }:$src)
36401 /* 102722 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRFSBASE64),
36402 /* 102725 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36403 /* 102727 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36404 /* 102731 */ GIR_RootConstrainSelectedInstOperands,
36405 /* 102732 */ // GIR_Coverage, 17124,
36406 /* 102732 */ GIR_EraseRootFromParent_Done,
36407 /* 102733 */ // Label 2183: @102733
36408 /* 102733 */ GIM_Try, /*On fail goto*//*Label 2184*/ GIMT_Encode4(102764), // Rule ID 17125 //
36409 /* 102738 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode),
36410 /* 102741 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrgsbase_32),
36411 /* 102746 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
36412 /* 102749 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36413 /* 102753 */ // (intrinsic_void 15009:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (WRGSBASE GR32:{ *:[i32] }:$src)
36414 /* 102753 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRGSBASE),
36415 /* 102756 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36416 /* 102758 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36417 /* 102762 */ GIR_RootConstrainSelectedInstOperands,
36418 /* 102763 */ // GIR_Coverage, 17125,
36419 /* 102763 */ GIR_EraseRootFromParent_Done,
36420 /* 102764 */ // Label 2184: @102764
36421 /* 102764 */ GIM_Try, /*On fail goto*//*Label 2185*/ GIMT_Encode4(102795), // Rule ID 17126 //
36422 /* 102769 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode),
36423 /* 102772 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrgsbase_64),
36424 /* 102777 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
36425 /* 102780 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36426 /* 102784 */ // (intrinsic_void 15010:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (WRGSBASE64 GR64:{ *:[i64] }:$src)
36427 /* 102784 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRGSBASE64),
36428 /* 102787 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36429 /* 102789 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36430 /* 102793 */ GIR_RootConstrainSelectedInstOperands,
36431 /* 102794 */ // GIR_Coverage, 17126,
36432 /* 102794 */ GIR_EraseRootFromParent_Done,
36433 /* 102795 */ // Label 2185: @102795
36434 /* 102795 */ GIM_Try, /*On fail goto*//*Label 2186*/ GIMT_Encode4(102826), // Rule ID 17131 //
36435 /* 102800 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPTWRITE),
36436 /* 102803 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ptwrite32),
36437 /* 102808 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
36438 /* 102811 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36439 /* 102815 */ // (intrinsic_void 14666:{ *:[iPTR] }, GR32:{ *:[i32] }:$dst) => (PTWRITEr GR32:{ *:[i32] }:$dst)
36440 /* 102815 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTWRITEr),
36441 /* 102818 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
36442 /* 102820 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36443 /* 102824 */ GIR_RootConstrainSelectedInstOperands,
36444 /* 102825 */ // GIR_Coverage, 17131,
36445 /* 102825 */ GIR_EraseRootFromParent_Done,
36446 /* 102826 */ // Label 2186: @102826
36447 /* 102826 */ GIM_Try, /*On fail goto*//*Label 2187*/ GIMT_Encode4(102857), // Rule ID 17132 //
36448 /* 102831 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPTWRITE_In64BitMode),
36449 /* 102834 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ptwrite64),
36450 /* 102839 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
36451 /* 102842 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36452 /* 102846 */ // (intrinsic_void 14667:{ *:[iPTR] }, GR64:{ *:[i64] }:$dst) => (PTWRITE64r GR64:{ *:[i64] }:$dst)
36453 /* 102846 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTWRITE64r),
36454 /* 102849 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
36455 /* 102851 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36456 /* 102855 */ GIR_RootConstrainSelectedInstOperands,
36457 /* 102856 */ // GIR_Coverage, 17132,
36458 /* 102856 */ GIR_EraseRootFromParent_Done,
36459 /* 102857 */ // Label 2187: @102857
36460 /* 102857 */ GIM_Try, /*On fail goto*//*Label 2188*/ GIMT_Encode4(102889), // Rule ID 114 //
36461 /* 102862 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLWP),
36462 /* 102865 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_llwpcb),
36463 /* 102870 */ // MIs[0] src
36464 /* 102870 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/32,
36465 /* 102874 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36466 /* 102878 */ // (intrinsic_void 14579:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (LLWPCB GR32:{ *:[i32] }:$src)
36467 /* 102878 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LLWPCB),
36468 /* 102881 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36469 /* 102883 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36470 /* 102887 */ GIR_RootConstrainSelectedInstOperands,
36471 /* 102888 */ // GIR_Coverage, 114,
36472 /* 102888 */ GIR_EraseRootFromParent_Done,
36473 /* 102889 */ // Label 2188: @102889
36474 /* 102889 */ GIM_Try, /*On fail goto*//*Label 2189*/ GIMT_Encode4(102921), // Rule ID 116 //
36475 /* 102894 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLWP),
36476 /* 102897 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_llwpcb),
36477 /* 102902 */ // MIs[0] src
36478 /* 102902 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/64,
36479 /* 102906 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36480 /* 102910 */ // (intrinsic_void 14579:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (LLWPCB64 GR64:{ *:[i64] }:$src)
36481 /* 102910 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LLWPCB64),
36482 /* 102913 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36483 /* 102915 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36484 /* 102919 */ GIR_RootConstrainSelectedInstOperands,
36485 /* 102920 */ // GIR_Coverage, 116,
36486 /* 102920 */ GIR_EraseRootFromParent_Done,
36487 /* 102921 */ // Label 2189: @102921
36488 /* 102921 */ GIM_Try, /*On fail goto*//*Label 2190*/ GIMT_Encode4(102953), // Rule ID 126 //
36489 /* 102926 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasWAITPKG_Not64BitMode),
36490 /* 102929 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_umonitor),
36491 /* 102934 */ // MIs[0] src
36492 /* 102934 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/16,
36493 /* 102938 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
36494 /* 102942 */ // (intrinsic_void 14964:{ *:[iPTR] }, GR16:{ *:[i16] }:$src) => (UMONITOR16 GR16:{ *:[i16] }:$src)
36495 /* 102942 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::UMONITOR16),
36496 /* 102945 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36497 /* 102947 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36498 /* 102951 */ GIR_RootConstrainSelectedInstOperands,
36499 /* 102952 */ // GIR_Coverage, 126,
36500 /* 102952 */ GIR_EraseRootFromParent_Done,
36501 /* 102953 */ // Label 2190: @102953
36502 /* 102953 */ GIM_Try, /*On fail goto*//*Label 2191*/ GIMT_Encode4(102985), // Rule ID 127 //
36503 /* 102958 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasWAITPKG),
36504 /* 102961 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_umonitor),
36505 /* 102966 */ // MIs[0] src
36506 /* 102966 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/32,
36507 /* 102970 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36508 /* 102974 */ // (intrinsic_void 14964:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (UMONITOR32 GR32:{ *:[i32] }:$src)
36509 /* 102974 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::UMONITOR32),
36510 /* 102977 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36511 /* 102979 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36512 /* 102983 */ GIR_RootConstrainSelectedInstOperands,
36513 /* 102984 */ // GIR_Coverage, 127,
36514 /* 102984 */ GIR_EraseRootFromParent_Done,
36515 /* 102985 */ // Label 2191: @102985
36516 /* 102985 */ GIM_Try, /*On fail goto*//*Label 2192*/ GIMT_Encode4(103017), // Rule ID 128 //
36517 /* 102990 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasWAITPKG_In64BitMode),
36518 /* 102993 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_umonitor),
36519 /* 102998 */ // MIs[0] src
36520 /* 102998 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/64,
36521 /* 103002 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36522 /* 103006 */ // (intrinsic_void 14964:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (UMONITOR64 GR64:{ *:[i64] }:$src)
36523 /* 103006 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::UMONITOR64),
36524 /* 103009 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36525 /* 103011 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36526 /* 103015 */ GIR_RootConstrainSelectedInstOperands,
36527 /* 103016 */ // GIR_Coverage, 128,
36528 /* 103016 */ GIR_EraseRootFromParent_Done,
36529 /* 103017 */ // Label 2192: @103017
36530 /* 103017 */ GIM_Reject,
36531 /* 103018 */ // Label 2140: @103018
36532 /* 103018 */ GIM_Try, /*On fail goto*//*Label 2193*/ GIMT_Encode4(106012),
36533 /* 103023 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/3,
36534 /* 103026 */ GIM_Try, /*On fail goto*//*Label 2194*/ GIMT_Encode4(103072), // Rule ID 165 //
36535 /* 103031 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVRS_In64BitMode_NoEGPR),
36536 /* 103034 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrsqi),
36537 /* 103039 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s8,
36538 /* 103042 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
36539 /* 103046 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36540 /* 103050 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36541 /* 103057 */ // (intrinsic_w_chain:{ *:[i8] } 14659:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS8rm:{ *:[i8] } addr:{ *:[iPTR] }:$src)
36542 /* 103057 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS8rm),
36543 /* 103060 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36544 /* 103062 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36545 /* 103066 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36546 /* 103070 */ GIR_RootConstrainSelectedInstOperands,
36547 /* 103071 */ // GIR_Coverage, 165,
36548 /* 103071 */ GIR_EraseRootFromParent_Done,
36549 /* 103072 */ // Label 2194: @103072
36550 /* 103072 */ GIM_Try, /*On fail goto*//*Label 2195*/ GIMT_Encode4(103118), // Rule ID 166 //
36551 /* 103077 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVRS_In64BitMode_NoEGPR),
36552 /* 103080 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrshi),
36553 /* 103085 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s16,
36554 /* 103088 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
36555 /* 103092 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36556 /* 103096 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36557 /* 103103 */ // (intrinsic_w_chain:{ *:[i16] } 14658:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS16rm:{ *:[i16] } addr:{ *:[iPTR] }:$src)
36558 /* 103103 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS16rm),
36559 /* 103106 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36560 /* 103108 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36561 /* 103112 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36562 /* 103116 */ GIR_RootConstrainSelectedInstOperands,
36563 /* 103117 */ // GIR_Coverage, 166,
36564 /* 103117 */ GIR_EraseRootFromParent_Done,
36565 /* 103118 */ // Label 2195: @103118
36566 /* 103118 */ GIM_Try, /*On fail goto*//*Label 2196*/ GIMT_Encode4(103164), // Rule ID 167 //
36567 /* 103123 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVRS_In64BitMode_NoEGPR),
36568 /* 103126 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrssi),
36569 /* 103131 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
36570 /* 103134 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36571 /* 103138 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36572 /* 103142 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36573 /* 103149 */ // (intrinsic_w_chain:{ *:[i32] } 14660:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS32rm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
36574 /* 103149 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS32rm),
36575 /* 103152 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36576 /* 103154 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36577 /* 103158 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36578 /* 103162 */ GIR_RootConstrainSelectedInstOperands,
36579 /* 103163 */ // GIR_Coverage, 167,
36580 /* 103163 */ GIR_EraseRootFromParent_Done,
36581 /* 103164 */ // Label 2196: @103164
36582 /* 103164 */ GIM_Try, /*On fail goto*//*Label 2197*/ GIMT_Encode4(103210), // Rule ID 168 //
36583 /* 103169 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVRS_In64BitMode_NoEGPR),
36584 /* 103172 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrsdi),
36585 /* 103177 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
36586 /* 103180 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36587 /* 103184 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36588 /* 103188 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36589 /* 103195 */ // (intrinsic_w_chain:{ *:[i64] } 14657:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
36590 /* 103195 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS64rm),
36591 /* 103198 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36592 /* 103200 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36593 /* 103204 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36594 /* 103208 */ GIR_RootConstrainSelectedInstOperands,
36595 /* 103209 */ // GIR_Coverage, 168,
36596 /* 103209 */ GIR_EraseRootFromParent_Done,
36597 /* 103210 */ // Label 2197: @103210
36598 /* 103210 */ GIM_Try, /*On fail goto*//*Label 2198*/ GIMT_Encode4(103256), // Rule ID 170 //
36599 /* 103215 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVRS_In64BitMode),
36600 /* 103218 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrsqi),
36601 /* 103223 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s8,
36602 /* 103226 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
36603 /* 103230 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36604 /* 103234 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36605 /* 103241 */ // (intrinsic_w_chain:{ *:[i8] } 14659:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS8rm_EVEX:{ *:[i8] } addr:{ *:[iPTR] }:$src)
36606 /* 103241 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS8rm_EVEX),
36607 /* 103244 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36608 /* 103246 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36609 /* 103250 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36610 /* 103254 */ GIR_RootConstrainSelectedInstOperands,
36611 /* 103255 */ // GIR_Coverage, 170,
36612 /* 103255 */ GIR_EraseRootFromParent_Done,
36613 /* 103256 */ // Label 2198: @103256
36614 /* 103256 */ GIM_Try, /*On fail goto*//*Label 2199*/ GIMT_Encode4(103302), // Rule ID 171 //
36615 /* 103261 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVRS_In64BitMode),
36616 /* 103264 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrshi),
36617 /* 103269 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s16,
36618 /* 103272 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
36619 /* 103276 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36620 /* 103280 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36621 /* 103287 */ // (intrinsic_w_chain:{ *:[i16] } 14658:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS16rm_EVEX:{ *:[i16] } addr:{ *:[iPTR] }:$src)
36622 /* 103287 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS16rm_EVEX),
36623 /* 103290 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36624 /* 103292 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36625 /* 103296 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36626 /* 103300 */ GIR_RootConstrainSelectedInstOperands,
36627 /* 103301 */ // GIR_Coverage, 171,
36628 /* 103301 */ GIR_EraseRootFromParent_Done,
36629 /* 103302 */ // Label 2199: @103302
36630 /* 103302 */ GIM_Try, /*On fail goto*//*Label 2200*/ GIMT_Encode4(103348), // Rule ID 172 //
36631 /* 103307 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVRS_In64BitMode),
36632 /* 103310 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrssi),
36633 /* 103315 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
36634 /* 103318 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36635 /* 103322 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36636 /* 103326 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36637 /* 103333 */ // (intrinsic_w_chain:{ *:[i32] } 14660:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS32rm_EVEX:{ *:[i32] } addr:{ *:[iPTR] }:$src)
36638 /* 103333 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS32rm_EVEX),
36639 /* 103336 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36640 /* 103338 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36641 /* 103342 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36642 /* 103346 */ GIR_RootConstrainSelectedInstOperands,
36643 /* 103347 */ // GIR_Coverage, 172,
36644 /* 103347 */ GIR_EraseRootFromParent_Done,
36645 /* 103348 */ // Label 2200: @103348
36646 /* 103348 */ GIM_Try, /*On fail goto*//*Label 2201*/ GIMT_Encode4(103394), // Rule ID 173 //
36647 /* 103353 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVRS_In64BitMode),
36648 /* 103356 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrsdi),
36649 /* 103361 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
36650 /* 103364 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36651 /* 103368 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36652 /* 103372 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36653 /* 103379 */ // (intrinsic_w_chain:{ *:[i64] } 14657:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS64rm_EVEX:{ *:[i64] } addr:{ *:[iPTR] }:$src)
36654 /* 103379 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS64rm_EVEX),
36655 /* 103382 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36656 /* 103384 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36657 /* 103388 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36658 /* 103392 */ GIR_RootConstrainSelectedInstOperands,
36659 /* 103393 */ // GIR_Coverage, 173,
36660 /* 103393 */ GIR_EraseRootFromParent_Done,
36661 /* 103394 */ // Label 2201: @103394
36662 /* 103394 */ GIM_Try, /*On fail goto*//*Label 2202*/ GIMT_Encode4(103440), // Rule ID 2951 //
36663 /* 103399 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
36664 /* 103402 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse3_ldu_dq),
36665 /* 103407 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
36666 /* 103410 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36667 /* 103414 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36668 /* 103418 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36669 /* 103425 */ // (intrinsic_w_chain:{ *:[v16i8] } 14805:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VLDDQUrm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
36670 /* 103425 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VLDDQUrm),
36671 /* 103428 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36672 /* 103430 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36673 /* 103434 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36674 /* 103438 */ GIR_RootConstrainSelectedInstOperands,
36675 /* 103439 */ // GIR_Coverage, 2951,
36676 /* 103439 */ GIR_EraseRootFromParent_Done,
36677 /* 103440 */ // Label 2202: @103440
36678 /* 103440 */ GIM_Try, /*On fail goto*//*Label 2203*/ GIMT_Encode4(103486), // Rule ID 2952 //
36679 /* 103445 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
36680 /* 103448 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_ldu_dq_256),
36681 /* 103453 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s8,
36682 /* 103456 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36683 /* 103460 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36684 /* 103464 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36685 /* 103471 */ // (intrinsic_w_chain:{ *:[v32i8] } 13426:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VLDDQUYrm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
36686 /* 103471 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VLDDQUYrm),
36687 /* 103474 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36688 /* 103476 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36689 /* 103480 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36690 /* 103484 */ GIR_RootConstrainSelectedInstOperands,
36691 /* 103485 */ // GIR_Coverage, 2952,
36692 /* 103485 */ GIR_EraseRootFromParent_Done,
36693 /* 103486 */ // Label 2203: @103486
36694 /* 103486 */ GIM_Try, /*On fail goto*//*Label 2204*/ GIMT_Encode4(103532), // Rule ID 2953 //
36695 /* 103491 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE3),
36696 /* 103494 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse3_ldu_dq),
36697 /* 103499 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
36698 /* 103502 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36699 /* 103506 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36700 /* 103510 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36701 /* 103517 */ // (intrinsic_w_chain:{ *:[v16i8] } 14805:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (LDDQUrm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
36702 /* 103517 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LDDQUrm),
36703 /* 103520 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36704 /* 103522 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36705 /* 103526 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36706 /* 103530 */ GIR_RootConstrainSelectedInstOperands,
36707 /* 103531 */ // GIR_Coverage, 2953,
36708 /* 103531 */ GIR_EraseRootFromParent_Done,
36709 /* 103532 */ // Label 2204: @103532
36710 /* 103532 */ GIM_Try, /*On fail goto*//*Label 2205*/ GIMT_Encode4(103578), // Rule ID 3543 //
36711 /* 103537 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
36712 /* 103540 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vbcstnebf162ps128),
36713 /* 103545 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
36714 /* 103548 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36715 /* 103552 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36716 /* 103556 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36717 /* 103563 */ // (intrinsic_w_chain:{ *:[v4f32] } 14968:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VBCSTNEBF162PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
36718 /* 103563 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VBCSTNEBF162PSrm),
36719 /* 103566 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36720 /* 103568 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36721 /* 103572 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36722 /* 103576 */ GIR_RootConstrainSelectedInstOperands,
36723 /* 103577 */ // GIR_Coverage, 3543,
36724 /* 103577 */ GIR_EraseRootFromParent_Done,
36725 /* 103578 */ // Label 2205: @103578
36726 /* 103578 */ GIM_Try, /*On fail goto*//*Label 2206*/ GIMT_Encode4(103624), // Rule ID 3544 //
36727 /* 103583 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
36728 /* 103586 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vbcstnebf162ps256),
36729 /* 103591 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
36730 /* 103594 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36731 /* 103598 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36732 /* 103602 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36733 /* 103609 */ // (intrinsic_w_chain:{ *:[v8f32] } 14969:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VBCSTNEBF162PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
36734 /* 103609 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VBCSTNEBF162PSYrm),
36735 /* 103612 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36736 /* 103614 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36737 /* 103618 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36738 /* 103622 */ GIR_RootConstrainSelectedInstOperands,
36739 /* 103623 */ // GIR_Coverage, 3544,
36740 /* 103623 */ GIR_EraseRootFromParent_Done,
36741 /* 103624 */ // Label 2206: @103624
36742 /* 103624 */ GIM_Try, /*On fail goto*//*Label 2207*/ GIMT_Encode4(103670), // Rule ID 3545 //
36743 /* 103629 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
36744 /* 103632 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vbcstnesh2ps128),
36745 /* 103637 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
36746 /* 103640 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36747 /* 103644 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36748 /* 103648 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36749 /* 103655 */ // (intrinsic_w_chain:{ *:[v4f32] } 14970:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VBCSTNESH2PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
36750 /* 103655 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VBCSTNESH2PSrm),
36751 /* 103658 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36752 /* 103660 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36753 /* 103664 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36754 /* 103668 */ GIR_RootConstrainSelectedInstOperands,
36755 /* 103669 */ // GIR_Coverage, 3545,
36756 /* 103669 */ GIR_EraseRootFromParent_Done,
36757 /* 103670 */ // Label 2207: @103670
36758 /* 103670 */ GIM_Try, /*On fail goto*//*Label 2208*/ GIMT_Encode4(103716), // Rule ID 3546 //
36759 /* 103675 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
36760 /* 103678 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vbcstnesh2ps256),
36761 /* 103683 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
36762 /* 103686 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36763 /* 103690 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36764 /* 103694 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36765 /* 103701 */ // (intrinsic_w_chain:{ *:[v8f32] } 14971:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VBCSTNESH2PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
36766 /* 103701 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VBCSTNESH2PSYrm),
36767 /* 103704 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36768 /* 103706 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36769 /* 103710 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36770 /* 103714 */ GIR_RootConstrainSelectedInstOperands,
36771 /* 103715 */ // GIR_Coverage, 3546,
36772 /* 103715 */ GIR_EraseRootFromParent_Done,
36773 /* 103716 */ // Label 2208: @103716
36774 /* 103716 */ GIM_Try, /*On fail goto*//*Label 2209*/ GIMT_Encode4(103762), // Rule ID 3547 //
36775 /* 103721 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
36776 /* 103724 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneebf162ps128),
36777 /* 103729 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
36778 /* 103732 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36779 /* 103736 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36780 /* 103740 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36781 /* 103747 */ // (intrinsic_w_chain:{ *:[v4f32] } 14972:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEEBF162PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
36782 /* 103747 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEEBF162PSrm),
36783 /* 103750 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36784 /* 103752 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36785 /* 103756 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36786 /* 103760 */ GIR_RootConstrainSelectedInstOperands,
36787 /* 103761 */ // GIR_Coverage, 3547,
36788 /* 103761 */ GIR_EraseRootFromParent_Done,
36789 /* 103762 */ // Label 2209: @103762
36790 /* 103762 */ GIM_Try, /*On fail goto*//*Label 2210*/ GIMT_Encode4(103808), // Rule ID 3548 //
36791 /* 103767 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
36792 /* 103770 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneebf162ps256),
36793 /* 103775 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
36794 /* 103778 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36795 /* 103782 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36796 /* 103786 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36797 /* 103793 */ // (intrinsic_w_chain:{ *:[v8f32] } 14973:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEEBF162PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
36798 /* 103793 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEEBF162PSYrm),
36799 /* 103796 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36800 /* 103798 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36801 /* 103802 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36802 /* 103806 */ GIR_RootConstrainSelectedInstOperands,
36803 /* 103807 */ // GIR_Coverage, 3548,
36804 /* 103807 */ GIR_EraseRootFromParent_Done,
36805 /* 103808 */ // Label 2210: @103808
36806 /* 103808 */ GIM_Try, /*On fail goto*//*Label 2211*/ GIMT_Encode4(103854), // Rule ID 3549 //
36807 /* 103813 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
36808 /* 103816 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneeph2ps128),
36809 /* 103821 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
36810 /* 103824 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36811 /* 103828 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36812 /* 103832 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36813 /* 103839 */ // (intrinsic_w_chain:{ *:[v4f32] } 14974:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEEPH2PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
36814 /* 103839 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEEPH2PSrm),
36815 /* 103842 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36816 /* 103844 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36817 /* 103848 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36818 /* 103852 */ GIR_RootConstrainSelectedInstOperands,
36819 /* 103853 */ // GIR_Coverage, 3549,
36820 /* 103853 */ GIR_EraseRootFromParent_Done,
36821 /* 103854 */ // Label 2211: @103854
36822 /* 103854 */ GIM_Try, /*On fail goto*//*Label 2212*/ GIMT_Encode4(103900), // Rule ID 3550 //
36823 /* 103859 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
36824 /* 103862 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneeph2ps256),
36825 /* 103867 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
36826 /* 103870 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36827 /* 103874 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36828 /* 103878 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36829 /* 103885 */ // (intrinsic_w_chain:{ *:[v8f32] } 14975:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEEPH2PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
36830 /* 103885 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEEPH2PSYrm),
36831 /* 103888 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36832 /* 103890 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36833 /* 103894 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36834 /* 103898 */ GIR_RootConstrainSelectedInstOperands,
36835 /* 103899 */ // GIR_Coverage, 3550,
36836 /* 103899 */ GIR_EraseRootFromParent_Done,
36837 /* 103900 */ // Label 2212: @103900
36838 /* 103900 */ GIM_Try, /*On fail goto*//*Label 2213*/ GIMT_Encode4(103946), // Rule ID 3551 //
36839 /* 103905 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
36840 /* 103908 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneobf162ps128),
36841 /* 103913 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
36842 /* 103916 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36843 /* 103920 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36844 /* 103924 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36845 /* 103931 */ // (intrinsic_w_chain:{ *:[v4f32] } 14976:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEOBF162PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
36846 /* 103931 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEOBF162PSrm),
36847 /* 103934 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36848 /* 103936 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36849 /* 103940 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36850 /* 103944 */ GIR_RootConstrainSelectedInstOperands,
36851 /* 103945 */ // GIR_Coverage, 3551,
36852 /* 103945 */ GIR_EraseRootFromParent_Done,
36853 /* 103946 */ // Label 2213: @103946
36854 /* 103946 */ GIM_Try, /*On fail goto*//*Label 2214*/ GIMT_Encode4(103992), // Rule ID 3552 //
36855 /* 103951 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
36856 /* 103954 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneobf162ps256),
36857 /* 103959 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
36858 /* 103962 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36859 /* 103966 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36860 /* 103970 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36861 /* 103977 */ // (intrinsic_w_chain:{ *:[v8f32] } 14977:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEOBF162PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
36862 /* 103977 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEOBF162PSYrm),
36863 /* 103980 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36864 /* 103982 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36865 /* 103986 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36866 /* 103990 */ GIR_RootConstrainSelectedInstOperands,
36867 /* 103991 */ // GIR_Coverage, 3552,
36868 /* 103991 */ GIR_EraseRootFromParent_Done,
36869 /* 103992 */ // Label 2214: @103992
36870 /* 103992 */ GIM_Try, /*On fail goto*//*Label 2215*/ GIMT_Encode4(104038), // Rule ID 3553 //
36871 /* 103997 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
36872 /* 104000 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneoph2ps128),
36873 /* 104005 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
36874 /* 104008 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36875 /* 104012 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36876 /* 104016 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36877 /* 104023 */ // (intrinsic_w_chain:{ *:[v4f32] } 14978:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEOPH2PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
36878 /* 104023 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEOPH2PSrm),
36879 /* 104026 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36880 /* 104028 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36881 /* 104032 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36882 /* 104036 */ GIR_RootConstrainSelectedInstOperands,
36883 /* 104037 */ // GIR_Coverage, 3553,
36884 /* 104037 */ GIR_EraseRootFromParent_Done,
36885 /* 104038 */ // Label 2215: @104038
36886 /* 104038 */ GIM_Try, /*On fail goto*//*Label 2216*/ GIMT_Encode4(104084), // Rule ID 3554 //
36887 /* 104043 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
36888 /* 104046 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneoph2ps256),
36889 /* 104051 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
36890 /* 104054 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36891 /* 104058 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36892 /* 104062 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36893 /* 104069 */ // (intrinsic_w_chain:{ *:[v8f32] } 14979:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEOPH2PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
36894 /* 104069 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEOPH2PSYrm),
36895 /* 104072 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36896 /* 104074 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36897 /* 104078 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36898 /* 104082 */ GIR_RootConstrainSelectedInstOperands,
36899 /* 104083 */ // GIR_Coverage, 3554,
36900 /* 104083 */ GIR_EraseRootFromParent_Done,
36901 /* 104084 */ // Label 2216: @104084
36902 /* 104084 */ GIM_Try, /*On fail goto*//*Label 2217*/ GIMT_Encode4(104130), // Rule ID 16753 //
36903 /* 104089 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_512_HasMOVRS_In64BitMode),
36904 /* 104092 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsb512),
36905 /* 104097 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v64s8,
36906 /* 104100 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
36907 /* 104104 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36908 /* 104108 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36909 /* 104115 */ // (intrinsic_w_chain:{ *:[v64i8] } 13682:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSBZm:{ *:[v64i8] } addr:{ *:[iPTR] }:$src)
36910 /* 104115 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSBZm),
36911 /* 104118 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36912 /* 104120 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36913 /* 104124 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36914 /* 104128 */ GIR_RootConstrainSelectedInstOperands,
36915 /* 104129 */ // GIR_Coverage, 16753,
36916 /* 104129 */ GIR_EraseRootFromParent_Done,
36917 /* 104130 */ // Label 2217: @104130
36918 /* 104130 */ GIM_Try, /*On fail goto*//*Label 2218*/ GIMT_Encode4(104176), // Rule ID 16756 //
36919 /* 104135 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
36920 /* 104138 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsb128),
36921 /* 104143 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
36922 /* 104146 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
36923 /* 104150 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36924 /* 104154 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36925 /* 104161 */ // (intrinsic_w_chain:{ *:[v16i8] } 13680:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSBZ128m:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
36926 /* 104161 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSBZ128m),
36927 /* 104164 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36928 /* 104166 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36929 /* 104170 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36930 /* 104174 */ GIR_RootConstrainSelectedInstOperands,
36931 /* 104175 */ // GIR_Coverage, 16756,
36932 /* 104175 */ GIR_EraseRootFromParent_Done,
36933 /* 104176 */ // Label 2218: @104176
36934 /* 104176 */ GIM_Try, /*On fail goto*//*Label 2219*/ GIMT_Encode4(104222), // Rule ID 16759 //
36935 /* 104181 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
36936 /* 104184 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsb256),
36937 /* 104189 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s8,
36938 /* 104192 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
36939 /* 104196 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36940 /* 104200 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36941 /* 104207 */ // (intrinsic_w_chain:{ *:[v32i8] } 13681:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSBZ256m:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
36942 /* 104207 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSBZ256m),
36943 /* 104210 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36944 /* 104212 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36945 /* 104216 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36946 /* 104220 */ GIR_RootConstrainSelectedInstOperands,
36947 /* 104221 */ // GIR_Coverage, 16759,
36948 /* 104221 */ GIR_EraseRootFromParent_Done,
36949 /* 104222 */ // Label 2219: @104222
36950 /* 104222 */ GIM_Try, /*On fail goto*//*Label 2220*/ GIMT_Encode4(104268), // Rule ID 16762 //
36951 /* 104227 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_512_HasMOVRS_In64BitMode),
36952 /* 104230 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsw512),
36953 /* 104235 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s16,
36954 /* 104238 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
36955 /* 104242 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36956 /* 104246 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36957 /* 104253 */ // (intrinsic_w_chain:{ *:[v32i16] } 13691:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSWZm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)
36958 /* 104253 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSWZm),
36959 /* 104256 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36960 /* 104258 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36961 /* 104262 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36962 /* 104266 */ GIR_RootConstrainSelectedInstOperands,
36963 /* 104267 */ // GIR_Coverage, 16762,
36964 /* 104267 */ GIR_EraseRootFromParent_Done,
36965 /* 104268 */ // Label 2220: @104268
36966 /* 104268 */ GIM_Try, /*On fail goto*//*Label 2221*/ GIMT_Encode4(104314), // Rule ID 16765 //
36967 /* 104273 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
36968 /* 104276 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsw128),
36969 /* 104281 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
36970 /* 104284 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
36971 /* 104288 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36972 /* 104292 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36973 /* 104299 */ // (intrinsic_w_chain:{ *:[v8i16] } 13689:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSWZ128m:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
36974 /* 104299 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSWZ128m),
36975 /* 104302 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36976 /* 104304 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36977 /* 104308 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36978 /* 104312 */ GIR_RootConstrainSelectedInstOperands,
36979 /* 104313 */ // GIR_Coverage, 16765,
36980 /* 104313 */ GIR_EraseRootFromParent_Done,
36981 /* 104314 */ // Label 2221: @104314
36982 /* 104314 */ GIM_Try, /*On fail goto*//*Label 2222*/ GIMT_Encode4(104360), // Rule ID 16768 //
36983 /* 104319 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
36984 /* 104322 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsw256),
36985 /* 104327 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s16,
36986 /* 104330 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
36987 /* 104334 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36988 /* 104338 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36989 /* 104345 */ // (intrinsic_w_chain:{ *:[v16i16] } 13690:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSWZ256m:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
36990 /* 104345 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSWZ256m),
36991 /* 104348 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36992 /* 104350 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36993 /* 104354 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36994 /* 104358 */ GIR_RootConstrainSelectedInstOperands,
36995 /* 104359 */ // GIR_Coverage, 16768,
36996 /* 104359 */ GIR_EraseRootFromParent_Done,
36997 /* 104360 */ // Label 2222: @104360
36998 /* 104360 */ GIM_Try, /*On fail goto*//*Label 2223*/ GIMT_Encode4(104406), // Rule ID 16771 //
36999 /* 104365 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_512_HasMOVRS_In64BitMode),
37000 /* 104368 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsd512),
37001 /* 104373 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
37002 /* 104376 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37003 /* 104380 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37004 /* 104384 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37005 /* 104391 */ // (intrinsic_w_chain:{ *:[v16i32] } 13685:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSDZm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
37006 /* 104391 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSDZm),
37007 /* 104394 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37008 /* 104396 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
37009 /* 104400 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37010 /* 104404 */ GIR_RootConstrainSelectedInstOperands,
37011 /* 104405 */ // GIR_Coverage, 16771,
37012 /* 104405 */ GIR_EraseRootFromParent_Done,
37013 /* 104406 */ // Label 2223: @104406
37014 /* 104406 */ GIM_Try, /*On fail goto*//*Label 2224*/ GIMT_Encode4(104452), // Rule ID 16774 //
37015 /* 104411 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
37016 /* 104414 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsd128),
37017 /* 104419 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
37018 /* 104422 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
37019 /* 104426 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37020 /* 104430 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37021 /* 104437 */ // (intrinsic_w_chain:{ *:[v4i32] } 13683:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSDZ128m:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
37022 /* 104437 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSDZ128m),
37023 /* 104440 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37024 /* 104442 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
37025 /* 104446 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37026 /* 104450 */ GIR_RootConstrainSelectedInstOperands,
37027 /* 104451 */ // GIR_Coverage, 16774,
37028 /* 104451 */ GIR_EraseRootFromParent_Done,
37029 /* 104452 */ // Label 2224: @104452
37030 /* 104452 */ GIM_Try, /*On fail goto*//*Label 2225*/ GIMT_Encode4(104498), // Rule ID 16777 //
37031 /* 104457 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
37032 /* 104460 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsd256),
37033 /* 104465 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
37034 /* 104468 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
37035 /* 104472 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37036 /* 104476 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37037 /* 104483 */ // (intrinsic_w_chain:{ *:[v8i32] } 13684:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSDZ256m:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
37038 /* 104483 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSDZ256m),
37039 /* 104486 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37040 /* 104488 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
37041 /* 104492 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37042 /* 104496 */ GIR_RootConstrainSelectedInstOperands,
37043 /* 104497 */ // GIR_Coverage, 16777,
37044 /* 104497 */ GIR_EraseRootFromParent_Done,
37045 /* 104498 */ // Label 2225: @104498
37046 /* 104498 */ GIM_Try, /*On fail goto*//*Label 2226*/ GIMT_Encode4(104544), // Rule ID 16780 //
37047 /* 104503 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_512_HasMOVRS_In64BitMode),
37048 /* 104506 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsq512),
37049 /* 104511 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
37050 /* 104514 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37051 /* 104518 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37052 /* 104522 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37053 /* 104529 */ // (intrinsic_w_chain:{ *:[v8i64] } 13688:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSQZm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
37054 /* 104529 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSQZm),
37055 /* 104532 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37056 /* 104534 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
37057 /* 104538 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37058 /* 104542 */ GIR_RootConstrainSelectedInstOperands,
37059 /* 104543 */ // GIR_Coverage, 16780,
37060 /* 104543 */ GIR_EraseRootFromParent_Done,
37061 /* 104544 */ // Label 2226: @104544
37062 /* 104544 */ GIM_Try, /*On fail goto*//*Label 2227*/ GIMT_Encode4(104590), // Rule ID 16783 //
37063 /* 104549 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
37064 /* 104552 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsq128),
37065 /* 104557 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
37066 /* 104560 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
37067 /* 104564 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37068 /* 104568 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37069 /* 104575 */ // (intrinsic_w_chain:{ *:[v2i64] } 13686:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSQZ128m:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
37070 /* 104575 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSQZ128m),
37071 /* 104578 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37072 /* 104580 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
37073 /* 104584 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37074 /* 104588 */ GIR_RootConstrainSelectedInstOperands,
37075 /* 104589 */ // GIR_Coverage, 16783,
37076 /* 104589 */ GIR_EraseRootFromParent_Done,
37077 /* 104590 */ // Label 2227: @104590
37078 /* 104590 */ GIM_Try, /*On fail goto*//*Label 2228*/ GIMT_Encode4(104636), // Rule ID 16786 //
37079 /* 104595 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
37080 /* 104598 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsq256),
37081 /* 104603 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
37082 /* 104606 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
37083 /* 104610 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37084 /* 104614 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37085 /* 104621 */ // (intrinsic_w_chain:{ *:[v4i64] } 13687:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSQZ256m:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
37086 /* 104621 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSQZ256m),
37087 /* 104624 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37088 /* 104626 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
37089 /* 104630 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37090 /* 104634 */ GIR_RootConstrainSelectedInstOperands,
37091 /* 104635 */ // GIR_Coverage, 16786,
37092 /* 104635 */ GIR_EraseRootFromParent_Done,
37093 /* 104636 */ // Label 2228: @104636
37094 /* 104636 */ GIM_Try, /*On fail goto*//*Label 2229*/ GIMT_Encode4(104682), // Rule ID 17094 //
37095 /* 104641 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoEGPR),
37096 /* 104644 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrssd),
37097 /* 104649 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
37098 /* 104652 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37099 /* 104656 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37100 /* 104660 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37101 /* 104667 */ // (intrinsic_void 15012:{ *:[iPTR] }, GR32:{ *:[i32] }:$src, addr:{ *:[iPTR] }:$dst) => (WRSSD addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
37102 /* 104667 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRSSD),
37103 /* 104670 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37104 /* 104674 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
37105 /* 104676 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37106 /* 104680 */ GIR_RootConstrainSelectedInstOperands,
37107 /* 104681 */ // GIR_Coverage, 17094,
37108 /* 104681 */ GIR_EraseRootFromParent_Done,
37109 /* 104682 */ // Label 2229: @104682
37110 /* 104682 */ GIM_Try, /*On fail goto*//*Label 2230*/ GIMT_Encode4(104728), // Rule ID 17095 //
37111 /* 104687 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoEGPR),
37112 /* 104690 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrssq),
37113 /* 104695 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
37114 /* 104698 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37115 /* 104702 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37116 /* 104706 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37117 /* 104713 */ // (intrinsic_void 15013:{ *:[iPTR] }, GR64:{ *:[i64] }:$src, addr:{ *:[iPTR] }:$dst) => (WRSSQ addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
37118 /* 104713 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRSSQ),
37119 /* 104716 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37120 /* 104720 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
37121 /* 104722 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37122 /* 104726 */ GIR_RootConstrainSelectedInstOperands,
37123 /* 104727 */ // GIR_Coverage, 17095,
37124 /* 104727 */ GIR_EraseRootFromParent_Done,
37125 /* 104728 */ // Label 2230: @104728
37126 /* 104728 */ GIM_Try, /*On fail goto*//*Label 2231*/ GIMT_Encode4(104774), // Rule ID 17096 //
37127 /* 104733 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoEGPR),
37128 /* 104736 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrussd),
37129 /* 104741 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
37130 /* 104744 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37131 /* 104748 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37132 /* 104752 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37133 /* 104759 */ // (intrinsic_void 15014:{ *:[iPTR] }, GR32:{ *:[i32] }:$src, addr:{ *:[iPTR] }:$dst) => (WRUSSD addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
37134 /* 104759 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRUSSD),
37135 /* 104762 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37136 /* 104766 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
37137 /* 104768 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37138 /* 104772 */ GIR_RootConstrainSelectedInstOperands,
37139 /* 104773 */ // GIR_Coverage, 17096,
37140 /* 104773 */ GIR_EraseRootFromParent_Done,
37141 /* 104774 */ // Label 2231: @104774
37142 /* 104774 */ GIM_Try, /*On fail goto*//*Label 2232*/ GIMT_Encode4(104820), // Rule ID 17097 //
37143 /* 104779 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoEGPR),
37144 /* 104782 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrussq),
37145 /* 104787 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
37146 /* 104790 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37147 /* 104794 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37148 /* 104798 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37149 /* 104805 */ // (intrinsic_void 15015:{ *:[iPTR] }, GR64:{ *:[i64] }:$src, addr:{ *:[iPTR] }:$dst) => (WRUSSQ addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
37150 /* 104805 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRUSSQ),
37151 /* 104808 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37152 /* 104812 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
37153 /* 104814 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37154 /* 104818 */ GIR_RootConstrainSelectedInstOperands,
37155 /* 104819 */ // GIR_Coverage, 17097,
37156 /* 104819 */ GIR_EraseRootFromParent_Done,
37157 /* 104820 */ // Label 2232: @104820
37158 /* 104820 */ GIM_Try, /*On fail goto*//*Label 2233*/ GIMT_Encode4(104866), // Rule ID 17098 //
37159 /* 104825 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_In64BitMode),
37160 /* 104828 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrssd),
37161 /* 104833 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
37162 /* 104836 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37163 /* 104840 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37164 /* 104844 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37165 /* 104851 */ // (intrinsic_void 15012:{ *:[iPTR] }, GR32:{ *:[i32] }:$src, addr:{ *:[iPTR] }:$dst) => (WRSSD_EVEX addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
37166 /* 104851 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRSSD_EVEX),
37167 /* 104854 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37168 /* 104858 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
37169 /* 104860 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37170 /* 104864 */ GIR_RootConstrainSelectedInstOperands,
37171 /* 104865 */ // GIR_Coverage, 17098,
37172 /* 104865 */ GIR_EraseRootFromParent_Done,
37173 /* 104866 */ // Label 2233: @104866
37174 /* 104866 */ GIM_Try, /*On fail goto*//*Label 2234*/ GIMT_Encode4(104912), // Rule ID 17099 //
37175 /* 104871 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_In64BitMode),
37176 /* 104874 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrssq),
37177 /* 104879 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
37178 /* 104882 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37179 /* 104886 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37180 /* 104890 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37181 /* 104897 */ // (intrinsic_void 15013:{ *:[iPTR] }, GR64:{ *:[i64] }:$src, addr:{ *:[iPTR] }:$dst) => (WRSSQ_EVEX addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
37182 /* 104897 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRSSQ_EVEX),
37183 /* 104900 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37184 /* 104904 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
37185 /* 104906 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37186 /* 104910 */ GIR_RootConstrainSelectedInstOperands,
37187 /* 104911 */ // GIR_Coverage, 17099,
37188 /* 104911 */ GIR_EraseRootFromParent_Done,
37189 /* 104912 */ // Label 2234: @104912
37190 /* 104912 */ GIM_Try, /*On fail goto*//*Label 2235*/ GIMT_Encode4(104958), // Rule ID 17100 //
37191 /* 104917 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_In64BitMode),
37192 /* 104920 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrussd),
37193 /* 104925 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
37194 /* 104928 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37195 /* 104932 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37196 /* 104936 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37197 /* 104943 */ // (intrinsic_void 15014:{ *:[iPTR] }, GR32:{ *:[i32] }:$src, addr:{ *:[iPTR] }:$dst) => (WRUSSD_EVEX addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
37198 /* 104943 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRUSSD_EVEX),
37199 /* 104946 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37200 /* 104950 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
37201 /* 104952 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37202 /* 104956 */ GIR_RootConstrainSelectedInstOperands,
37203 /* 104957 */ // GIR_Coverage, 17100,
37204 /* 104957 */ GIR_EraseRootFromParent_Done,
37205 /* 104958 */ // Label 2235: @104958
37206 /* 104958 */ GIM_Try, /*On fail goto*//*Label 2236*/ GIMT_Encode4(105004), // Rule ID 17101 //
37207 /* 104963 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_In64BitMode),
37208 /* 104966 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrussq),
37209 /* 104971 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
37210 /* 104974 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37211 /* 104978 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37212 /* 104982 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37213 /* 104989 */ // (intrinsic_void 15015:{ *:[iPTR] }, GR64:{ *:[i64] }:$src, addr:{ *:[iPTR] }:$dst) => (WRUSSQ_EVEX addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
37214 /* 104989 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRUSSQ_EVEX),
37215 /* 104992 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37216 /* 104996 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
37217 /* 104998 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37218 /* 105002 */ GIR_RootConstrainSelectedInstOperands,
37219 /* 105003 */ // GIR_Coverage, 17101,
37220 /* 105003 */ GIR_EraseRootFromParent_Done,
37221 /* 105004 */ // Label 2236: @105004
37222 /* 105004 */ GIM_Try, /*On fail goto*//*Label 2237*/ GIMT_Encode4(105050), // Rule ID 17127 //
37223 /* 105009 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasINVPCID_Not64BitMode),
37224 /* 105012 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_invpcid),
37225 /* 105017 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
37226 /* 105020 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37227 /* 105024 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37228 /* 105028 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37229 /* 105035 */ // (intrinsic_void 14576:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2) => (INVPCID32 GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
37230 /* 105035 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INVPCID32),
37231 /* 105038 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37232 /* 105040 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
37233 /* 105044 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37234 /* 105048 */ GIR_RootConstrainSelectedInstOperands,
37235 /* 105049 */ // GIR_Coverage, 17127,
37236 /* 105049 */ GIR_EraseRootFromParent_Done,
37237 /* 105050 */ // Label 2237: @105050
37238 /* 105050 */ GIM_Try, /*On fail goto*//*Label 2238*/ GIMT_Encode4(105142), // Rule ID 22379 //
37239 /* 105055 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasINVPCID_NoEGPR),
37240 /* 105058 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_invpcid),
37241 /* 105063 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
37242 /* 105066 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37243 /* 105070 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37244 /* 105074 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37245 /* 105081 */ // (intrinsic_void 14576:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2) => (INVPCID64 (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (MOV32rr:{ *:[i32] } GR32:{ *:[i32] }:$src1), sub_32bit:{ *:[i32] }), addr:{ *:[iPTR] }:$src2)
37246 /* 105081 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
37247 /* 105084 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(X86::MOV32rr),
37248 /* 105088 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
37249 /* 105093 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
37250 /* 105097 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
37251 /* 105099 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
37252 /* 105102 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
37253 /* 105106 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
37254 /* 105111 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
37255 /* 105114 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
37256 /* 105117 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/6,
37257 /* 105120 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
37258 /* 105125 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR32RegClassID),
37259 /* 105130 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INVPCID64),
37260 /* 105133 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
37261 /* 105136 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
37262 /* 105140 */ GIR_RootConstrainSelectedInstOperands,
37263 /* 105141 */ // GIR_Coverage, 22379,
37264 /* 105141 */ GIR_EraseRootFromParent_Done,
37265 /* 105142 */ // Label 2238: @105142
37266 /* 105142 */ GIM_Try, /*On fail goto*//*Label 2239*/ GIMT_Encode4(105234), // Rule ID 22380 //
37267 /* 105147 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasINVPCID),
37268 /* 105150 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_invpcid),
37269 /* 105155 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
37270 /* 105158 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37271 /* 105162 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37272 /* 105166 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37273 /* 105173 */ // (intrinsic_void 14576:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2) => (INVPCID64_EVEX (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (MOV32rr:{ *:[i32] } GR32:{ *:[i32] }:$src1), sub_32bit:{ *:[i32] }), addr:{ *:[iPTR] }:$src2)
37274 /* 105173 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
37275 /* 105176 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(X86::MOV32rr),
37276 /* 105180 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
37277 /* 105185 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
37278 /* 105189 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
37279 /* 105191 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
37280 /* 105194 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
37281 /* 105198 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
37282 /* 105203 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
37283 /* 105206 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
37284 /* 105209 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/6,
37285 /* 105212 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
37286 /* 105217 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR32RegClassID),
37287 /* 105222 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INVPCID64_EVEX),
37288 /* 105225 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
37289 /* 105228 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
37290 /* 105232 */ GIR_RootConstrainSelectedInstOperands,
37291 /* 105233 */ // GIR_Coverage, 22380,
37292 /* 105233 */ GIR_EraseRootFromParent_Done,
37293 /* 105234 */ // Label 2239: @105234
37294 /* 105234 */ GIM_Try, /*On fail goto*//*Label 2240*/ GIMT_Encode4(105280), // Rule ID 131 //
37295 /* 105239 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVDIRI_NoEGPR),
37296 /* 105242 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_directstore32),
37297 /* 105247 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37298 /* 105250 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37299 /* 105254 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37300 /* 105258 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37301 /* 105265 */ // (intrinsic_void 14555:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src) => (MOVDIRI32 addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
37302 /* 105265 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIRI32),
37303 /* 105268 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37304 /* 105272 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
37305 /* 105274 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37306 /* 105278 */ GIR_RootConstrainSelectedInstOperands,
37307 /* 105279 */ // GIR_Coverage, 131,
37308 /* 105279 */ GIR_EraseRootFromParent_Done,
37309 /* 105280 */ // Label 2240: @105280
37310 /* 105280 */ GIM_Try, /*On fail goto*//*Label 2241*/ GIMT_Encode4(105326), // Rule ID 132 //
37311 /* 105285 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVDIRI_In64BitMode_NoEGPR),
37312 /* 105288 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_directstore64),
37313 /* 105293 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
37314 /* 105296 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37315 /* 105300 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37316 /* 105304 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37317 /* 105311 */ // (intrinsic_void 14556:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src) => (MOVDIRI64 addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
37318 /* 105311 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIRI64),
37319 /* 105314 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37320 /* 105318 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
37321 /* 105320 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37322 /* 105324 */ GIR_RootConstrainSelectedInstOperands,
37323 /* 105325 */ // GIR_Coverage, 132,
37324 /* 105325 */ GIR_EraseRootFromParent_Done,
37325 /* 105326 */ // Label 2241: @105326
37326 /* 105326 */ GIM_Try, /*On fail goto*//*Label 2242*/ GIMT_Encode4(105372), // Rule ID 133 //
37327 /* 105331 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVDIRI_In64BitMode),
37328 /* 105334 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_directstore32),
37329 /* 105339 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37330 /* 105342 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37331 /* 105346 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37332 /* 105350 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37333 /* 105357 */ // (intrinsic_void 14555:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src) => (MOVDIRI32_EVEX addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
37334 /* 105357 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIRI32_EVEX),
37335 /* 105360 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37336 /* 105364 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
37337 /* 105366 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37338 /* 105370 */ GIR_RootConstrainSelectedInstOperands,
37339 /* 105371 */ // GIR_Coverage, 133,
37340 /* 105371 */ GIR_EraseRootFromParent_Done,
37341 /* 105372 */ // Label 2242: @105372
37342 /* 105372 */ GIM_Try, /*On fail goto*//*Label 2243*/ GIMT_Encode4(105418), // Rule ID 134 //
37343 /* 105377 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVDIRI_In64BitMode),
37344 /* 105380 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_directstore64),
37345 /* 105385 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
37346 /* 105388 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37347 /* 105392 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37348 /* 105396 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37349 /* 105403 */ // (intrinsic_void 14556:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src) => (MOVDIRI64_EVEX addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
37350 /* 105403 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIRI64_EVEX),
37351 /* 105406 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37352 /* 105410 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
37353 /* 105412 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37354 /* 105416 */ GIR_RootConstrainSelectedInstOperands,
37355 /* 105417 */ // GIR_Coverage, 134,
37356 /* 105417 */ GIR_EraseRootFromParent_Done,
37357 /* 105418 */ // Label 2243: @105418
37358 /* 105418 */ GIM_Try, /*On fail goto*//*Label 2244*/ GIMT_Encode4(105465), // Rule ID 135 //
37359 /* 105423 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVDIR64B_NoEGPR),
37360 /* 105426 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_movdir64b),
37361 /* 105431 */ // MIs[0] dst
37362 /* 105431 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/32,
37363 /* 105435 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37364 /* 105439 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37365 /* 105443 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37366 /* 105450 */ // (intrinsic_void 14656:{ *:[iPTR] }, GR32:{ *:[i32] }:$dst, addr:{ *:[iPTR] }:$src) => (MOVDIR64B32 GR32:{ *:[i32] }:$dst, addr:{ *:[iPTR] }:$src)
37367 /* 105450 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIR64B32),
37368 /* 105453 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
37369 /* 105455 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
37370 /* 105459 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37371 /* 105463 */ GIR_RootConstrainSelectedInstOperands,
37372 /* 105464 */ // GIR_Coverage, 135,
37373 /* 105464 */ GIR_EraseRootFromParent_Done,
37374 /* 105465 */ // Label 2244: @105465
37375 /* 105465 */ GIM_Try, /*On fail goto*//*Label 2245*/ GIMT_Encode4(105512), // Rule ID 136 //
37376 /* 105470 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVDIR64B_In64BitMode_NoEGPR),
37377 /* 105473 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_movdir64b),
37378 /* 105478 */ // MIs[0] dst
37379 /* 105478 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/64,
37380 /* 105482 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37381 /* 105486 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37382 /* 105490 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37383 /* 105497 */ // (intrinsic_void 14656:{ *:[iPTR] }, GR64:{ *:[i64] }:$dst, addr:{ *:[iPTR] }:$src) => (MOVDIR64B64 GR64:{ *:[i64] }:$dst, addr:{ *:[iPTR] }:$src)
37384 /* 105497 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIR64B64),
37385 /* 105500 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
37386 /* 105502 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
37387 /* 105506 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37388 /* 105510 */ GIR_RootConstrainSelectedInstOperands,
37389 /* 105511 */ // GIR_Coverage, 136,
37390 /* 105511 */ GIR_EraseRootFromParent_Done,
37391 /* 105512 */ // Label 2245: @105512
37392 /* 105512 */ GIM_Try, /*On fail goto*//*Label 2246*/ GIMT_Encode4(105559), // Rule ID 137 //
37393 /* 105517 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVDIR64B_In64BitMode),
37394 /* 105520 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_movdir64b),
37395 /* 105525 */ // MIs[0] dst
37396 /* 105525 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/32,
37397 /* 105529 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37398 /* 105533 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37399 /* 105537 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37400 /* 105544 */ // (intrinsic_void 14656:{ *:[iPTR] }, GR32:{ *:[i32] }:$dst, addr:{ *:[iPTR] }:$src) => (MOVDIR64B32_EVEX GR32:{ *:[i32] }:$dst, addr:{ *:[iPTR] }:$src)
37401 /* 105544 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIR64B32_EVEX),
37402 /* 105547 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
37403 /* 105549 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
37404 /* 105553 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37405 /* 105557 */ GIR_RootConstrainSelectedInstOperands,
37406 /* 105558 */ // GIR_Coverage, 137,
37407 /* 105558 */ GIR_EraseRootFromParent_Done,
37408 /* 105559 */ // Label 2246: @105559
37409 /* 105559 */ GIM_Try, /*On fail goto*//*Label 2247*/ GIMT_Encode4(105606), // Rule ID 138 //
37410 /* 105564 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVDIR64B_In64BitMode),
37411 /* 105567 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_movdir64b),
37412 /* 105572 */ // MIs[0] dst
37413 /* 105572 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/64,
37414 /* 105576 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37415 /* 105580 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37416 /* 105584 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37417 /* 105591 */ // (intrinsic_void 14656:{ *:[iPTR] }, GR64:{ *:[i64] }:$dst, addr:{ *:[iPTR] }:$src) => (MOVDIR64B64_EVEX GR64:{ *:[i64] }:$dst, addr:{ *:[iPTR] }:$src)
37418 /* 105591 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIR64B64_EVEX),
37419 /* 105594 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
37420 /* 105596 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
37421 /* 105600 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37422 /* 105604 */ GIR_RootConstrainSelectedInstOperands,
37423 /* 105605 */ // GIR_Coverage, 138,
37424 /* 105605 */ GIR_EraseRootFromParent_Done,
37425 /* 105606 */ // Label 2247: @105606
37426 /* 105606 */ GIM_Try, /*On fail goto*//*Label 2248*/ GIMT_Encode4(105638), // Rule ID 17025 //
37427 /* 105611 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXTRANSPOSE_In64BitMode),
37428 /* 105614 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ttransposed),
37429 /* 105619 */ // MIs[0] dst
37430 /* 105619 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
37431 /* 105622 */ // MIs[0] src
37432 /* 105622 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37433 /* 105625 */ // (intrinsic_void 14962:{ *:[iPTR] }, (timm:{ *:[i8] }):$dst, (timm:{ *:[i8] }):$src) => (PTTRANSPOSED (timm:{ *:[i8] }):$dst, (timm:{ *:[i8] }):$src)
37434 /* 105625 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTTRANSPOSED),
37435 /* 105628 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
37436 /* 105630 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
37437 /* 105632 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37438 /* 105636 */ GIR_RootConstrainSelectedInstOperands,
37439 /* 105637 */ // GIR_Coverage, 17025,
37440 /* 105637 */ GIR_EraseRootFromParent_Done,
37441 /* 105638 */ // Label 2248: @105638
37442 /* 105638 */ GIM_Try, /*On fail goto*//*Label 2249*/ GIMT_Encode4(105670), // Rule ID 17037 //
37443 /* 105643 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXCOMPLEX_HasAMXTRANSPOSE_In64BitMode),
37444 /* 105646 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tconjtfp16),
37445 /* 105651 */ // MIs[0] dst
37446 /* 105651 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
37447 /* 105654 */ // MIs[0] src
37448 /* 105654 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37449 /* 105657 */ // (intrinsic_void 14901:{ *:[iPTR] }, (timm:{ *:[i8] }):$dst, (timm:{ *:[i8] }):$src) => (PTCONJTFP16 (timm:{ *:[i8] }):$dst, (timm:{ *:[i8] }):$src)
37450 /* 105657 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCONJTFP16),
37451 /* 105660 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
37452 /* 105662 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
37453 /* 105664 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37454 /* 105668 */ GIR_RootConstrainSelectedInstOperands,
37455 /* 105669 */ // GIR_Coverage, 17037,
37456 /* 105669 */ GIR_EraseRootFromParent_Done,
37457 /* 105670 */ // Label 2249: @105670
37458 /* 105670 */ GIM_Try, /*On fail goto*//*Label 2250*/ GIMT_Encode4(105713), // Rule ID 17152 //
37459 /* 105675 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::asan_check_memaccess),
37460 /* 105680 */ // MIs[0] addr
37461 /* 105680 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/64,
37462 /* 105684 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64PLTSafeRegClassID),
37463 /* 105688 */ // MIs[0] accessinfo
37464 /* 105688 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37465 /* 105691 */ // (intrinsic_void 9:{ *:[iPTR] }, GR64PLTSafe:{ *:[i64] }:$addr, (timm:{ *:[i32] }):$accessinfo) => (ASAN_CHECK_MEMACCESS:{ *:[i64] } GR64PLTSafe:{ *:[i64] }:$addr, (timm:{ *:[i32] }):$accessinfo)
37466 /* 105691 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ASAN_CHECK_MEMACCESS),
37467 /* 105694 */ GIR_RootToRootCopy, /*OpIdx*/1, // addr
37468 /* 105696 */ GIR_RootToRootCopy, /*OpIdx*/2, // accessinfo
37469 /* 105698 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::R10*/0,
37470 /* 105701 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::R11*/1,
37471 /* 105704 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/2,
37472 /* 105707 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37473 /* 105711 */ GIR_RootConstrainSelectedInstOperands,
37474 /* 105712 */ // GIR_Coverage, 17152,
37475 /* 105712 */ GIR_EraseRootFromParent_Done,
37476 /* 105713 */ // Label 2250: @105713
37477 /* 105713 */ GIM_Try, /*On fail goto*//*Label 2251*/ GIMT_Encode4(105753), // Rule ID 17078 //
37478 /* 105718 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasUSERMSR_NoEGPR),
37479 /* 105721 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_urdmsr),
37480 /* 105726 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
37481 /* 105729 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
37482 /* 105732 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37483 /* 105736 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37484 /* 105740 */ // (intrinsic_w_chain:{ *:[i64] } 14966:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (URDMSRrr:{ *:[i64] } GR64:{ *:[i64] }:$src)
37485 /* 105740 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::URDMSRrr),
37486 /* 105743 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37487 /* 105745 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
37488 /* 105747 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37489 /* 105751 */ GIR_RootConstrainSelectedInstOperands,
37490 /* 105752 */ // GIR_Coverage, 17078,
37491 /* 105752 */ GIR_EraseRootFromParent_Done,
37492 /* 105753 */ // Label 2251: @105753
37493 /* 105753 */ GIM_Try, /*On fail goto*//*Label 2252*/ GIMT_Encode4(105793), // Rule ID 17082 //
37494 /* 105758 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasUSERMSR_In64BitMode),
37495 /* 105761 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_urdmsr),
37496 /* 105766 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
37497 /* 105769 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
37498 /* 105772 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37499 /* 105776 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37500 /* 105780 */ // (intrinsic_w_chain:{ *:[i64] } 14966:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (URDMSRrr_EVEX:{ *:[i64] } GR64:{ *:[i64] }:$src)
37501 /* 105780 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::URDMSRrr_EVEX),
37502 /* 105783 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37503 /* 105785 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
37504 /* 105787 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37505 /* 105791 */ GIR_RootConstrainSelectedInstOperands,
37506 /* 105792 */ // GIR_Coverage, 17082,
37507 /* 105792 */ GIR_EraseRootFromParent_Done,
37508 /* 105793 */ // Label 2252: @105793
37509 /* 105793 */ GIM_Try, /*On fail goto*//*Label 2253*/ GIMT_Encode4(105830), // Rule ID 17090 //
37510 /* 105798 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdsspd),
37511 /* 105803 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
37512 /* 105806 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37513 /* 105809 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37514 /* 105813 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37515 /* 105817 */ // (intrinsic_w_chain:{ *:[i32] } 14682:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (RDSSPD:{ *:[i32] } GR32:{ *:[i32] }:$src)
37516 /* 105817 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDSSPD),
37517 /* 105820 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37518 /* 105822 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
37519 /* 105824 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37520 /* 105828 */ GIR_RootConstrainSelectedInstOperands,
37521 /* 105829 */ // GIR_Coverage, 17090,
37522 /* 105829 */ GIR_EraseRootFromParent_Done,
37523 /* 105830 */ // Label 2253: @105830
37524 /* 105830 */ GIM_Try, /*On fail goto*//*Label 2254*/ GIMT_Encode4(105867), // Rule ID 17091 //
37525 /* 105835 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdsspq),
37526 /* 105840 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
37527 /* 105843 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
37528 /* 105846 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37529 /* 105850 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37530 /* 105854 */ // (intrinsic_w_chain:{ *:[i64] } 14683:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (RDSSPQ:{ *:[i64] } GR64:{ *:[i64] }:$src)
37531 /* 105854 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDSSPQ),
37532 /* 105857 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37533 /* 105859 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
37534 /* 105861 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37535 /* 105865 */ GIR_RootConstrainSelectedInstOperands,
37536 /* 105866 */ // GIR_Coverage, 17091,
37537 /* 105866 */ GIR_EraseRootFromParent_Done,
37538 /* 105867 */ // Label 2254: @105867
37539 /* 105867 */ GIM_Try, /*On fail goto*//*Label 2255*/ GIMT_Encode4(105931), // Rule ID 3086 //
37540 /* 105872 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE3),
37541 /* 105875 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse3_mwait),
37542 /* 105880 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
37543 /* 105883 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37544 /* 105886 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32_ArgRef_and_GR32_CBRegClassID),
37545 /* 105890 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
37546 /* 105894 */ // (intrinsic_void 14807:{ *:[iPTR] }, ECX:{ *:[i32] }, EAX:{ *:[i32] }) => (MWAITrr)
37547 /* 105894 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37548 /* 105898 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
37549 /* 105904 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/2, // EAX
37550 /* 105908 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37551 /* 105912 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::ECX), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
37552 /* 105918 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // ECX
37553 /* 105922 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MWAITrr),
37554 /* 105925 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37555 /* 105929 */ GIR_RootConstrainSelectedInstOperands,
37556 /* 105930 */ // GIR_Coverage, 3086,
37557 /* 105930 */ GIR_EraseRootFromParent_Done,
37558 /* 105931 */ // Label 2255: @105931
37559 /* 105931 */ GIM_Try, /*On fail goto*//*Label 2256*/ GIMT_Encode4(105971), // Rule ID 17080 //
37560 /* 105936 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasUSERMSR_NoEGPR),
37561 /* 105939 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_uwrmsr),
37562 /* 105944 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
37563 /* 105947 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
37564 /* 105950 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37565 /* 105954 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37566 /* 105958 */ // (intrinsic_void 14967:{ *:[iPTR] }, GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (UWRMSRrr GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
37567 /* 105958 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::UWRMSRrr),
37568 /* 105961 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37569 /* 105963 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37570 /* 105965 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37571 /* 105969 */ GIR_RootConstrainSelectedInstOperands,
37572 /* 105970 */ // GIR_Coverage, 17080,
37573 /* 105970 */ GIR_EraseRootFromParent_Done,
37574 /* 105971 */ // Label 2256: @105971
37575 /* 105971 */ GIM_Try, /*On fail goto*//*Label 2257*/ GIMT_Encode4(106011), // Rule ID 17084 //
37576 /* 105976 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasUSERMSR_In64BitMode),
37577 /* 105979 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_uwrmsr),
37578 /* 105984 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
37579 /* 105987 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
37580 /* 105990 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37581 /* 105994 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37582 /* 105998 */ // (intrinsic_void 14967:{ *:[iPTR] }, GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (UWRMSRrr_EVEX GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
37583 /* 105998 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::UWRMSRrr_EVEX),
37584 /* 106001 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37585 /* 106003 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37586 /* 106005 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37587 /* 106009 */ GIR_RootConstrainSelectedInstOperands,
37588 /* 106010 */ // GIR_Coverage, 17084,
37589 /* 106010 */ GIR_EraseRootFromParent_Done,
37590 /* 106011 */ // Label 2257: @106011
37591 /* 106011 */ GIM_Reject,
37592 /* 106012 */ // Label 2193: @106012
37593 /* 106012 */ GIM_Try, /*On fail goto*//*Label 2258*/ GIMT_Encode4(109557),
37594 /* 106017 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/4,
37595 /* 106020 */ GIM_Try, /*On fail goto*//*Label 2259*/ GIMT_Encode4(106092), // Rule ID 123 //
37596 /* 106025 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLWP),
37597 /* 106028 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_lwpval32),
37598 /* 106033 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
37599 /* 106036 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37600 /* 106039 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37601 /* 106043 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
37602 /* 106047 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
37603 /* 106051 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
37604 /* 106054 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
37605 /* 106058 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
37606 /* 106062 */ // MIs[0] cntl
37607 /* 106062 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37608 /* 106065 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
37609 /* 106067 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37610 /* 106074 */ // (intrinsic_void 14583:{ *:[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)
37611 /* 106074 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LWPVAL32rmi),
37612 /* 106077 */ GIR_RootToRootCopy, /*OpIdx*/1, // src0
37613 /* 106079 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
37614 /* 106083 */ GIR_RootToRootCopy, /*OpIdx*/3, // cntl
37615 /* 106085 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
37616 /* 106090 */ GIR_RootConstrainSelectedInstOperands,
37617 /* 106091 */ // GIR_Coverage, 123,
37618 /* 106091 */ GIR_EraseRootFromParent_Done,
37619 /* 106092 */ // Label 2259: @106092
37620 /* 106092 */ GIM_Try, /*On fail goto*//*Label 2260*/ GIMT_Encode4(106164), // Rule ID 125 //
37621 /* 106097 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLWP),
37622 /* 106100 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_lwpval64),
37623 /* 106105 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
37624 /* 106108 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37625 /* 106111 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37626 /* 106115 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
37627 /* 106119 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
37628 /* 106123 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
37629 /* 106126 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
37630 /* 106130 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
37631 /* 106134 */ // MIs[0] cntl
37632 /* 106134 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37633 /* 106137 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
37634 /* 106139 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37635 /* 106146 */ // (intrinsic_void 14584:{ *:[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)
37636 /* 106146 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LWPVAL64rmi),
37637 /* 106149 */ GIR_RootToRootCopy, /*OpIdx*/1, // src0
37638 /* 106151 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
37639 /* 106155 */ GIR_RootToRootCopy, /*OpIdx*/3, // cntl
37640 /* 106157 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
37641 /* 106162 */ GIR_RootConstrainSelectedInstOperands,
37642 /* 106163 */ // GIR_Coverage, 125,
37643 /* 106163 */ GIR_EraseRootFromParent_Done,
37644 /* 106164 */ // Label 2260: @106164
37645 /* 106164 */ GIM_Try, /*On fail goto*//*Label 2261*/ GIMT_Encode4(106219), // Rule ID 3387 //
37646 /* 106169 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
37647 /* 106172 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_maskload_ps),
37648 /* 106177 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
37649 /* 106180 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
37650 /* 106183 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37651 /* 106187 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37652 /* 106191 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37653 /* 106195 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37654 /* 106202 */ // (intrinsic_w_chain:{ *:[v4f32] } 13429:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v4i32] }:$src1) => (VMASKMOVPSrm:{ *:[v4f32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
37655 /* 106202 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPSrm),
37656 /* 106205 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37657 /* 106207 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
37658 /* 106209 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
37659 /* 106213 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37660 /* 106217 */ GIR_RootConstrainSelectedInstOperands,
37661 /* 106218 */ // GIR_Coverage, 3387,
37662 /* 106218 */ GIR_EraseRootFromParent_Done,
37663 /* 106219 */ // Label 2261: @106219
37664 /* 106219 */ GIM_Try, /*On fail goto*//*Label 2262*/ GIMT_Encode4(106274), // Rule ID 3388 //
37665 /* 106224 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
37666 /* 106227 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_maskload_ps_256),
37667 /* 106232 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
37668 /* 106235 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
37669 /* 106238 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37670 /* 106242 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37671 /* 106246 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37672 /* 106250 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37673 /* 106257 */ // (intrinsic_w_chain:{ *:[v8f32] } 13430:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR256:{ *:[v8i32] }:$src1) => (VMASKMOVPSYrm:{ *:[v8f32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
37674 /* 106257 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPSYrm),
37675 /* 106260 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37676 /* 106262 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
37677 /* 106264 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
37678 /* 106268 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37679 /* 106272 */ GIR_RootConstrainSelectedInstOperands,
37680 /* 106273 */ // GIR_Coverage, 3388,
37681 /* 106273 */ GIR_EraseRootFromParent_Done,
37682 /* 106274 */ // Label 2262: @106274
37683 /* 106274 */ GIM_Try, /*On fail goto*//*Label 2263*/ GIMT_Encode4(106329), // Rule ID 3391 //
37684 /* 106279 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
37685 /* 106282 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_maskload_pd),
37686 /* 106287 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
37687 /* 106290 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
37688 /* 106293 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37689 /* 106297 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37690 /* 106301 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37691 /* 106305 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37692 /* 106312 */ // (intrinsic_w_chain:{ *:[v2f64] } 13427:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v2i64] }:$src1) => (VMASKMOVPDrm:{ *:[v2f64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
37693 /* 106312 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPDrm),
37694 /* 106315 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37695 /* 106317 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
37696 /* 106319 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
37697 /* 106323 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37698 /* 106327 */ GIR_RootConstrainSelectedInstOperands,
37699 /* 106328 */ // GIR_Coverage, 3391,
37700 /* 106328 */ GIR_EraseRootFromParent_Done,
37701 /* 106329 */ // Label 2263: @106329
37702 /* 106329 */ GIM_Try, /*On fail goto*//*Label 2264*/ GIMT_Encode4(106384), // Rule ID 3392 //
37703 /* 106334 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
37704 /* 106337 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_maskload_pd_256),
37705 /* 106342 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
37706 /* 106345 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
37707 /* 106348 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37708 /* 106352 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37709 /* 106356 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37710 /* 106360 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37711 /* 106367 */ // (intrinsic_w_chain:{ *:[v4f64] } 13428:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR256:{ *:[v4i64] }:$src1) => (VMASKMOVPDYrm:{ *:[v4f64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
37712 /* 106367 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPDYrm),
37713 /* 106370 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37714 /* 106372 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
37715 /* 106374 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
37716 /* 106378 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37717 /* 106382 */ GIR_RootConstrainSelectedInstOperands,
37718 /* 106383 */ // GIR_Coverage, 3392,
37719 /* 106383 */ GIR_EraseRootFromParent_Done,
37720 /* 106384 */ // Label 2264: @106384
37721 /* 106384 */ GIM_Try, /*On fail goto*//*Label 2265*/ GIMT_Encode4(106439), // Rule ID 3465 //
37722 /* 106389 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
37723 /* 106392 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_maskload_d),
37724 /* 106397 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
37725 /* 106400 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
37726 /* 106403 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37727 /* 106407 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37728 /* 106411 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37729 /* 106415 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37730 /* 106422 */ // (intrinsic_w_chain:{ *:[v4i32] } 13727:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v4i32] }:$src1) => (VPMASKMOVDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
37731 /* 106422 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVDrm),
37732 /* 106425 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37733 /* 106427 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
37734 /* 106429 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
37735 /* 106433 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37736 /* 106437 */ GIR_RootConstrainSelectedInstOperands,
37737 /* 106438 */ // GIR_Coverage, 3465,
37738 /* 106438 */ GIR_EraseRootFromParent_Done,
37739 /* 106439 */ // Label 2265: @106439
37740 /* 106439 */ GIM_Try, /*On fail goto*//*Label 2266*/ GIMT_Encode4(106494), // Rule ID 3466 //
37741 /* 106444 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
37742 /* 106447 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_maskload_d_256),
37743 /* 106452 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
37744 /* 106455 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
37745 /* 106458 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37746 /* 106462 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37747 /* 106466 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37748 /* 106470 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37749 /* 106477 */ // (intrinsic_w_chain:{ *:[v8i32] } 13728:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR256:{ *:[v8i32] }:$src1) => (VPMASKMOVDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
37750 /* 106477 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVDYrm),
37751 /* 106480 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37752 /* 106482 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
37753 /* 106484 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
37754 /* 106488 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37755 /* 106492 */ GIR_RootConstrainSelectedInstOperands,
37756 /* 106493 */ // GIR_Coverage, 3466,
37757 /* 106493 */ GIR_EraseRootFromParent_Done,
37758 /* 106494 */ // Label 2266: @106494
37759 /* 106494 */ GIM_Try, /*On fail goto*//*Label 2267*/ GIMT_Encode4(106549), // Rule ID 3469 //
37760 /* 106499 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
37761 /* 106502 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_maskload_q),
37762 /* 106507 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
37763 /* 106510 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
37764 /* 106513 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37765 /* 106517 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37766 /* 106521 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37767 /* 106525 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37768 /* 106532 */ // (intrinsic_w_chain:{ *:[v2i64] } 13729:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v2i64] }:$src1) => (VPMASKMOVQrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
37769 /* 106532 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVQrm),
37770 /* 106535 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37771 /* 106537 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
37772 /* 106539 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
37773 /* 106543 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37774 /* 106547 */ GIR_RootConstrainSelectedInstOperands,
37775 /* 106548 */ // GIR_Coverage, 3469,
37776 /* 106548 */ GIR_EraseRootFromParent_Done,
37777 /* 106549 */ // Label 2267: @106549
37778 /* 106549 */ GIM_Try, /*On fail goto*//*Label 2268*/ GIMT_Encode4(106604), // Rule ID 3470 //
37779 /* 106554 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
37780 /* 106557 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_maskload_q_256),
37781 /* 106562 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
37782 /* 106565 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
37783 /* 106568 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37784 /* 106572 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37785 /* 106576 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37786 /* 106580 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37787 /* 106587 */ // (intrinsic_w_chain:{ *:[v4i64] } 13730:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR256:{ *:[v4i64] }:$src1) => (VPMASKMOVQYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
37788 /* 106587 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVQYrm),
37789 /* 106590 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37790 /* 106592 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
37791 /* 106594 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
37792 /* 106598 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37793 /* 106602 */ GIR_RootConstrainSelectedInstOperands,
37794 /* 106603 */ // GIR_Coverage, 3470,
37795 /* 106603 */ GIR_EraseRootFromParent_Done,
37796 /* 106604 */ // Label 2268: @106604
37797 /* 106604 */ GIM_Try, /*On fail goto*//*Label 2269*/ GIMT_Encode4(106659), // Rule ID 3389 //
37798 /* 106609 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
37799 /* 106612 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx_maskstore_ps),
37800 /* 106617 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
37801 /* 106620 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
37802 /* 106623 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37803 /* 106627 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37804 /* 106631 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37805 /* 106635 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37806 /* 106642 */ // (intrinsic_void 13433:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VMASKMOVPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4f32] }:$src2)
37807 /* 106642 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPSmr),
37808 /* 106645 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37809 /* 106649 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37810 /* 106651 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37811 /* 106653 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37812 /* 106657 */ GIR_RootConstrainSelectedInstOperands,
37813 /* 106658 */ // GIR_Coverage, 3389,
37814 /* 106658 */ GIR_EraseRootFromParent_Done,
37815 /* 106659 */ // Label 2269: @106659
37816 /* 106659 */ GIM_Try, /*On fail goto*//*Label 2270*/ GIMT_Encode4(106714), // Rule ID 3390 //
37817 /* 106664 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
37818 /* 106667 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx_maskstore_ps_256),
37819 /* 106672 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
37820 /* 106675 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
37821 /* 106678 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37822 /* 106682 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37823 /* 106686 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37824 /* 106690 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37825 /* 106697 */ // (intrinsic_void 13434:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VMASKMOVPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8f32] }:$src2)
37826 /* 106697 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPSYmr),
37827 /* 106700 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37828 /* 106704 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37829 /* 106706 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37830 /* 106708 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37831 /* 106712 */ GIR_RootConstrainSelectedInstOperands,
37832 /* 106713 */ // GIR_Coverage, 3390,
37833 /* 106713 */ GIR_EraseRootFromParent_Done,
37834 /* 106714 */ // Label 2270: @106714
37835 /* 106714 */ GIM_Try, /*On fail goto*//*Label 2271*/ GIMT_Encode4(106769), // Rule ID 3393 //
37836 /* 106719 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
37837 /* 106722 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx_maskstore_pd),
37838 /* 106727 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
37839 /* 106730 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
37840 /* 106733 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37841 /* 106737 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37842 /* 106741 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37843 /* 106745 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37844 /* 106752 */ // (intrinsic_void 13431:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VMASKMOVPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2f64] }:$src2)
37845 /* 106752 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPDmr),
37846 /* 106755 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37847 /* 106759 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37848 /* 106761 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37849 /* 106763 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37850 /* 106767 */ GIR_RootConstrainSelectedInstOperands,
37851 /* 106768 */ // GIR_Coverage, 3393,
37852 /* 106768 */ GIR_EraseRootFromParent_Done,
37853 /* 106769 */ // Label 2271: @106769
37854 /* 106769 */ GIM_Try, /*On fail goto*//*Label 2272*/ GIMT_Encode4(106824), // Rule ID 3394 //
37855 /* 106774 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
37856 /* 106777 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx_maskstore_pd_256),
37857 /* 106782 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
37858 /* 106785 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
37859 /* 106788 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37860 /* 106792 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37861 /* 106796 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37862 /* 106800 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37863 /* 106807 */ // (intrinsic_void 13432:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VMASKMOVPDYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4f64] }:$src2)
37864 /* 106807 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPDYmr),
37865 /* 106810 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37866 /* 106814 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37867 /* 106816 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37868 /* 106818 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37869 /* 106822 */ GIR_RootConstrainSelectedInstOperands,
37870 /* 106823 */ // GIR_Coverage, 3394,
37871 /* 106823 */ GIR_EraseRootFromParent_Done,
37872 /* 106824 */ // Label 2272: @106824
37873 /* 106824 */ GIM_Try, /*On fail goto*//*Label 2273*/ GIMT_Encode4(106879), // Rule ID 3467 //
37874 /* 106829 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
37875 /* 106832 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx2_maskstore_d),
37876 /* 106837 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
37877 /* 106840 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
37878 /* 106843 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37879 /* 106847 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37880 /* 106851 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37881 /* 106855 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37882 /* 106862 */ // (intrinsic_void 13731:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPMASKMOVDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
37883 /* 106862 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVDmr),
37884 /* 106865 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37885 /* 106869 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37886 /* 106871 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37887 /* 106873 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37888 /* 106877 */ GIR_RootConstrainSelectedInstOperands,
37889 /* 106878 */ // GIR_Coverage, 3467,
37890 /* 106878 */ GIR_EraseRootFromParent_Done,
37891 /* 106879 */ // Label 2273: @106879
37892 /* 106879 */ GIM_Try, /*On fail goto*//*Label 2274*/ GIMT_Encode4(106934), // Rule ID 3468 //
37893 /* 106884 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
37894 /* 106887 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx2_maskstore_d_256),
37895 /* 106892 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
37896 /* 106895 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
37897 /* 106898 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37898 /* 106902 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37899 /* 106906 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37900 /* 106910 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37901 /* 106917 */ // (intrinsic_void 13732:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPMASKMOVDYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
37902 /* 106917 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVDYmr),
37903 /* 106920 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37904 /* 106924 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37905 /* 106926 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37906 /* 106928 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37907 /* 106932 */ GIR_RootConstrainSelectedInstOperands,
37908 /* 106933 */ // GIR_Coverage, 3468,
37909 /* 106933 */ GIR_EraseRootFromParent_Done,
37910 /* 106934 */ // Label 2274: @106934
37911 /* 106934 */ GIM_Try, /*On fail goto*//*Label 2275*/ GIMT_Encode4(106989), // Rule ID 3471 //
37912 /* 106939 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
37913 /* 106942 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx2_maskstore_q),
37914 /* 106947 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
37915 /* 106950 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
37916 /* 106953 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37917 /* 106957 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37918 /* 106961 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37919 /* 106965 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37920 /* 106972 */ // (intrinsic_void 13733:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPMASKMOVQmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
37921 /* 106972 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVQmr),
37922 /* 106975 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37923 /* 106979 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37924 /* 106981 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37925 /* 106983 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37926 /* 106987 */ GIR_RootConstrainSelectedInstOperands,
37927 /* 106988 */ // GIR_Coverage, 3471,
37928 /* 106988 */ GIR_EraseRootFromParent_Done,
37929 /* 106989 */ // Label 2275: @106989
37930 /* 106989 */ GIM_Try, /*On fail goto*//*Label 2276*/ GIMT_Encode4(107044), // Rule ID 3472 //
37931 /* 106994 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
37932 /* 106997 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx2_maskstore_q_256),
37933 /* 107002 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
37934 /* 107005 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
37935 /* 107008 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37936 /* 107012 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37937 /* 107016 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37938 /* 107020 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37939 /* 107027 */ // (intrinsic_void 13734:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VPMASKMOVQYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
37940 /* 107027 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVQYmr),
37941 /* 107030 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37942 /* 107034 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37943 /* 107036 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37944 /* 107038 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37945 /* 107042 */ GIR_RootConstrainSelectedInstOperands,
37946 /* 107043 */ // GIR_Coverage, 3472,
37947 /* 107043 */ GIR_EraseRootFromParent_Done,
37948 /* 107044 */ // Label 2276: @107044
37949 /* 107044 */ GIM_Try, /*On fail goto*//*Label 2277*/ GIMT_Encode4(107123), // Rule ID 17105 //
37950 /* 107049 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVE),
37951 /* 107052 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsave),
37952 /* 107057 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37953 /* 107060 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37954 /* 107063 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37955 /* 107067 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
37956 /* 107071 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
37957 /* 107075 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37958 /* 107082 */ // (intrinsic_void 15071:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVE addr:{ *:[iPTR] }:$dst)
37959 /* 107082 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37960 /* 107086 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
37961 /* 107092 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
37962 /* 107096 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37963 /* 107100 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
37964 /* 107106 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
37965 /* 107110 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVE),
37966 /* 107113 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37967 /* 107117 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37968 /* 107121 */ GIR_RootConstrainSelectedInstOperands,
37969 /* 107122 */ // GIR_Coverage, 17105,
37970 /* 107122 */ GIR_EraseRootFromParent_Done,
37971 /* 107123 */ // Label 2277: @107123
37972 /* 107123 */ GIM_Try, /*On fail goto*//*Label 2278*/ GIMT_Encode4(107202), // Rule ID 17106 //
37973 /* 107128 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVE_In64BitMode),
37974 /* 107131 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsave64),
37975 /* 107136 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37976 /* 107139 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37977 /* 107142 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37978 /* 107146 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
37979 /* 107150 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
37980 /* 107154 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37981 /* 107161 */ // (intrinsic_void 15072:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVE64 addr:{ *:[iPTR] }:$dst)
37982 /* 107161 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37983 /* 107165 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
37984 /* 107171 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
37985 /* 107175 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37986 /* 107179 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
37987 /* 107185 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
37988 /* 107189 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVE64),
37989 /* 107192 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37990 /* 107196 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37991 /* 107200 */ GIR_RootConstrainSelectedInstOperands,
37992 /* 107201 */ // GIR_Coverage, 17106,
37993 /* 107201 */ GIR_EraseRootFromParent_Done,
37994 /* 107202 */ // Label 2278: @107202
37995 /* 107202 */ GIM_Try, /*On fail goto*//*Label 2279*/ GIMT_Encode4(107281), // Rule ID 17107 //
37996 /* 107207 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVE),
37997 /* 107210 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xrstor),
37998 /* 107215 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37999 /* 107218 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38000 /* 107221 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
38001 /* 107225 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
38002 /* 107229 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
38003 /* 107233 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38004 /* 107240 */ // (intrinsic_void 15067:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XRSTOR addr:{ *:[iPTR] }:$dst)
38005 /* 107240 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38006 /* 107244 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
38007 /* 107250 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
38008 /* 107254 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38009 /* 107258 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
38010 /* 107264 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
38011 /* 107268 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XRSTOR),
38012 /* 107271 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
38013 /* 107275 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38014 /* 107279 */ GIR_RootConstrainSelectedInstOperands,
38015 /* 107280 */ // GIR_Coverage, 17107,
38016 /* 107280 */ GIR_EraseRootFromParent_Done,
38017 /* 107281 */ // Label 2279: @107281
38018 /* 107281 */ GIM_Try, /*On fail goto*//*Label 2280*/ GIMT_Encode4(107360), // Rule ID 17108 //
38019 /* 107286 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVE_In64BitMode),
38020 /* 107289 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xrstor64),
38021 /* 107294 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
38022 /* 107297 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38023 /* 107300 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
38024 /* 107304 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
38025 /* 107308 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
38026 /* 107312 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38027 /* 107319 */ // (intrinsic_void 15068:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XRSTOR64 addr:{ *:[iPTR] }:$dst)
38028 /* 107319 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38029 /* 107323 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
38030 /* 107329 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
38031 /* 107333 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38032 /* 107337 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
38033 /* 107343 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
38034 /* 107347 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XRSTOR64),
38035 /* 107350 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
38036 /* 107354 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38037 /* 107358 */ GIR_RootConstrainSelectedInstOperands,
38038 /* 107359 */ // GIR_Coverage, 17108,
38039 /* 107359 */ GIR_EraseRootFromParent_Done,
38040 /* 107360 */ // Label 2280: @107360
38041 /* 107360 */ GIM_Try, /*On fail goto*//*Label 2281*/ GIMT_Encode4(107439), // Rule ID 17109 //
38042 /* 107365 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVEOPT),
38043 /* 107368 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsaveopt),
38044 /* 107373 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
38045 /* 107376 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38046 /* 107379 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
38047 /* 107383 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
38048 /* 107387 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
38049 /* 107391 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38050 /* 107398 */ // (intrinsic_void 15075:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVEOPT addr:{ *:[iPTR] }:$dst)
38051 /* 107398 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38052 /* 107402 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
38053 /* 107408 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
38054 /* 107412 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38055 /* 107416 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
38056 /* 107422 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
38057 /* 107426 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVEOPT),
38058 /* 107429 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
38059 /* 107433 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38060 /* 107437 */ GIR_RootConstrainSelectedInstOperands,
38061 /* 107438 */ // GIR_Coverage, 17109,
38062 /* 107438 */ GIR_EraseRootFromParent_Done,
38063 /* 107439 */ // Label 2281: @107439
38064 /* 107439 */ GIM_Try, /*On fail goto*//*Label 2282*/ GIMT_Encode4(107518), // Rule ID 17110 //
38065 /* 107444 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVEOPT_In64BitMode),
38066 /* 107447 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsaveopt64),
38067 /* 107452 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
38068 /* 107455 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38069 /* 107458 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
38070 /* 107462 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
38071 /* 107466 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
38072 /* 107470 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38073 /* 107477 */ // (intrinsic_void 15076:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVEOPT64 addr:{ *:[iPTR] }:$dst)
38074 /* 107477 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38075 /* 107481 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
38076 /* 107487 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
38077 /* 107491 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38078 /* 107495 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
38079 /* 107501 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
38080 /* 107505 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVEOPT64),
38081 /* 107508 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
38082 /* 107512 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38083 /* 107516 */ GIR_RootConstrainSelectedInstOperands,
38084 /* 107517 */ // GIR_Coverage, 17110,
38085 /* 107517 */ GIR_EraseRootFromParent_Done,
38086 /* 107518 */ // Label 2282: @107518
38087 /* 107518 */ GIM_Try, /*On fail goto*//*Label 2283*/ GIMT_Encode4(107597), // Rule ID 17111 //
38088 /* 107523 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVEC),
38089 /* 107526 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsavec),
38090 /* 107531 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
38091 /* 107534 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38092 /* 107537 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
38093 /* 107541 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
38094 /* 107545 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
38095 /* 107549 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38096 /* 107556 */ // (intrinsic_void 15073:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVEC addr:{ *:[iPTR] }:$dst)
38097 /* 107556 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38098 /* 107560 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
38099 /* 107566 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
38100 /* 107570 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38101 /* 107574 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
38102 /* 107580 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
38103 /* 107584 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVEC),
38104 /* 107587 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
38105 /* 107591 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38106 /* 107595 */ GIR_RootConstrainSelectedInstOperands,
38107 /* 107596 */ // GIR_Coverage, 17111,
38108 /* 107596 */ GIR_EraseRootFromParent_Done,
38109 /* 107597 */ // Label 2283: @107597
38110 /* 107597 */ GIM_Try, /*On fail goto*//*Label 2284*/ GIMT_Encode4(107676), // Rule ID 17112 //
38111 /* 107602 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVEC_In64BitMode),
38112 /* 107605 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsavec64),
38113 /* 107610 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
38114 /* 107613 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38115 /* 107616 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
38116 /* 107620 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
38117 /* 107624 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
38118 /* 107628 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38119 /* 107635 */ // (intrinsic_void 15074:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVEC64 addr:{ *:[iPTR] }:$dst)
38120 /* 107635 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38121 /* 107639 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
38122 /* 107645 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
38123 /* 107649 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38124 /* 107653 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
38125 /* 107659 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
38126 /* 107663 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVEC64),
38127 /* 107666 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
38128 /* 107670 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38129 /* 107674 */ GIR_RootConstrainSelectedInstOperands,
38130 /* 107675 */ // GIR_Coverage, 17112,
38131 /* 107675 */ GIR_EraseRootFromParent_Done,
38132 /* 107676 */ // Label 2284: @107676
38133 /* 107676 */ GIM_Try, /*On fail goto*//*Label 2285*/ GIMT_Encode4(107755), // Rule ID 17113 //
38134 /* 107681 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVES),
38135 /* 107684 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsaves),
38136 /* 107689 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
38137 /* 107692 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38138 /* 107695 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
38139 /* 107699 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
38140 /* 107703 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
38141 /* 107707 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38142 /* 107714 */ // (intrinsic_void 15077:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVES addr:{ *:[iPTR] }:$dst)
38143 /* 107714 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38144 /* 107718 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
38145 /* 107724 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
38146 /* 107728 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38147 /* 107732 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
38148 /* 107738 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
38149 /* 107742 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVES),
38150 /* 107745 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
38151 /* 107749 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38152 /* 107753 */ GIR_RootConstrainSelectedInstOperands,
38153 /* 107754 */ // GIR_Coverage, 17113,
38154 /* 107754 */ GIR_EraseRootFromParent_Done,
38155 /* 107755 */ // Label 2285: @107755
38156 /* 107755 */ GIM_Try, /*On fail goto*//*Label 2286*/ GIMT_Encode4(107834), // Rule ID 17114 //
38157 /* 107760 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVE_In64BitMode),
38158 /* 107763 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsaves64),
38159 /* 107768 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
38160 /* 107771 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38161 /* 107774 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
38162 /* 107778 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
38163 /* 107782 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
38164 /* 107786 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38165 /* 107793 */ // (intrinsic_void 15078:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVES64 addr:{ *:[iPTR] }:$dst)
38166 /* 107793 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38167 /* 107797 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
38168 /* 107803 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
38169 /* 107807 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38170 /* 107811 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
38171 /* 107817 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
38172 /* 107821 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVES64),
38173 /* 107824 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
38174 /* 107828 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38175 /* 107832 */ GIR_RootConstrainSelectedInstOperands,
38176 /* 107833 */ // GIR_Coverage, 17114,
38177 /* 107833 */ GIR_EraseRootFromParent_Done,
38178 /* 107834 */ // Label 2286: @107834
38179 /* 107834 */ GIM_Try, /*On fail goto*//*Label 2287*/ GIMT_Encode4(107913), // Rule ID 17115 //
38180 /* 107839 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVES),
38181 /* 107842 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xrstors),
38182 /* 107847 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
38183 /* 107850 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38184 /* 107853 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
38185 /* 107857 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
38186 /* 107861 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
38187 /* 107865 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38188 /* 107872 */ // (intrinsic_void 15069:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XRSTORS addr:{ *:[iPTR] }:$dst)
38189 /* 107872 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38190 /* 107876 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
38191 /* 107882 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
38192 /* 107886 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38193 /* 107890 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
38194 /* 107896 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
38195 /* 107900 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XRSTORS),
38196 /* 107903 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
38197 /* 107907 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38198 /* 107911 */ GIR_RootConstrainSelectedInstOperands,
38199 /* 107912 */ // GIR_Coverage, 17115,
38200 /* 107912 */ GIR_EraseRootFromParent_Done,
38201 /* 107913 */ // Label 2287: @107913
38202 /* 107913 */ GIM_Try, /*On fail goto*//*Label 2288*/ GIMT_Encode4(107992), // Rule ID 17116 //
38203 /* 107918 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVES_In64BitMode),
38204 /* 107921 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xrstors64),
38205 /* 107926 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
38206 /* 107929 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38207 /* 107932 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
38208 /* 107936 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
38209 /* 107940 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
38210 /* 107944 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38211 /* 107951 */ // (intrinsic_void 15070:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XRSTORS64 addr:{ *:[iPTR] }:$dst)
38212 /* 107951 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38213 /* 107955 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
38214 /* 107961 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
38215 /* 107965 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38216 /* 107969 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
38217 /* 107975 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
38218 /* 107979 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XRSTORS64),
38219 /* 107982 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
38220 /* 107986 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38221 /* 107990 */ GIR_RootConstrainSelectedInstOperands,
38222 /* 107991 */ // GIR_Coverage, 17116,
38223 /* 107991 */ GIR_EraseRootFromParent_Done,
38224 /* 107992 */ // Label 2288: @107992
38225 /* 107992 */ GIM_Try, /*On fail goto*//*Label 2289*/ GIMT_Encode4(108029), // Rule ID 17004 //
38226 /* 107997 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXINT8_In64BitMode),
38227 /* 108000 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbssd),
38228 /* 108005 */ // MIs[0] src1
38229 /* 108005 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
38230 /* 108008 */ // MIs[0] src2
38231 /* 108008 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38232 /* 108011 */ // MIs[0] src3
38233 /* 108011 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38234 /* 108014 */ // (intrinsic_void 14919:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBSSD (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
38235 /* 108014 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBSSD),
38236 /* 108017 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
38237 /* 108019 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
38238 /* 108021 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
38239 /* 108023 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38240 /* 108027 */ GIR_RootConstrainSelectedInstOperands,
38241 /* 108028 */ // GIR_Coverage, 17004,
38242 /* 108028 */ GIR_EraseRootFromParent_Done,
38243 /* 108029 */ // Label 2289: @108029
38244 /* 108029 */ GIM_Try, /*On fail goto*//*Label 2290*/ GIMT_Encode4(108066), // Rule ID 17005 //
38245 /* 108034 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXINT8_In64BitMode),
38246 /* 108037 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbsud),
38247 /* 108042 */ // MIs[0] src1
38248 /* 108042 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
38249 /* 108045 */ // MIs[0] src2
38250 /* 108045 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38251 /* 108048 */ // MIs[0] src3
38252 /* 108048 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38253 /* 108051 */ // (intrinsic_void 14921:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBSUD (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
38254 /* 108051 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBSUD),
38255 /* 108054 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
38256 /* 108056 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
38257 /* 108058 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
38258 /* 108060 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38259 /* 108064 */ GIR_RootConstrainSelectedInstOperands,
38260 /* 108065 */ // GIR_Coverage, 17005,
38261 /* 108065 */ GIR_EraseRootFromParent_Done,
38262 /* 108066 */ // Label 2290: @108066
38263 /* 108066 */ GIM_Try, /*On fail goto*//*Label 2291*/ GIMT_Encode4(108103), // Rule ID 17006 //
38264 /* 108071 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXINT8_In64BitMode),
38265 /* 108074 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbusd),
38266 /* 108079 */ // MIs[0] src1
38267 /* 108079 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
38268 /* 108082 */ // MIs[0] src2
38269 /* 108082 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38270 /* 108085 */ // MIs[0] src3
38271 /* 108085 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38272 /* 108088 */ // (intrinsic_void 14923:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBUSD (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
38273 /* 108088 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBUSD),
38274 /* 108091 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
38275 /* 108093 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
38276 /* 108095 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
38277 /* 108097 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38278 /* 108101 */ GIR_RootConstrainSelectedInstOperands,
38279 /* 108102 */ // GIR_Coverage, 17006,
38280 /* 108102 */ GIR_EraseRootFromParent_Done,
38281 /* 108103 */ // Label 2291: @108103
38282 /* 108103 */ GIM_Try, /*On fail goto*//*Label 2292*/ GIMT_Encode4(108140), // Rule ID 17007 //
38283 /* 108108 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXINT8_In64BitMode),
38284 /* 108111 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbuud),
38285 /* 108116 */ // MIs[0] src1
38286 /* 108116 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
38287 /* 108119 */ // MIs[0] src2
38288 /* 108119 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38289 /* 108122 */ // MIs[0] src3
38290 /* 108122 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38291 /* 108125 */ // (intrinsic_void 14925:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBUUD (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
38292 /* 108125 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBUUD),
38293 /* 108128 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
38294 /* 108130 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
38295 /* 108132 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
38296 /* 108134 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38297 /* 108138 */ GIR_RootConstrainSelectedInstOperands,
38298 /* 108139 */ // GIR_Coverage, 17007,
38299 /* 108139 */ GIR_EraseRootFromParent_Done,
38300 /* 108140 */ // Label 2292: @108140
38301 /* 108140 */ GIM_Try, /*On fail goto*//*Label 2293*/ GIMT_Encode4(108177), // Rule ID 17009 //
38302 /* 108145 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXBF16_In64BitMode),
38303 /* 108148 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbf16ps),
38304 /* 108153 */ // MIs[0] src1
38305 /* 108153 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
38306 /* 108156 */ // MIs[0] src2
38307 /* 108156 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38308 /* 108159 */ // MIs[0] src3
38309 /* 108159 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38310 /* 108162 */ // (intrinsic_void 14913:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBF16PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
38311 /* 108162 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBF16PS),
38312 /* 108165 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
38313 /* 108167 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
38314 /* 108169 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
38315 /* 108171 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38316 /* 108175 */ GIR_RootConstrainSelectedInstOperands,
38317 /* 108176 */ // GIR_Coverage, 17009,
38318 /* 108176 */ GIR_EraseRootFromParent_Done,
38319 /* 108177 */ // Label 2293: @108177
38320 /* 108177 */ GIM_Try, /*On fail goto*//*Label 2294*/ GIMT_Encode4(108214), // Rule ID 17011 //
38321 /* 108182 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXFP16_In64BitMode),
38322 /* 108185 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpfp16ps),
38323 /* 108190 */ // MIs[0] src1
38324 /* 108190 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
38325 /* 108193 */ // MIs[0] src2
38326 /* 108193 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38327 /* 108196 */ // MIs[0] src3
38328 /* 108196 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38329 /* 108199 */ // (intrinsic_void 14927:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPFP16PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
38330 /* 108199 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPFP16PS),
38331 /* 108202 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
38332 /* 108204 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
38333 /* 108206 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
38334 /* 108208 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38335 /* 108212 */ GIR_RootConstrainSelectedInstOperands,
38336 /* 108213 */ // GIR_Coverage, 17011,
38337 /* 108213 */ GIR_EraseRootFromParent_Done,
38338 /* 108214 */ // Label 2294: @108214
38339 /* 108214 */ GIM_Try, /*On fail goto*//*Label 2295*/ GIMT_Encode4(108251), // Rule ID 17014 //
38340 /* 108219 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXCOMPLEX_In64BitMode),
38341 /* 108222 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tcmmimfp16ps),
38342 /* 108227 */ // MIs[0] src1
38343 /* 108227 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
38344 /* 108230 */ // MIs[0] src2
38345 /* 108230 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38346 /* 108233 */ // MIs[0] src3
38347 /* 108233 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38348 /* 108236 */ // (intrinsic_void 14895:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTCMMIMFP16PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
38349 /* 108236 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCMMIMFP16PS),
38350 /* 108239 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
38351 /* 108241 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
38352 /* 108243 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
38353 /* 108245 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38354 /* 108249 */ GIR_RootConstrainSelectedInstOperands,
38355 /* 108250 */ // GIR_Coverage, 17014,
38356 /* 108250 */ GIR_EraseRootFromParent_Done,
38357 /* 108251 */ // Label 2295: @108251
38358 /* 108251 */ GIM_Try, /*On fail goto*//*Label 2296*/ GIMT_Encode4(108288), // Rule ID 17015 //
38359 /* 108256 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXCOMPLEX_In64BitMode),
38360 /* 108259 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tcmmrlfp16ps),
38361 /* 108264 */ // MIs[0] src1
38362 /* 108264 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
38363 /* 108267 */ // MIs[0] src2
38364 /* 108267 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38365 /* 108270 */ // MIs[0] src3
38366 /* 108270 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38367 /* 108273 */ // (intrinsic_void 14897:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTCMMRLFP16PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
38368 /* 108273 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCMMRLFP16PS),
38369 /* 108276 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
38370 /* 108278 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
38371 /* 108280 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
38372 /* 108282 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38373 /* 108286 */ GIR_RootConstrainSelectedInstOperands,
38374 /* 108287 */ // GIR_Coverage, 17015,
38375 /* 108287 */ GIR_EraseRootFromParent_Done,
38376 /* 108288 */ // Label 2296: @108288
38377 /* 108288 */ GIM_Try, /*On fail goto*//*Label 2297*/ GIMT_Encode4(108325), // Rule ID 17016 //
38378 /* 108293 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXFP8_In64BitMode),
38379 /* 108296 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbf8ps),
38380 /* 108301 */ // MIs[0] src1
38381 /* 108301 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
38382 /* 108304 */ // MIs[0] src2
38383 /* 108304 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38384 /* 108307 */ // MIs[0] src3
38385 /* 108307 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38386 /* 108310 */ // (intrinsic_void 14915:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBF8PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
38387 /* 108310 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBF8PS),
38388 /* 108313 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
38389 /* 108315 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
38390 /* 108317 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
38391 /* 108319 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38392 /* 108323 */ GIR_RootConstrainSelectedInstOperands,
38393 /* 108324 */ // GIR_Coverage, 17016,
38394 /* 108324 */ GIR_EraseRootFromParent_Done,
38395 /* 108325 */ // Label 2297: @108325
38396 /* 108325 */ GIM_Try, /*On fail goto*//*Label 2298*/ GIMT_Encode4(108362), // Rule ID 17017 //
38397 /* 108330 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXFP8_In64BitMode),
38398 /* 108333 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbhf8ps),
38399 /* 108338 */ // MIs[0] src1
38400 /* 108338 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
38401 /* 108341 */ // MIs[0] src2
38402 /* 108341 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38403 /* 108344 */ // MIs[0] src3
38404 /* 108344 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38405 /* 108347 */ // (intrinsic_void 14917:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBHF8PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
38406 /* 108347 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBHF8PS),
38407 /* 108350 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
38408 /* 108352 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
38409 /* 108354 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
38410 /* 108356 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38411 /* 108360 */ GIR_RootConstrainSelectedInstOperands,
38412 /* 108361 */ // GIR_Coverage, 17017,
38413 /* 108361 */ GIR_EraseRootFromParent_Done,
38414 /* 108362 */ // Label 2298: @108362
38415 /* 108362 */ GIM_Try, /*On fail goto*//*Label 2299*/ GIMT_Encode4(108399), // Rule ID 17018 //
38416 /* 108367 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXFP8_In64BitMode),
38417 /* 108370 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdphbf8ps),
38418 /* 108375 */ // MIs[0] src1
38419 /* 108375 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
38420 /* 108378 */ // MIs[0] src2
38421 /* 108378 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38422 /* 108381 */ // MIs[0] src3
38423 /* 108381 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38424 /* 108384 */ // (intrinsic_void 14929:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPHBF8PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
38425 /* 108384 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPHBF8PS),
38426 /* 108387 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
38427 /* 108389 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
38428 /* 108391 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
38429 /* 108393 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38430 /* 108397 */ GIR_RootConstrainSelectedInstOperands,
38431 /* 108398 */ // GIR_Coverage, 17018,
38432 /* 108398 */ GIR_EraseRootFromParent_Done,
38433 /* 108399 */ // Label 2299: @108399
38434 /* 108399 */ GIM_Try, /*On fail goto*//*Label 2300*/ GIMT_Encode4(108436), // Rule ID 17019 //
38435 /* 108404 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXFP8_In64BitMode),
38436 /* 108407 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdphf8ps),
38437 /* 108412 */ // MIs[0] src1
38438 /* 108412 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
38439 /* 108415 */ // MIs[0] src2
38440 /* 108415 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38441 /* 108418 */ // MIs[0] src3
38442 /* 108418 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38443 /* 108421 */ // (intrinsic_void 14931:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPHF8PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
38444 /* 108421 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPHF8PS),
38445 /* 108424 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
38446 /* 108426 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
38447 /* 108428 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
38448 /* 108430 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38449 /* 108434 */ GIR_RootConstrainSelectedInstOperands,
38450 /* 108435 */ // GIR_Coverage, 17019,
38451 /* 108435 */ GIR_EraseRootFromParent_Done,
38452 /* 108436 */ // Label 2300: @108436
38453 /* 108436 */ GIM_Try, /*On fail goto*//*Label 2301*/ GIMT_Encode4(108473), // Rule ID 17027 //
38454 /* 108441 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXBF16_HasAMXTRANSPOSE_In64BitMode),
38455 /* 108444 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ttdpbf16ps),
38456 /* 108449 */ // MIs[0] src1
38457 /* 108449 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
38458 /* 108452 */ // MIs[0] src2
38459 /* 108452 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38460 /* 108455 */ // MIs[0] src3
38461 /* 108455 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38462 /* 108458 */ // (intrinsic_void 14956:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTTDPBF16PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
38463 /* 108458 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTTDPBF16PS),
38464 /* 108461 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
38465 /* 108463 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
38466 /* 108465 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
38467 /* 108467 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38468 /* 108471 */ GIR_RootConstrainSelectedInstOperands,
38469 /* 108472 */ // GIR_Coverage, 17027,
38470 /* 108472 */ GIR_EraseRootFromParent_Done,
38471 /* 108473 */ // Label 2301: @108473
38472 /* 108473 */ GIM_Try, /*On fail goto*//*Label 2302*/ GIMT_Encode4(108510), // Rule ID 17029 //
38473 /* 108478 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXFP16_HasAMXTRANSPOSE_In64BitMode),
38474 /* 108481 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ttdpfp16ps),
38475 /* 108486 */ // MIs[0] src1
38476 /* 108486 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
38477 /* 108489 */ // MIs[0] src2
38478 /* 108489 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38479 /* 108492 */ // MIs[0] src3
38480 /* 108492 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38481 /* 108495 */ // (intrinsic_void 14958:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTTDPFP16PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
38482 /* 108495 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTTDPFP16PS),
38483 /* 108498 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
38484 /* 108500 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
38485 /* 108502 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
38486 /* 108504 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38487 /* 108508 */ GIR_RootConstrainSelectedInstOperands,
38488 /* 108509 */ // GIR_Coverage, 17029,
38489 /* 108509 */ GIR_EraseRootFromParent_Done,
38490 /* 108510 */ // Label 2302: @108510
38491 /* 108510 */ GIM_Try, /*On fail goto*//*Label 2303*/ GIMT_Encode4(108547), // Rule ID 17034 //
38492 /* 108515 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXCOMPLEX_HasAMXTRANSPOSE_In64BitMode),
38493 /* 108518 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ttcmmimfp16ps),
38494 /* 108523 */ // MIs[0] src1
38495 /* 108523 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
38496 /* 108526 */ // MIs[0] src2
38497 /* 108526 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38498 /* 108529 */ // MIs[0] src3
38499 /* 108529 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38500 /* 108532 */ // (intrinsic_void 14952:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTTCMMIMFP16PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
38501 /* 108532 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTTCMMIMFP16PS),
38502 /* 108535 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
38503 /* 108537 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
38504 /* 108539 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
38505 /* 108541 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38506 /* 108545 */ GIR_RootConstrainSelectedInstOperands,
38507 /* 108546 */ // GIR_Coverage, 17034,
38508 /* 108546 */ GIR_EraseRootFromParent_Done,
38509 /* 108547 */ // Label 2303: @108547
38510 /* 108547 */ GIM_Try, /*On fail goto*//*Label 2304*/ GIMT_Encode4(108584), // Rule ID 17035 //
38511 /* 108552 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXCOMPLEX_HasAMXTRANSPOSE_In64BitMode),
38512 /* 108555 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ttcmmrlfp16ps),
38513 /* 108560 */ // MIs[0] src1
38514 /* 108560 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
38515 /* 108563 */ // MIs[0] src2
38516 /* 108563 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38517 /* 108566 */ // MIs[0] src3
38518 /* 108566 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38519 /* 108569 */ // (intrinsic_void 14954:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTTCMMRLFP16PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
38520 /* 108569 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTTCMMRLFP16PS),
38521 /* 108572 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
38522 /* 108574 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
38523 /* 108576 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
38524 /* 108578 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38525 /* 108582 */ GIR_RootConstrainSelectedInstOperands,
38526 /* 108583 */ // GIR_Coverage, 17035,
38527 /* 108583 */ GIR_EraseRootFromParent_Done,
38528 /* 108584 */ // Label 2304: @108584
38529 /* 108584 */ GIM_Try, /*On fail goto*//*Label 2305*/ GIMT_Encode4(108621), // Rule ID 17036 //
38530 /* 108589 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXCOMPLEX_HasAMXTRANSPOSE_In64BitMode),
38531 /* 108592 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tconjtcmmimfp16ps),
38532 /* 108597 */ // MIs[0] src1
38533 /* 108597 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
38534 /* 108600 */ // MIs[0] src2
38535 /* 108600 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38536 /* 108603 */ // MIs[0] src3
38537 /* 108603 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38538 /* 108606 */ // (intrinsic_void 14899:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTCONJTCMMIMFP16PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
38539 /* 108606 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCONJTCMMIMFP16PS),
38540 /* 108609 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
38541 /* 108611 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
38542 /* 108613 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
38543 /* 108615 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38544 /* 108619 */ GIR_RootConstrainSelectedInstOperands,
38545 /* 108620 */ // GIR_Coverage, 17036,
38546 /* 108620 */ GIR_EraseRootFromParent_Done,
38547 /* 108621 */ // Label 2305: @108621
38548 /* 108621 */ GIM_Try, /*On fail goto*//*Label 2306*/ GIMT_Encode4(108658), // Rule ID 17055 //
38549 /* 108626 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXTF32_In64BitMode),
38550 /* 108629 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tmmultf32ps),
38551 /* 108634 */ // MIs[0] src1
38552 /* 108634 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
38553 /* 108637 */ // MIs[0] src2
38554 /* 108637 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38555 /* 108640 */ // MIs[0] src3
38556 /* 108640 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38557 /* 108643 */ // (intrinsic_void 14949:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTMMULTF32PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
38558 /* 108643 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTMMULTF32PS),
38559 /* 108646 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
38560 /* 108648 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
38561 /* 108650 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
38562 /* 108652 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38563 /* 108656 */ GIR_RootConstrainSelectedInstOperands,
38564 /* 108657 */ // GIR_Coverage, 17055,
38565 /* 108657 */ GIR_EraseRootFromParent_Done,
38566 /* 108658 */ // Label 2306: @108658
38567 /* 108658 */ GIM_Try, /*On fail goto*//*Label 2307*/ GIMT_Encode4(108695), // Rule ID 17057 //
38568 /* 108663 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXTF32_HasAMXTRANSPOSE_In64BitMode),
38569 /* 108666 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ttmmultf32ps),
38570 /* 108671 */ // MIs[0] src1
38571 /* 108671 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
38572 /* 108674 */ // MIs[0] src2
38573 /* 108674 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38574 /* 108677 */ // MIs[0] src3
38575 /* 108677 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38576 /* 108680 */ // (intrinsic_void 14960:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTTMMULTF32PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
38577 /* 108680 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTTMMULTF32PS),
38578 /* 108683 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
38579 /* 108685 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
38580 /* 108687 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
38581 /* 108689 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38582 /* 108693 */ GIR_RootConstrainSelectedInstOperands,
38583 /* 108694 */ // GIR_Coverage, 17057,
38584 /* 108694 */ GIR_EraseRootFromParent_Done,
38585 /* 108695 */ // Label 2307: @108695
38586 /* 108695 */ GIM_Try, /*On fail goto*//*Label 2308*/ GIMT_Encode4(108748), // Rule ID 17038 //
38587 /* 108700 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_512_In64BitMode),
38588 /* 108703 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tcvtrowd2ps),
38589 /* 108708 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
38590 /* 108711 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38591 /* 108714 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38592 /* 108718 */ // MIs[0] src1
38593 /* 108718 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38594 /* 108721 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
38595 /* 108725 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
38596 /* 108729 */ // MIs[1] Operand 1
38597 /* 108729 */ // No operand predicates
38598 /* 108729 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
38599 /* 108731 */ // (intrinsic_w_chain:{ *:[v16f32] } 14903:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (imm:{ *:[i32] }):$src2) => (PTCVTROWD2PSrri:{ *:[v16f32] } (timm:{ *:[i8] }):$src1, (imm:{ *:[i32] }):$src2)
38600 /* 108731 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCVTROWD2PSrri),
38601 /* 108734 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38602 /* 108736 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
38603 /* 108738 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
38604 /* 108741 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
38605 /* 108746 */ GIR_RootConstrainSelectedInstOperands,
38606 /* 108747 */ // GIR_Coverage, 17038,
38607 /* 108747 */ GIR_EraseRootFromParent_Done,
38608 /* 108748 */ // Label 2308: @108748
38609 /* 108748 */ GIM_Try, /*On fail goto*//*Label 2309*/ GIMT_Encode4(108801), // Rule ID 17047 //
38610 /* 108753 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_512_In64BitMode),
38611 /* 108756 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tcvtrowps2phh),
38612 /* 108761 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s16,
38613 /* 108764 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38614 /* 108767 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38615 /* 108771 */ // MIs[0] src1
38616 /* 108771 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38617 /* 108774 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
38618 /* 108778 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
38619 /* 108782 */ // MIs[1] Operand 1
38620 /* 108782 */ // No operand predicates
38621 /* 108782 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
38622 /* 108784 */ // (intrinsic_w_chain:{ *:[v32f16] } 14909:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (imm:{ *:[i32] }):$src2) => (PTCVTROWPS2PHHrri:{ *:[v32f16] } (timm:{ *:[i8] }):$src1, (imm:{ *:[i32] }):$src2)
38623 /* 108784 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCVTROWPS2PHHrri),
38624 /* 108787 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38625 /* 108789 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
38626 /* 108791 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
38627 /* 108794 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
38628 /* 108799 */ GIR_RootConstrainSelectedInstOperands,
38629 /* 108800 */ // GIR_Coverage, 17047,
38630 /* 108800 */ GIR_EraseRootFromParent_Done,
38631 /* 108801 */ // Label 2309: @108801
38632 /* 108801 */ GIM_Try, /*On fail goto*//*Label 2310*/ GIMT_Encode4(108854), // Rule ID 17049 //
38633 /* 108806 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_512_In64BitMode),
38634 /* 108809 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tcvtrowps2phl),
38635 /* 108814 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s16,
38636 /* 108817 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38637 /* 108820 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38638 /* 108824 */ // MIs[0] src1
38639 /* 108824 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38640 /* 108827 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
38641 /* 108831 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
38642 /* 108835 */ // MIs[1] Operand 1
38643 /* 108835 */ // No operand predicates
38644 /* 108835 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
38645 /* 108837 */ // (intrinsic_w_chain:{ *:[v32f16] } 14911:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (imm:{ *:[i32] }):$src2) => (PTCVTROWPS2PHLrri:{ *:[v32f16] } (timm:{ *:[i8] }):$src1, (imm:{ *:[i32] }):$src2)
38646 /* 108837 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCVTROWPS2PHLrri),
38647 /* 108840 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38648 /* 108842 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
38649 /* 108844 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
38650 /* 108847 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
38651 /* 108852 */ GIR_RootConstrainSelectedInstOperands,
38652 /* 108853 */ // GIR_Coverage, 17049,
38653 /* 108853 */ GIR_EraseRootFromParent_Done,
38654 /* 108854 */ // Label 2310: @108854
38655 /* 108854 */ GIM_Try, /*On fail goto*//*Label 2311*/ GIMT_Encode4(108907), // Rule ID 17050 //
38656 /* 108859 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_512_In64BitMode),
38657 /* 108862 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tilemovrow),
38658 /* 108867 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
38659 /* 108870 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38660 /* 108873 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38661 /* 108877 */ // MIs[0] src1
38662 /* 108877 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38663 /* 108880 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
38664 /* 108884 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
38665 /* 108888 */ // MIs[1] Operand 1
38666 /* 108888 */ // No operand predicates
38667 /* 108888 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
38668 /* 108890 */ // (intrinsic_w_chain:{ *:[v16i32] } 14942:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (imm:{ *:[i32] }):$src2) => (PTILEMOVROWrri:{ *:[v16i32] } (timm:{ *:[i8] }):$src1, (imm:{ *:[i32] }):$src2)
38669 /* 108890 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTILEMOVROWrri),
38670 /* 108893 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38671 /* 108895 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
38672 /* 108897 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
38673 /* 108900 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
38674 /* 108905 */ GIR_RootConstrainSelectedInstOperands,
38675 /* 108906 */ // GIR_Coverage, 17050,
38676 /* 108906 */ GIR_EraseRootFromParent_Done,
38677 /* 108907 */ // Label 2311: @108907
38678 /* 108907 */ GIM_Try, /*On fail goto*//*Label 2312*/ GIMT_Encode4(108952), // Rule ID 17039 //
38679 /* 108912 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_512_In64BitMode),
38680 /* 108915 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tcvtrowd2ps),
38681 /* 108920 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
38682 /* 108923 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38683 /* 108926 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38684 /* 108930 */ // MIs[0] src1
38685 /* 108930 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38686 /* 108933 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38687 /* 108937 */ // (intrinsic_w_chain:{ *:[v16f32] } 14903:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2) => (PTCVTROWD2PSrre:{ *:[v16f32] } (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2)
38688 /* 108937 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCVTROWD2PSrre),
38689 /* 108940 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38690 /* 108942 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
38691 /* 108944 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
38692 /* 108946 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38693 /* 108950 */ GIR_RootConstrainSelectedInstOperands,
38694 /* 108951 */ // GIR_Coverage, 17039,
38695 /* 108951 */ GIR_EraseRootFromParent_Done,
38696 /* 108952 */ // Label 2312: @108952
38697 /* 108952 */ GIM_Try, /*On fail goto*//*Label 2313*/ GIMT_Encode4(108997), // Rule ID 17046 //
38698 /* 108957 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_512_In64BitMode),
38699 /* 108960 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tcvtrowps2phh),
38700 /* 108965 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s16,
38701 /* 108968 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38702 /* 108971 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38703 /* 108975 */ // MIs[0] src1
38704 /* 108975 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38705 /* 108978 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38706 /* 108982 */ // (intrinsic_w_chain:{ *:[v32f16] } 14909:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2) => (PTCVTROWPS2PHHrre:{ *:[v32f16] } (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2)
38707 /* 108982 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCVTROWPS2PHHrre),
38708 /* 108985 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38709 /* 108987 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
38710 /* 108989 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
38711 /* 108991 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38712 /* 108995 */ GIR_RootConstrainSelectedInstOperands,
38713 /* 108996 */ // GIR_Coverage, 17046,
38714 /* 108996 */ GIR_EraseRootFromParent_Done,
38715 /* 108997 */ // Label 2313: @108997
38716 /* 108997 */ GIM_Try, /*On fail goto*//*Label 2314*/ GIMT_Encode4(109042), // Rule ID 17048 //
38717 /* 109002 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_512_In64BitMode),
38718 /* 109005 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tcvtrowps2phl),
38719 /* 109010 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s16,
38720 /* 109013 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38721 /* 109016 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38722 /* 109020 */ // MIs[0] src1
38723 /* 109020 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38724 /* 109023 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38725 /* 109027 */ // (intrinsic_w_chain:{ *:[v32f16] } 14911:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2) => (PTCVTROWPS2PHLrre:{ *:[v32f16] } (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2)
38726 /* 109027 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCVTROWPS2PHLrre),
38727 /* 109030 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38728 /* 109032 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
38729 /* 109034 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
38730 /* 109036 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38731 /* 109040 */ GIR_RootConstrainSelectedInstOperands,
38732 /* 109041 */ // GIR_Coverage, 17048,
38733 /* 109041 */ GIR_EraseRootFromParent_Done,
38734 /* 109042 */ // Label 2314: @109042
38735 /* 109042 */ GIM_Try, /*On fail goto*//*Label 2315*/ GIMT_Encode4(109087), // Rule ID 17051 //
38736 /* 109047 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_512_In64BitMode),
38737 /* 109050 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tilemovrow),
38738 /* 109055 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
38739 /* 109058 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38740 /* 109061 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38741 /* 109065 */ // MIs[0] src1
38742 /* 109065 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38743 /* 109068 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38744 /* 109072 */ // (intrinsic_w_chain:{ *:[v16i32] } 14942:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2) => (PTILEMOVROWrre:{ *:[v16i32] } (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2)
38745 /* 109072 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTILEMOVROWrre),
38746 /* 109075 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38747 /* 109077 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
38748 /* 109079 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
38749 /* 109081 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38750 /* 109085 */ GIR_RootConstrainSelectedInstOperands,
38751 /* 109086 */ // GIR_Coverage, 17051,
38752 /* 109086 */ GIR_EraseRootFromParent_Done,
38753 /* 109087 */ // Label 2315: @109087
38754 /* 109087 */ GIM_Try, /*On fail goto*//*Label 2316*/ GIMT_Encode4(109132), // Rule ID 122 //
38755 /* 109092 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLWP),
38756 /* 109095 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_lwpval32),
38757 /* 109100 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
38758 /* 109103 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
38759 /* 109106 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38760 /* 109110 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38761 /* 109114 */ // MIs[0] cntl
38762 /* 109114 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38763 /* 109117 */ // (intrinsic_void 14583:{ *:[iPTR] }, GR32:{ *:[i32] }:$src0, GR32:{ *:[i32] }:$src1, (timm:{ *:[i32] }):$cntl) => (LWPVAL32rri GR32:{ *:[i32] }:$src0, GR32:{ *:[i32] }:$src1, (timm:{ *:[i32] }):$cntl)
38764 /* 109117 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LWPVAL32rri),
38765 /* 109120 */ GIR_RootToRootCopy, /*OpIdx*/1, // src0
38766 /* 109122 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
38767 /* 109124 */ GIR_RootToRootCopy, /*OpIdx*/3, // cntl
38768 /* 109126 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38769 /* 109130 */ GIR_RootConstrainSelectedInstOperands,
38770 /* 109131 */ // GIR_Coverage, 122,
38771 /* 109131 */ GIR_EraseRootFromParent_Done,
38772 /* 109132 */ // Label 2316: @109132
38773 /* 109132 */ GIM_Try, /*On fail goto*//*Label 2317*/ GIMT_Encode4(109177), // Rule ID 124 //
38774 /* 109137 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLWP),
38775 /* 109140 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_lwpval64),
38776 /* 109145 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
38777 /* 109148 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
38778 /* 109151 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
38779 /* 109155 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38780 /* 109159 */ // MIs[0] cntl
38781 /* 109159 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38782 /* 109162 */ // (intrinsic_void 14584:{ *:[iPTR] }, GR64:{ *:[i64] }:$src0, GR32:{ *:[i32] }:$src1, (timm:{ *:[i32] }):$cntl) => (LWPVAL64rri GR64:{ *:[i64] }:$src0, GR32:{ *:[i32] }:$src1, (timm:{ *:[i32] }):$cntl)
38783 /* 109162 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LWPVAL64rri),
38784 /* 109165 */ GIR_RootToRootCopy, /*OpIdx*/1, // src0
38785 /* 109167 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
38786 /* 109169 */ GIR_RootToRootCopy, /*OpIdx*/3, // cntl
38787 /* 109171 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38788 /* 109175 */ GIR_RootConstrainSelectedInstOperands,
38789 /* 109176 */ // GIR_Coverage, 124,
38790 /* 109176 */ GIR_EraseRootFromParent_Done,
38791 /* 109177 */ // Label 2317: @109177
38792 /* 109177 */ GIM_Try, /*On fail goto*//*Label 2318*/ GIMT_Encode4(109259), // Rule ID 17104 //
38793 /* 109182 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsetbv),
38794 /* 109187 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
38795 /* 109190 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
38796 /* 109193 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38797 /* 109196 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32_ArgRef_and_GR32_CBRegClassID),
38798 /* 109200 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
38799 /* 109204 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
38800 /* 109208 */ // (intrinsic_void 15079:{ *:[iPTR] }, ECX:{ *:[i32] }, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSETBV)
38801 /* 109208 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38802 /* 109212 */ GIR_AddRegister, /*InsnID*/3, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
38803 /* 109218 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/3, // EAX
38804 /* 109222 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38805 /* 109226 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
38806 /* 109232 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/2, // EDX
38807 /* 109236 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38808 /* 109240 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::ECX), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
38809 /* 109246 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // ECX
38810 /* 109250 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSETBV),
38811 /* 109253 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38812 /* 109257 */ GIR_RootConstrainSelectedInstOperands,
38813 /* 109258 */ // GIR_Coverage, 17104,
38814 /* 109258 */ GIR_EraseRootFromParent_Done,
38815 /* 109259 */ // Label 2318: @109259
38816 /* 109259 */ GIM_Try, /*On fail goto*//*Label 2319*/ GIMT_Encode4(109308), // Rule ID 17293 //
38817 /* 109264 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMWAITX),
38818 /* 109267 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_mwaitx),
38819 /* 109272 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
38820 /* 109275 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
38821 /* 109278 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38822 /* 109281 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38823 /* 109285 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38824 /* 109289 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38825 /* 109293 */ // (intrinsic_void 14661:{ *:[iPTR] }, GR32:{ *:[i32] }:$ecx, GR32:{ *:[i32] }:$eax, GR32:{ *:[i32] }:$ebx) => (MWAITX GR32:{ *:[i32] }:$ecx, GR32:{ *:[i32] }:$eax, GR32:{ *:[i32] }:$ebx)
38826 /* 109293 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MWAITX),
38827 /* 109296 */ GIR_RootToRootCopy, /*OpIdx*/1, // ecx
38828 /* 109298 */ GIR_RootToRootCopy, /*OpIdx*/2, // eax
38829 /* 109300 */ GIR_RootToRootCopy, /*OpIdx*/3, // ebx
38830 /* 109302 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38831 /* 109306 */ GIR_RootConstrainSelectedInstOperands,
38832 /* 109307 */ // GIR_Coverage, 17293,
38833 /* 109307 */ GIR_EraseRootFromParent_Done,
38834 /* 109308 */ // Label 2319: @109308
38835 /* 109308 */ GIM_Try, /*On fail goto*//*Label 2320*/ GIMT_Encode4(109370), // Rule ID 2903 //
38836 /* 109313 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_In64BitMode),
38837 /* 109316 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_maskmov_dqu),
38838 /* 109321 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
38839 /* 109324 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
38840 /* 109327 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38841 /* 109331 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38842 /* 109335 */ // MIs[0] Operand 3
38843 /* 109335 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/3, /*SizeInBits*/64,
38844 /* 109339 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDIRegClassID),
38845 /* 109343 */ // (intrinsic_void 14759:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask, RDI:{ *:[i64] }) => (VMASKMOVDQU64 VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask)
38846 /* 109343 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38847 /* 109347 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::RDI), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
38848 /* 109353 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // RDI
38849 /* 109357 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVDQU64),
38850 /* 109360 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
38851 /* 109362 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
38852 /* 109364 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38853 /* 109368 */ GIR_RootConstrainSelectedInstOperands,
38854 /* 109369 */ // GIR_Coverage, 2903,
38855 /* 109369 */ GIR_EraseRootFromParent_Done,
38856 /* 109370 */ // Label 2320: @109370
38857 /* 109370 */ GIM_Try, /*On fail goto*//*Label 2321*/ GIMT_Encode4(109432), // Rule ID 2904 //
38858 /* 109375 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
38859 /* 109378 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_maskmov_dqu),
38860 /* 109383 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
38861 /* 109386 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
38862 /* 109389 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38863 /* 109393 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38864 /* 109397 */ // MIs[0] Operand 3
38865 /* 109397 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/3, /*SizeInBits*/32,
38866 /* 109401 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_DIBP_and_GR32_SIDIRegClassID),
38867 /* 109405 */ // (intrinsic_void 14759:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask, EDI:{ *:[i32] }) => (VMASKMOVDQU VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask)
38868 /* 109405 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38869 /* 109409 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDI), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
38870 /* 109415 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // EDI
38871 /* 109419 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVDQU),
38872 /* 109422 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
38873 /* 109424 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
38874 /* 109426 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38875 /* 109430 */ GIR_RootConstrainSelectedInstOperands,
38876 /* 109431 */ // GIR_Coverage, 2904,
38877 /* 109431 */ GIR_EraseRootFromParent_Done,
38878 /* 109432 */ // Label 2321: @109432
38879 /* 109432 */ GIM_Try, /*On fail goto*//*Label 2322*/ GIMT_Encode4(109494), // Rule ID 2905 //
38880 /* 109437 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode_UseSSE2),
38881 /* 109440 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_maskmov_dqu),
38882 /* 109445 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
38883 /* 109448 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
38884 /* 109451 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38885 /* 109455 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38886 /* 109459 */ // MIs[0] Operand 3
38887 /* 109459 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/3, /*SizeInBits*/64,
38888 /* 109463 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDIRegClassID),
38889 /* 109467 */ // (intrinsic_void 14759:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask, RDI:{ *:[i64] }) => (MASKMOVDQU64 VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask)
38890 /* 109467 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38891 /* 109471 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::RDI), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
38892 /* 109477 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // RDI
38893 /* 109481 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MASKMOVDQU64),
38894 /* 109484 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
38895 /* 109486 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
38896 /* 109488 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38897 /* 109492 */ GIR_RootConstrainSelectedInstOperands,
38898 /* 109493 */ // GIR_Coverage, 2905,
38899 /* 109493 */ GIR_EraseRootFromParent_Done,
38900 /* 109494 */ // Label 2322: @109494
38901 /* 109494 */ GIM_Try, /*On fail goto*//*Label 2323*/ GIMT_Encode4(109556), // Rule ID 2906 //
38902 /* 109499 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
38903 /* 109502 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_maskmov_dqu),
38904 /* 109507 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
38905 /* 109510 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
38906 /* 109513 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38907 /* 109517 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38908 /* 109521 */ // MIs[0] Operand 3
38909 /* 109521 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/3, /*SizeInBits*/32,
38910 /* 109525 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_DIBP_and_GR32_SIDIRegClassID),
38911 /* 109529 */ // (intrinsic_void 14759:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask, EDI:{ *:[i32] }) => (MASKMOVDQU VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask)
38912 /* 109529 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38913 /* 109533 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDI), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
38914 /* 109539 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // EDI
38915 /* 109543 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MASKMOVDQU),
38916 /* 109546 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
38917 /* 109548 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
38918 /* 109550 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38919 /* 109554 */ GIR_RootConstrainSelectedInstOperands,
38920 /* 109555 */ // GIR_Coverage, 2906,
38921 /* 109555 */ GIR_EraseRootFromParent_Done,
38922 /* 109556 */ // Label 2323: @109556
38923 /* 109556 */ GIM_Reject,
38924 /* 109557 */ // Label 2258: @109557
38925 /* 109557 */ GIM_Try, /*On fail goto*//*Label 2324*/ GIMT_Encode4(109645), // Rule ID 16988 //
38926 /* 109562 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasKL),
38927 /* 109565 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/5,
38928 /* 109568 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_loadiwkey),
38929 /* 109573 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
38930 /* 109576 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
38931 /* 109579 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
38932 /* 109582 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_s32,
38933 /* 109585 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38934 /* 109589 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38935 /* 109593 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38936 /* 109597 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
38937 /* 109601 */ // (intrinsic_void 14580:{ *:[iPTR] }, XMM0:{ *:[v2i64] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2, EAX:{ *:[i32] }) => (LOADIWKEY:{ *:[i32] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
38938 /* 109601 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38939 /* 109605 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
38940 /* 109611 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/4, // EAX
38941 /* 109615 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38942 /* 109619 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::XMM0), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
38943 /* 109625 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // XMM0
38944 /* 109629 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LOADIWKEY),
38945 /* 109632 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
38946 /* 109634 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
38947 /* 109636 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
38948 /* 109639 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38949 /* 109643 */ GIR_RootConstrainSelectedInstOperands,
38950 /* 109644 */ // GIR_Coverage, 16988,
38951 /* 109644 */ GIR_EraseRootFromParent_Done,
38952 /* 109645 */ // Label 2324: @109645
38953 /* 109645 */ GIM_Reject,
38954 /* 109646 */ // Label 19: @109646
38955 /* 109646 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 2328*/ GIMT_Encode4(110080),
38956 /* 109657 */ /*GILLT_s16*//*Label 2325*/ GIMT_Encode4(109669),
38957 /* 109661 */ /*GILLT_s32*//*Label 2326*/ GIMT_Encode4(109727),
38958 /* 109665 */ /*GILLT_s64*//*Label 2327*/ GIMT_Encode4(109902),
38959 /* 109669 */ // Label 2325: @109669
38960 /* 109669 */ GIM_Try, /*On fail goto*//*Label 2329*/ GIMT_Encode4(109726), // Rule ID 22590 //
38961 /* 109674 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
38962 /* 109677 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
38963 /* 109681 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
38964 /* 109685 */ // (anyext:{ *:[i16] } GR8:{ *:[i8] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (MOVZX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src), sub_16bit:{ *:[i32] })
38965 /* 109685 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
38966 /* 109688 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
38967 /* 109692 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
38968 /* 109697 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
38969 /* 109701 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38970 /* 109703 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38971 /* 109706 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38972 /* 109708 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
38973 /* 109715 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
38974 /* 109720 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
38975 /* 109725 */ // GIR_Coverage, 22590,
38976 /* 109725 */ GIR_EraseRootFromParent_Done,
38977 /* 109726 */ // Label 2329: @109726
38978 /* 109726 */ GIM_Reject,
38979 /* 109727 */ // Label 2326: @109727
38980 /* 109727 */ GIM_Try, /*On fail goto*//*Label 2330*/ GIMT_Encode4(109773), // Rule ID 19437 //
38981 /* 109732 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
38982 /* 109735 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38983 /* 109739 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
38984 /* 109743 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
38985 /* 109747 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
38986 /* 109751 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
38987 /* 109756 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
38988 /* 109758 */ // (anyext:{ *:[i32] } (bitconvert:{ *:[i16] } VK16:{ *:[v16i1] }:$src)) => (COPY_TO_REGCLASS:{ *:[i32] } VK16:{ *:[v16i1] }:$src, GR32:{ *:[i32] })
38989 /* 109758 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38990 /* 109761 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38991 /* 109763 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
38992 /* 109767 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
38993 /* 109772 */ // GIR_Coverage, 19437,
38994 /* 109772 */ GIR_EraseRootFromParent_Done,
38995 /* 109773 */ // Label 2330: @109773
38996 /* 109773 */ GIM_Try, /*On fail goto*//*Label 2331*/ GIMT_Encode4(109819), // Rule ID 19440 //
38997 /* 109778 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
38998 /* 109781 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38999 /* 109785 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39000 /* 109789 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
39001 /* 109793 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
39002 /* 109797 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
39003 /* 109802 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39004 /* 109804 */ // (anyext:{ *:[i32] } (bitconvert:{ *:[i8] } VK8:{ *:[v8i1] }:$src)) => (COPY_TO_REGCLASS:{ *:[i32] } VK8:{ *:[v8i1] }:$src, GR32:{ *:[i32] })
39005 /* 109804 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39006 /* 109807 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39007 /* 109809 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
39008 /* 109813 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
39009 /* 109818 */ // GIR_Coverage, 19440,
39010 /* 109818 */ GIR_EraseRootFromParent_Done,
39011 /* 109819 */ // Label 2331: @109819
39012 /* 109819 */ GIM_Try, /*On fail goto*//*Label 2332*/ GIMT_Encode4(109842), // Rule ID 22591 //
39013 /* 109824 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
39014 /* 109827 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39015 /* 109831 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
39016 /* 109835 */ // (anyext:{ *:[i32] } GR8:{ *:[i8] }:$src) => (MOVZX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src)
39017 /* 109835 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
39018 /* 109840 */ GIR_RootConstrainSelectedInstOperands,
39019 /* 109841 */ // GIR_Coverage, 22591,
39020 /* 109841 */ GIR_Done,
39021 /* 109842 */ // Label 2332: @109842
39022 /* 109842 */ GIM_Try, /*On fail goto*//*Label 2333*/ GIMT_Encode4(109901), // Rule ID 22592 //
39023 /* 109847 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
39024 /* 109850 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
39025 /* 109854 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39026 /* 109858 */ // (anyext:{ *:[i32] } GR16:{ *:[i16] }:$src) => (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR16:{ *:[i16] }:$src, sub_16bit:{ *:[i32] })
39027 /* 109858 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39028 /* 109861 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
39029 /* 109865 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
39030 /* 109870 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39031 /* 109872 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
39032 /* 109875 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39033 /* 109877 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39034 /* 109880 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
39035 /* 109882 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/4,
39036 /* 109885 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
39037 /* 109890 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
39038 /* 109895 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
39039 /* 109900 */ // GIR_Coverage, 22592,
39040 /* 109900 */ GIR_EraseRootFromParent_Done,
39041 /* 109901 */ // Label 2333: @109901
39042 /* 109901 */ GIM_Reject,
39043 /* 109902 */ // Label 2327: @109902
39044 /* 109902 */ GIM_Try, /*On fail goto*//*Label 2334*/ GIMT_Encode4(109961), // Rule ID 22593 //
39045 /* 109907 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
39046 /* 109910 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
39047 /* 109914 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
39048 /* 109918 */ // (anyext:{ *:[i64] } GR8:{ *:[i8] }:$src) => (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (MOVZX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src), sub_32bit:{ *:[i32] })
39049 /* 109918 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39050 /* 109921 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
39051 /* 109925 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
39052 /* 109930 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
39053 /* 109934 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39054 /* 109936 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
39055 /* 109939 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39056 /* 109941 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
39057 /* 109944 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39058 /* 109947 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
39059 /* 109950 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
39060 /* 109955 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR32RegClassID),
39061 /* 109960 */ // GIR_Coverage, 22593,
39062 /* 109960 */ GIR_EraseRootFromParent_Done,
39063 /* 109961 */ // Label 2334: @109961
39064 /* 109961 */ GIM_Try, /*On fail goto*//*Label 2335*/ GIMT_Encode4(110020), // Rule ID 22594 //
39065 /* 109966 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
39066 /* 109969 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
39067 /* 109973 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39068 /* 109977 */ // (anyext:{ *:[i64] } GR16:{ *:[i16] }:$src) => (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (MOVZX32rr16:{ *:[i32] } GR16:{ *:[i16] }:$src), sub_32bit:{ *:[i32] })
39069 /* 109977 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39070 /* 109980 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr16),
39071 /* 109984 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
39072 /* 109989 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
39073 /* 109993 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39074 /* 109995 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
39075 /* 109998 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39076 /* 110000 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
39077 /* 110003 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39078 /* 110006 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
39079 /* 110009 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
39080 /* 110014 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR32RegClassID),
39081 /* 110019 */ // GIR_Coverage, 22594,
39082 /* 110019 */ GIR_EraseRootFromParent_Done,
39083 /* 110020 */ // Label 2335: @110020
39084 /* 110020 */ GIM_Try, /*On fail goto*//*Label 2336*/ GIMT_Encode4(110079), // Rule ID 22595 //
39085 /* 110025 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
39086 /* 110028 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
39087 /* 110032 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39088 /* 110036 */ // (anyext:{ *:[i64] } GR32:{ *:[i32] }:$src) => (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), GR32:{ *:[i32] }:$src, sub_32bit:{ *:[i32] })
39089 /* 110036 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
39090 /* 110039 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
39091 /* 110043 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
39092 /* 110048 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39093 /* 110050 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
39094 /* 110053 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39095 /* 110055 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39096 /* 110058 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
39097 /* 110060 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
39098 /* 110063 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
39099 /* 110068 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR64RegClassID),
39100 /* 110073 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR32RegClassID),
39101 /* 110078 */ // GIR_Coverage, 22595,
39102 /* 110078 */ GIR_EraseRootFromParent_Done,
39103 /* 110079 */ // Label 2336: @110079
39104 /* 110079 */ GIM_Reject,
39105 /* 110080 */ // Label 2328: @110080
39106 /* 110080 */ GIM_Reject,
39107 /* 110081 */ // Label 20: @110081
39108 /* 110081 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(22), /*)*//*default:*//*Label 2345*/ GIMT_Encode4(111169),
39109 /* 110092 */ /*GILLT_s8*//*Label 2337*/ GIMT_Encode4(110176),
39110 /* 110096 */ /*GILLT_s16*//*Label 2338*/ GIMT_Encode4(110460), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
39111 /* 110128 */ /*GILLT_v4s32*//*Label 2339*/ GIMT_Encode4(110499), GIMT_Encode4(0), GIMT_Encode4(0),
39112 /* 110140 */ /*GILLT_v8s16*//*Label 2340*/ GIMT_Encode4(110639),
39113 /* 110144 */ /*GILLT_v8s32*//*Label 2341*/ GIMT_Encode4(110802), GIMT_Encode4(0), GIMT_Encode4(0),
39114 /* 110156 */ /*GILLT_v16s8*//*Label 2342*/ GIMT_Encode4(110829),
39115 /* 110160 */ /*GILLT_v16s16*//*Label 2343*/ GIMT_Encode4(111115), GIMT_Encode4(0), GIMT_Encode4(0),
39116 /* 110172 */ /*GILLT_v32s8*//*Label 2344*/ GIMT_Encode4(111142),
39117 /* 110176 */ // Label 2337: @110176
39118 /* 110176 */ GIM_Try, /*On fail goto*//*Label 2346*/ GIMT_Encode4(110251), // Rule ID 19432 //
39119 /* 110181 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
39120 /* 110184 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
39121 /* 110188 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39122 /* 110192 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
39123 /* 110196 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
39124 /* 110200 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
39125 /* 110205 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39126 /* 110207 */ // (trunc:{ *:[i8] } (bitconvert:{ *:[i16] } VK16:{ *:[v16i1] }:$src)) => (EXTRACT_SUBREG:{ *:[i8] } (COPY_TO_REGCLASS:{ *:[i32] } VK16:{ *:[v16i1] }:$src, GR32:{ *:[i32] }), sub_8bit:{ *:[i32] })
39127 /* 110207 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39128 /* 110210 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39129 /* 110214 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
39130 /* 110219 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/1, // src
39131 /* 110223 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
39132 /* 110228 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39133 /* 110231 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39134 /* 110233 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_8bit),
39135 /* 110240 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
39136 /* 110245 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39137 /* 110250 */ // GIR_Coverage, 19432,
39138 /* 110250 */ GIR_EraseRootFromParent_Done,
39139 /* 110251 */ // Label 2346: @110251
39140 /* 110251 */ GIM_Try, /*On fail goto*//*Label 2347*/ GIMT_Encode4(110314), // Rule ID 22652 //
39141 /* 110256 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_Not64BitMode),
39142 /* 110259 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
39143 /* 110262 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
39144 /* 110266 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39145 /* 110270 */ // (trunc:{ *:[i8] } GR32:{ *:[i32] }:$src) => (EXTRACT_SUBREG:{ *:[i8] } (COPY_TO_REGCLASS:{ *:[i32] } GR32:{ *:[i32] }:$src, GR32_ABCD:{ *:[i32] }), sub_8bit:{ *:[i32] })
39146 /* 110270 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39147 /* 110273 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39148 /* 110277 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
39149 /* 110282 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
39150 /* 110286 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR32_ABCDRegClassID),
39151 /* 110291 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39152 /* 110294 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39153 /* 110296 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_8bit),
39154 /* 110303 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
39155 /* 110308 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32_ABCDRegClassID),
39156 /* 110313 */ // GIR_Coverage, 22652,
39157 /* 110313 */ GIR_EraseRootFromParent_Done,
39158 /* 110314 */ // Label 2347: @110314
39159 /* 110314 */ GIM_Try, /*On fail goto*//*Label 2348*/ GIMT_Encode4(110377), // Rule ID 22653 //
39160 /* 110319 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_Not64BitMode),
39161 /* 110322 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
39162 /* 110325 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
39163 /* 110329 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39164 /* 110333 */ // (trunc:{ *:[i8] } GR16:{ *:[i16] }:$src) => (EXTRACT_SUBREG:{ *:[i8] } (COPY_TO_REGCLASS:{ *:[i16] } GR16:{ *:[i16] }:$src, GR16_ABCD:{ *:[i32] }), sub_8bit:{ *:[i32] })
39165 /* 110333 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
39166 /* 110336 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39167 /* 110340 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
39168 /* 110345 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
39169 /* 110349 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16_ABCDRegClassID),
39170 /* 110354 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39171 /* 110357 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39172 /* 110359 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_8bit),
39173 /* 110366 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
39174 /* 110371 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR16_ABCDRegClassID),
39175 /* 110376 */ // GIR_Coverage, 22653,
39176 /* 110376 */ GIR_EraseRootFromParent_Done,
39177 /* 110377 */ // Label 2348: @110377
39178 /* 110377 */ GIM_Try, /*On fail goto*//*Label 2349*/ GIMT_Encode4(110418), // Rule ID 22657 //
39179 /* 110382 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
39180 /* 110385 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
39181 /* 110388 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
39182 /* 110392 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39183 /* 110396 */ // (trunc:{ *:[i8] } GR32:{ *:[i32] }:$src) => (EXTRACT_SUBREG:{ *:[i8] } GR32:{ *:[i32] }:$src, sub_8bit:{ *:[i32] })
39184 /* 110396 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39185 /* 110399 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39186 /* 110401 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // src
39187 /* 110407 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
39188 /* 110412 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39189 /* 110417 */ // GIR_Coverage, 22657,
39190 /* 110417 */ GIR_EraseRootFromParent_Done,
39191 /* 110418 */ // Label 2349: @110418
39192 /* 110418 */ GIM_Try, /*On fail goto*//*Label 2350*/ GIMT_Encode4(110459), // Rule ID 22658 //
39193 /* 110423 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
39194 /* 110426 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
39195 /* 110429 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
39196 /* 110433 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39197 /* 110437 */ // (trunc:{ *:[i8] } GR16:{ *:[i16] }:$src) => (EXTRACT_SUBREG:{ *:[i8] } GR16:{ *:[i16] }:$src, sub_8bit:{ *:[i32] })
39198 /* 110437 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39199 /* 110440 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39200 /* 110442 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // src
39201 /* 110448 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
39202 /* 110453 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
39203 /* 110458 */ // GIR_Coverage, 22658,
39204 /* 110458 */ GIR_EraseRootFromParent_Done,
39205 /* 110459 */ // Label 2350: @110459
39206 /* 110459 */ GIM_Reject,
39207 /* 110460 */ // Label 2338: @110460
39208 /* 110460 */ GIM_Try, /*On fail goto*//*Label 2351*/ GIMT_Encode4(110498), // Rule ID 22651 //
39209 /* 110465 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
39210 /* 110468 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39211 /* 110472 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39212 /* 110476 */ // (trunc:{ *:[i16] } GR32:{ *:[i32] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } GR32:{ *:[i32] }:$src, sub_16bit:{ *:[i32] })
39213 /* 110476 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39214 /* 110479 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39215 /* 110481 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(4), // src
39216 /* 110487 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
39217 /* 110492 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39218 /* 110497 */ // GIR_Coverage, 22651,
39219 /* 110497 */ GIR_EraseRootFromParent_Done,
39220 /* 110498 */ // Label 2351: @110498
39221 /* 110498 */ GIM_Reject,
39222 /* 110499 */ // Label 2339: @110499
39223 /* 110499 */ GIM_Try, /*On fail goto*//*Label 2352*/ GIMT_Encode4(110638),
39224 /* 110504 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
39225 /* 110507 */ GIM_Try, /*On fail goto*//*Label 2353*/ GIMT_Encode4(110530), // Rule ID 12262 //
39226 /* 110512 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
39227 /* 110515 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39228 /* 110519 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39229 /* 110523 */ // (trunc:{ *:[v4i32] } VR256X:{ *:[v4i64] }:$src) => (VPMOVQDZ256rr:{ *:[v4i32] } VR256X:{ *:[v4i64] }:$src)
39230 /* 110523 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVQDZ256rr),
39231 /* 110528 */ GIR_RootConstrainSelectedInstOperands,
39232 /* 110529 */ // GIR_Coverage, 12262,
39233 /* 110529 */ GIR_Done,
39234 /* 110530 */ // Label 2353: @110530
39235 /* 110530 */ GIM_Try, /*On fail goto*//*Label 2354*/ GIMT_Encode4(110637), // Rule ID 21557 //
39236 /* 110535 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
39237 /* 110538 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
39238 /* 110542 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39239 /* 110546 */ // (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] })
39240 /* 110546 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
39241 /* 110549 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
39242 /* 110553 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
39243 /* 110558 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
39244 /* 110560 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
39245 /* 110563 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
39246 /* 110567 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
39247 /* 110572 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
39248 /* 110575 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
39249 /* 110579 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/12,
39250 /* 110582 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
39251 /* 110587 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
39252 /* 110592 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
39253 /* 110597 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s32,
39254 /* 110600 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVQDZrr),
39255 /* 110604 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
39256 /* 110609 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
39257 /* 110612 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39258 /* 110614 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39259 /* 110617 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39260 /* 110619 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
39261 /* 110626 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
39262 /* 110631 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256XRegClassID),
39263 /* 110636 */ // GIR_Coverage, 21557,
39264 /* 110636 */ GIR_EraseRootFromParent_Done,
39265 /* 110637 */ // Label 2354: @110637
39266 /* 110637 */ GIM_Reject,
39267 /* 110638 */ // Label 2352: @110638
39268 /* 110638 */ GIM_Reject,
39269 /* 110639 */ // Label 2340: @110639
39270 /* 110639 */ GIM_Try, /*On fail goto*//*Label 2355*/ GIMT_Encode4(110665), // Rule ID 12238 //
39271 /* 110644 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
39272 /* 110647 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
39273 /* 110650 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39274 /* 110654 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39275 /* 110658 */ // (trunc:{ *:[v8i16] } VR512:{ *:[v8i64] }:$src) => (VPMOVQWZrr:{ *:[v8i16] } VR512:{ *:[v8i64] }:$src)
39276 /* 110658 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVQWZrr),
39277 /* 110663 */ GIR_RootConstrainSelectedInstOperands,
39278 /* 110664 */ // GIR_Coverage, 12238,
39279 /* 110664 */ GIR_Done,
39280 /* 110665 */ // Label 2355: @110665
39281 /* 110665 */ GIM_Try, /*On fail goto*//*Label 2356*/ GIMT_Encode4(110691), // Rule ID 12316 //
39282 /* 110670 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
39283 /* 110673 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
39284 /* 110676 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39285 /* 110680 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39286 /* 110684 */ // (trunc:{ *:[v8i16] } VR256X:{ *:[v8i32] }:$src) => (VPMOVDWZ256rr:{ *:[v8i16] } VR256X:{ *:[v8i32] }:$src)
39287 /* 110684 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVDWZ256rr),
39288 /* 110689 */ GIR_RootConstrainSelectedInstOperands,
39289 /* 110690 */ // GIR_Coverage, 12316,
39290 /* 110690 */ GIR_Done,
39291 /* 110691 */ // Label 2356: @110691
39292 /* 110691 */ GIM_Try, /*On fail goto*//*Label 2357*/ GIMT_Encode4(110801), // Rule ID 21556 //
39293 /* 110696 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
39294 /* 110699 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
39295 /* 110702 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
39296 /* 110706 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39297 /* 110710 */ // (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] })
39298 /* 110710 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
39299 /* 110713 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
39300 /* 110717 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
39301 /* 110722 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
39302 /* 110724 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
39303 /* 110727 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
39304 /* 110731 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
39305 /* 110736 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
39306 /* 110739 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
39307 /* 110743 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/12,
39308 /* 110746 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
39309 /* 110751 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
39310 /* 110756 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
39311 /* 110761 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s16,
39312 /* 110764 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVDWZrr),
39313 /* 110768 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
39314 /* 110773 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
39315 /* 110776 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39316 /* 110778 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39317 /* 110781 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39318 /* 110783 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
39319 /* 110790 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
39320 /* 110795 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256XRegClassID),
39321 /* 110800 */ // GIR_Coverage, 21556,
39322 /* 110800 */ GIR_EraseRootFromParent_Done,
39323 /* 110801 */ // Label 2357: @110801
39324 /* 110801 */ GIM_Reject,
39325 /* 110802 */ // Label 2341: @110802
39326 /* 110802 */ GIM_Try, /*On fail goto*//*Label 2358*/ GIMT_Encode4(110828), // Rule ID 12265 //
39327 /* 110807 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
39328 /* 110810 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
39329 /* 110813 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39330 /* 110817 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39331 /* 110821 */ // (trunc:{ *:[v8i32] } VR512:{ *:[v8i64] }:$src) => (VPMOVQDZrr:{ *:[v8i32] } VR512:{ *:[v8i64] }:$src)
39332 /* 110821 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVQDZrr),
39333 /* 110826 */ GIR_RootConstrainSelectedInstOperands,
39334 /* 110827 */ // GIR_Coverage, 12265,
39335 /* 110827 */ GIR_Done,
39336 /* 110828 */ // Label 2358: @110828
39337 /* 110828 */ GIM_Reject,
39338 /* 110829 */ // Label 2342: @110829
39339 /* 110829 */ GIM_Try, /*On fail goto*//*Label 2359*/ GIMT_Encode4(110905), // Rule ID 21650 //
39340 /* 110834 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoBWI),
39341 /* 110837 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
39342 /* 110840 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39343 /* 110844 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39344 /* 110848 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39345 /* 110852 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39346 /* 110855 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39347 /* 110859 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39348 /* 110863 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39349 /* 110865 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39350 /* 110872 */ // (trunc:{ *:[v16i8] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVDBZrr:{ *:[v16i8] } (VPMOVZXWDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src))
39351 /* 110872 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
39352 /* 110875 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDZrm),
39353 /* 110879 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
39354 /* 110884 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
39355 /* 110888 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39356 /* 110893 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39357 /* 110895 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVDBZrr),
39358 /* 110898 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39359 /* 110900 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39360 /* 110903 */ GIR_RootConstrainSelectedInstOperands,
39361 /* 110904 */ // GIR_Coverage, 21650,
39362 /* 110904 */ GIR_EraseRootFromParent_Done,
39363 /* 110905 */ // Label 2359: @110905
39364 /* 110905 */ GIM_Try, /*On fail goto*//*Label 2360*/ GIMT_Encode4(110931), // Rule ID 12292 //
39365 /* 110910 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
39366 /* 110913 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
39367 /* 110916 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39368 /* 110920 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39369 /* 110924 */ // (trunc:{ *:[v16i8] } VR512:{ *:[v16i32] }:$src) => (VPMOVDBZrr:{ *:[v16i8] } VR512:{ *:[v16i32] }:$src)
39370 /* 110924 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVDBZrr),
39371 /* 110929 */ GIR_RootConstrainSelectedInstOperands,
39372 /* 110930 */ // GIR_Coverage, 12292,
39373 /* 110930 */ GIR_Done,
39374 /* 110931 */ // Label 2360: @110931
39375 /* 110931 */ GIM_Try, /*On fail goto*//*Label 2361*/ GIMT_Encode4(110957), // Rule ID 12343 //
39376 /* 110936 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
39377 /* 110939 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
39378 /* 110942 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39379 /* 110946 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39380 /* 110950 */ // (trunc:{ *:[v16i8] } VR256X:{ *:[v16i16] }:$src) => (VPMOVWBZ256rr:{ *:[v16i8] } VR256X:{ *:[v16i16] }:$src)
39381 /* 110950 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVWBZ256rr),
39382 /* 110955 */ GIR_RootConstrainSelectedInstOperands,
39383 /* 110956 */ // GIR_Coverage, 12343,
39384 /* 110956 */ GIR_Done,
39385 /* 110957 */ // Label 2361: @110957
39386 /* 110957 */ GIM_Try, /*On fail goto*//*Label 2362*/ GIMT_Encode4(111067), // Rule ID 21558 //
39387 /* 110962 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasEVEX512_NoVLX),
39388 /* 110965 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
39389 /* 110968 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
39390 /* 110972 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39391 /* 110976 */ // (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] })
39392 /* 110976 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
39393 /* 110979 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
39394 /* 110983 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
39395 /* 110988 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
39396 /* 110990 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
39397 /* 110993 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
39398 /* 110997 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
39399 /* 111002 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
39400 /* 111005 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
39401 /* 111009 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/12,
39402 /* 111012 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
39403 /* 111017 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
39404 /* 111022 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
39405 /* 111027 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s8,
39406 /* 111030 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVWBZrr),
39407 /* 111034 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
39408 /* 111039 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
39409 /* 111042 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39410 /* 111044 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39411 /* 111047 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39412 /* 111049 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
39413 /* 111056 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
39414 /* 111061 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256XRegClassID),
39415 /* 111066 */ // GIR_Coverage, 21558,
39416 /* 111066 */ GIR_EraseRootFromParent_Done,
39417 /* 111067 */ // Label 2362: @111067
39418 /* 111067 */ GIM_Try, /*On fail goto*//*Label 2363*/ GIMT_Encode4(111114), // Rule ID 21649 //
39419 /* 111072 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoBWI),
39420 /* 111075 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
39421 /* 111078 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39422 /* 111082 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39423 /* 111086 */ // (trunc:{ *:[v16i8] } VR256X:{ *:[v16i16] }:$src) => (VPMOVDBZrr:{ *:[v16i8] } (VPMOVZXWDZrr:{ *:[v16i32] } VR256X:{ *:[v16i16] }:$src))
39424 /* 111086 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
39425 /* 111089 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDZrr),
39426 /* 111093 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
39427 /* 111098 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
39428 /* 111102 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39429 /* 111104 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVDBZrr),
39430 /* 111107 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39431 /* 111109 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39432 /* 111112 */ GIR_RootConstrainSelectedInstOperands,
39433 /* 111113 */ // GIR_Coverage, 21649,
39434 /* 111113 */ GIR_EraseRootFromParent_Done,
39435 /* 111114 */ // Label 2363: @111114
39436 /* 111114 */ GIM_Reject,
39437 /* 111115 */ // Label 2343: @111115
39438 /* 111115 */ GIM_Try, /*On fail goto*//*Label 2364*/ GIMT_Encode4(111141), // Rule ID 12319 //
39439 /* 111120 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
39440 /* 111123 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
39441 /* 111126 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39442 /* 111130 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39443 /* 111134 */ // (trunc:{ *:[v16i16] } VR512:{ *:[v16i32] }:$src) => (VPMOVDWZrr:{ *:[v16i16] } VR512:{ *:[v16i32] }:$src)
39444 /* 111134 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVDWZrr),
39445 /* 111139 */ GIR_RootConstrainSelectedInstOperands,
39446 /* 111140 */ // GIR_Coverage, 12319,
39447 /* 111140 */ GIR_Done,
39448 /* 111141 */ // Label 2364: @111141
39449 /* 111141 */ GIM_Reject,
39450 /* 111142 */ // Label 2344: @111142
39451 /* 111142 */ GIM_Try, /*On fail goto*//*Label 2365*/ GIMT_Encode4(111168), // Rule ID 12346 //
39452 /* 111147 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
39453 /* 111150 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
39454 /* 111153 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39455 /* 111157 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39456 /* 111161 */ // (trunc:{ *:[v32i8] } VR512:{ *:[v32i16] }:$src) => (VPMOVWBZrr:{ *:[v32i8] } VR512:{ *:[v32i16] }:$src)
39457 /* 111161 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVWBZrr),
39458 /* 111166 */ GIR_RootConstrainSelectedInstOperands,
39459 /* 111167 */ // GIR_Coverage, 12346,
39460 /* 111167 */ GIR_Done,
39461 /* 111168 */ // Label 2365: @111168
39462 /* 111168 */ GIM_Reject,
39463 /* 111169 */ // Label 2345: @111169
39464 /* 111169 */ GIM_Reject,
39465 /* 111170 */ // Label 21: @111170
39466 /* 111170 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 2370*/ GIMT_Encode4(111775),
39467 /* 111181 */ /*GILLT_s8*//*Label 2366*/ GIMT_Encode4(111197),
39468 /* 111185 */ /*GILLT_s16*//*Label 2367*/ GIMT_Encode4(111279),
39469 /* 111189 */ /*GILLT_s32*//*Label 2368*/ GIMT_Encode4(111479),
39470 /* 111193 */ /*GILLT_s64*//*Label 2369*/ GIMT_Encode4(111621),
39471 /* 111197 */ // Label 2366: @111197
39472 /* 111197 */ GIM_Try, /*On fail goto*//*Label 2371*/ GIMT_Encode4(111278),
39473 /* 111202 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
39474 /* 111206 */ GIM_Try, /*On fail goto*//*Label 2372*/ GIMT_Encode4(111262), // Rule ID 22384 //
39475 /* 111211 */ // MIs[0] Operand 1
39476 /* 111211 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(0),
39477 /* 111222 */ // 0:{ *:[i8] } => (EXTRACT_SUBREG:{ *:[i8] } (MOV32r0:{ *:[i32] }:{ *:[i32] }), sub_8bit:{ *:[i32] })
39478 /* 111222 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39479 /* 111225 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32r0),
39480 /* 111229 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
39481 /* 111234 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
39482 /* 111237 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39483 /* 111239 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39484 /* 111242 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39485 /* 111244 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_8bit),
39486 /* 111251 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
39487 /* 111256 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39488 /* 111261 */ // GIR_Coverage, 22384,
39489 /* 111261 */ GIR_EraseRootFromParent_Done,
39490 /* 111262 */ // Label 2372: @111262
39491 /* 111262 */ GIM_Try, /*On fail goto*//*Label 2373*/ GIMT_Encode4(111277), // Rule ID 19 //
39492 /* 111267 */ // MIs[0] Operand 1
39493 /* 111267 */ // No operand predicates
39494 /* 111267 */ // (imm:{ *:[i8] }):$src => (MOV8ri:{ *:[i8] } (imm:{ *:[i8] }):$src)
39495 /* 111267 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8ri),
39496 /* 111270 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39497 /* 111272 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
39498 /* 111275 */ GIR_RootConstrainSelectedInstOperands,
39499 /* 111276 */ // GIR_Coverage, 19,
39500 /* 111276 */ GIR_EraseRootFromParent_Done,
39501 /* 111277 */ // Label 2373: @111277
39502 /* 111277 */ GIM_Reject,
39503 /* 111278 */ // Label 2371: @111278
39504 /* 111278 */ GIM_Reject,
39505 /* 111279 */ // Label 2367: @111279
39506 /* 111279 */ GIM_Try, /*On fail goto*//*Label 2374*/ GIMT_Encode4(111478),
39507 /* 111284 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39508 /* 111288 */ GIM_Try, /*On fail goto*//*Label 2375*/ GIMT_Encode4(111344), // Rule ID 22385 //
39509 /* 111293 */ // MIs[0] Operand 1
39510 /* 111293 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(0),
39511 /* 111304 */ // 0:{ *:[i16] } => (EXTRACT_SUBREG:{ *:[i16] } (MOV32r0:{ *:[i32] }:{ *:[i32] }), sub_16bit:{ *:[i32] })
39512 /* 111304 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39513 /* 111307 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32r0),
39514 /* 111311 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
39515 /* 111316 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
39516 /* 111319 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39517 /* 111321 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39518 /* 111324 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39519 /* 111326 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
39520 /* 111333 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
39521 /* 111338 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39522 /* 111343 */ // GIR_Coverage, 22385,
39523 /* 111343 */ GIR_EraseRootFromParent_Done,
39524 /* 111344 */ // Label 2375: @111344
39525 /* 111344 */ GIM_Try, /*On fail goto*//*Label 2376*/ GIMT_Encode4(111403), // Rule ID 22387 //
39526 /* 111349 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_Not64BitMode_OptForSize),
39527 /* 111352 */ // MIs[0] Operand 1
39528 /* 111352 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(1),
39529 /* 111363 */ // 1:{ *:[i16] } => (EXTRACT_SUBREG:{ *:[i16] } (MOV32r1:{ *:[i32] }:{ *:[i32] }), sub_16bit:{ *:[i32] })
39530 /* 111363 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39531 /* 111366 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32r1),
39532 /* 111370 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
39533 /* 111375 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
39534 /* 111378 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39535 /* 111380 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39536 /* 111383 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39537 /* 111385 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
39538 /* 111392 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
39539 /* 111397 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39540 /* 111402 */ // GIR_Coverage, 22387,
39541 /* 111402 */ GIR_EraseRootFromParent_Done,
39542 /* 111403 */ // Label 2376: @111403
39543 /* 111403 */ GIM_Try, /*On fail goto*//*Label 2377*/ GIMT_Encode4(111462), // Rule ID 22388 //
39544 /* 111408 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_Not64BitMode_OptForSize),
39545 /* 111411 */ // MIs[0] Operand 1
39546 /* 111411 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(-1),
39547 /* 111422 */ // -1:{ *:[i16] } => (EXTRACT_SUBREG:{ *:[i16] } (MOV32r_1:{ *:[i32] }:{ *:[i32] }), sub_16bit:{ *:[i32] })
39548 /* 111422 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39549 /* 111425 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32r_1),
39550 /* 111429 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
39551 /* 111434 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
39552 /* 111437 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39553 /* 111439 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39554 /* 111442 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39555 /* 111444 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
39556 /* 111451 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
39557 /* 111456 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39558 /* 111461 */ // GIR_Coverage, 22388,
39559 /* 111461 */ GIR_EraseRootFromParent_Done,
39560 /* 111462 */ // Label 2377: @111462
39561 /* 111462 */ GIM_Try, /*On fail goto*//*Label 2378*/ GIMT_Encode4(111477), // Rule ID 20 //
39562 /* 111467 */ // MIs[0] Operand 1
39563 /* 111467 */ // No operand predicates
39564 /* 111467 */ // (imm:{ *:[i16] }):$src => (MOV16ri:{ *:[i16] } (imm:{ *:[i16] }):$src)
39565 /* 111467 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16ri),
39566 /* 111470 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39567 /* 111472 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
39568 /* 111475 */ GIR_RootConstrainSelectedInstOperands,
39569 /* 111476 */ // GIR_Coverage, 20,
39570 /* 111476 */ GIR_EraseRootFromParent_Done,
39571 /* 111477 */ // Label 2378: @111477
39572 /* 111477 */ GIM_Reject,
39573 /* 111478 */ // Label 2374: @111478
39574 /* 111478 */ GIM_Reject,
39575 /* 111479 */ // Label 2368: @111479
39576 /* 111479 */ GIM_Try, /*On fail goto*//*Label 2379*/ GIMT_Encode4(111509), // Rule ID 17153 //
39577 /* 111484 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39578 /* 111488 */ // MIs[0] Operand 1
39579 /* 111488 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(0),
39580 /* 111499 */ // 0:{ *:[i32] } => (MOV32r0:{ *:[i32] }:{ *:[i32] })
39581 /* 111499 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32r0),
39582 /* 111502 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39583 /* 111504 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
39584 /* 111507 */ GIR_RootConstrainSelectedInstOperands,
39585 /* 111508 */ // GIR_Coverage, 17153,
39586 /* 111508 */ GIR_EraseRootFromParent_Done,
39587 /* 111509 */ // Label 2379: @111509
39588 /* 111509 */ GIM_Try, /*On fail goto*//*Label 2380*/ GIMT_Encode4(111542), // Rule ID 17154 //
39589 /* 111514 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_Not64BitMode_OptForSize),
39590 /* 111517 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39591 /* 111521 */ // MIs[0] Operand 1
39592 /* 111521 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(1),
39593 /* 111532 */ // 1:{ *:[i32] } => (MOV32r1:{ *:[i32] }:{ *:[i32] })
39594 /* 111532 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32r1),
39595 /* 111535 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39596 /* 111537 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
39597 /* 111540 */ GIR_RootConstrainSelectedInstOperands,
39598 /* 111541 */ // GIR_Coverage, 17154,
39599 /* 111541 */ GIR_EraseRootFromParent_Done,
39600 /* 111542 */ // Label 2380: @111542
39601 /* 111542 */ GIM_Try, /*On fail goto*//*Label 2381*/ GIMT_Encode4(111575), // Rule ID 17155 //
39602 /* 111547 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_Not64BitMode_OptForSize),
39603 /* 111550 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39604 /* 111554 */ // MIs[0] Operand 1
39605 /* 111554 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(-1),
39606 /* 111565 */ // -1:{ *:[i32] } => (MOV32r_1:{ *:[i32] }:{ *:[i32] })
39607 /* 111565 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32r_1),
39608 /* 111568 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39609 /* 111570 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
39610 /* 111573 */ GIR_RootConstrainSelectedInstOperands,
39611 /* 111574 */ // GIR_Coverage, 17155,
39612 /* 111574 */ GIR_EraseRootFromParent_Done,
39613 /* 111575 */ // Label 2381: @111575
39614 /* 111575 */ GIM_Try, /*On fail goto*//*Label 2382*/ GIMT_Encode4(111601), // Rule ID 17156 //
39615 /* 111580 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotWin64WithoutFP_OptForMinSize),
39616 /* 111583 */ GIM_CheckI64ImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i32immSExt8),
39617 /* 111587 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39618 /* 111591 */ // MIs[0] Operand 1
39619 /* 111591 */ // No operand predicates
39620 /* 111591 */ // (imm:{ *:[i32] })<<P:Predicate_i32immSExt8>>:$src => (MOV32ImmSExti8:{ *:[i32] } (imm:{ *:[i32] }):$src)
39621 /* 111591 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32ImmSExti8),
39622 /* 111594 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39623 /* 111596 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
39624 /* 111599 */ GIR_RootConstrainSelectedInstOperands,
39625 /* 111600 */ // GIR_Coverage, 17156,
39626 /* 111600 */ GIR_EraseRootFromParent_Done,
39627 /* 111601 */ // Label 2382: @111601
39628 /* 111601 */ GIM_Try, /*On fail goto*//*Label 2383*/ GIMT_Encode4(111620), // Rule ID 21 //
39629 /* 111606 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39630 /* 111610 */ // MIs[0] Operand 1
39631 /* 111610 */ // No operand predicates
39632 /* 111610 */ // (imm:{ *:[i32] }):$src => (MOV32ri:{ *:[i32] } (imm:{ *:[i32] }):$src)
39633 /* 111610 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32ri),
39634 /* 111613 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39635 /* 111615 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
39636 /* 111618 */ GIR_RootConstrainSelectedInstOperands,
39637 /* 111619 */ // GIR_Coverage, 21,
39638 /* 111619 */ GIR_EraseRootFromParent_Done,
39639 /* 111620 */ // Label 2383: @111620
39640 /* 111620 */ GIM_Reject,
39641 /* 111621 */ // Label 2369: @111621
39642 /* 111621 */ GIM_Try, /*On fail goto*//*Label 2384*/ GIMT_Encode4(111683), // Rule ID 22386 //
39643 /* 111626 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
39644 /* 111630 */ // MIs[0] Operand 1
39645 /* 111630 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(0),
39646 /* 111641 */ // 0:{ *:[i64] } => (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (MOV32r0:{ *:[i32] }:{ *:[i32] }), sub_32bit:{ *:[i32] })
39647 /* 111641 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39648 /* 111644 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32r0),
39649 /* 111648 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
39650 /* 111653 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
39651 /* 111656 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39652 /* 111658 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
39653 /* 111661 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39654 /* 111663 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
39655 /* 111666 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39656 /* 111669 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
39657 /* 111672 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
39658 /* 111677 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR32RegClassID),
39659 /* 111682 */ // GIR_Coverage, 22386,
39660 /* 111682 */ GIR_EraseRootFromParent_Done,
39661 /* 111683 */ // Label 2384: @111683
39662 /* 111683 */ GIM_Try, /*On fail goto*//*Label 2385*/ GIMT_Encode4(111709), // Rule ID 17157 //
39663 /* 111688 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotWin64WithoutFP_OptForMinSize),
39664 /* 111691 */ GIM_CheckI64ImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt8),
39665 /* 111695 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
39666 /* 111699 */ // MIs[0] Operand 1
39667 /* 111699 */ // No operand predicates
39668 /* 111699 */ // (imm:{ *:[i64] })<<P:Predicate_i64immSExt8>>:$src => (MOV64ImmSExti8:{ *:[i64] } (imm:{ *:[i64] }):$src)
39669 /* 111699 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64ImmSExti8),
39670 /* 111702 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39671 /* 111704 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
39672 /* 111707 */ GIR_RootConstrainSelectedInstOperands,
39673 /* 111708 */ // GIR_Coverage, 17157,
39674 /* 111708 */ GIR_EraseRootFromParent_Done,
39675 /* 111709 */ // Label 2385: @111709
39676 /* 111709 */ GIM_Try, /*On fail goto*//*Label 2386*/ GIMT_Encode4(111732), // Rule ID 17158 //
39677 /* 111714 */ GIM_CheckI64ImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immZExt32),
39678 /* 111718 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
39679 /* 111722 */ // MIs[0] Operand 1
39680 /* 111722 */ // No operand predicates
39681 /* 111722 */ // (imm:{ *:[i64] })<<P:Predicate_i64immZExt32>>:$src => (MOV32ri64:{ *:[i64] } (imm:{ *:[i64] }):$src)
39682 /* 111722 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32ri64),
39683 /* 111725 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39684 /* 111727 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
39685 /* 111730 */ GIR_RootConstrainSelectedInstOperands,
39686 /* 111731 */ // GIR_Coverage, 17158,
39687 /* 111731 */ GIR_EraseRootFromParent_Done,
39688 /* 111732 */ // Label 2386: @111732
39689 /* 111732 */ GIM_Try, /*On fail goto*//*Label 2387*/ GIMT_Encode4(111755), // Rule ID 22 //
39690 /* 111737 */ GIM_CheckI64ImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
39691 /* 111741 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
39692 /* 111745 */ // MIs[0] Operand 1
39693 /* 111745 */ // No operand predicates
39694 /* 111745 */ // (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src => (MOV64ri32:{ *:[i64] } (imm:{ *:[i64] }):$src)
39695 /* 111745 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64ri32),
39696 /* 111748 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39697 /* 111750 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
39698 /* 111753 */ GIR_RootConstrainSelectedInstOperands,
39699 /* 111754 */ // GIR_Coverage, 22,
39700 /* 111754 */ GIR_EraseRootFromParent_Done,
39701 /* 111755 */ // Label 2387: @111755
39702 /* 111755 */ GIM_Try, /*On fail goto*//*Label 2388*/ GIMT_Encode4(111774), // Rule ID 23 //
39703 /* 111760 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
39704 /* 111764 */ // MIs[0] Operand 1
39705 /* 111764 */ // No operand predicates
39706 /* 111764 */ // (imm:{ *:[i64] }):$src => (MOV64ri:{ *:[i64] } (imm:{ *:[i64] }):$src)
39707 /* 111764 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64ri),
39708 /* 111767 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39709 /* 111769 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
39710 /* 111772 */ GIR_RootConstrainSelectedInstOperands,
39711 /* 111773 */ // GIR_Coverage, 23,
39712 /* 111773 */ GIR_EraseRootFromParent_Done,
39713 /* 111774 */ // Label 2388: @111774
39714 /* 111774 */ GIM_Reject,
39715 /* 111775 */ // Label 2370: @111775
39716 /* 111775 */ GIM_Reject,
39717 /* 111776 */ // Label 22: @111776
39718 /* 111776 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(6), /*)*//*default:*//*Label 2392*/ GIMT_Encode4(112228),
39719 /* 111787 */ /*GILLT_s32*//*Label 2389*/ GIMT_Encode4(111799),
39720 /* 111791 */ /*GILLT_s64*//*Label 2390*/ GIMT_Encode4(111944),
39721 /* 111795 */ /*GILLT_s80*//*Label 2391*/ GIMT_Encode4(112089),
39722 /* 111799 */ // Label 2389: @111799
39723 /* 111799 */ GIM_Try, /*On fail goto*//*Label 2393*/ GIMT_Encode4(111825), // Rule ID 1116 //
39724 /* 111804 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
39725 /* 111807 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimm0),
39726 /* 111811 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
39727 /* 111815 */ // MIs[0] Operand 1
39728 /* 111815 */ // No operand predicates
39729 /* 111815 */ // (fpimm:{ *:[f32] })<<P:Predicate_fpimm0>> => (LD_Fp032:{ *:[f32] }:{ *:[i16] })
39730 /* 111815 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp032),
39731 /* 111818 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39732 /* 111820 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
39733 /* 111823 */ GIR_RootConstrainSelectedInstOperands,
39734 /* 111824 */ // GIR_Coverage, 1116,
39735 /* 111824 */ GIR_EraseRootFromParent_Done,
39736 /* 111825 */ // Label 2393: @111825
39737 /* 111825 */ GIM_Try, /*On fail goto*//*Label 2394*/ GIMT_Encode4(111851), // Rule ID 1117 //
39738 /* 111830 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
39739 /* 111833 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimm1),
39740 /* 111837 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
39741 /* 111841 */ // MIs[0] Operand 1
39742 /* 111841 */ // No operand predicates
39743 /* 111841 */ // (fpimm:{ *:[f32] })<<P:Predicate_fpimm1>> => (LD_Fp132:{ *:[f32] }:{ *:[i16] })
39744 /* 111841 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp132),
39745 /* 111844 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39746 /* 111846 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
39747 /* 111849 */ GIR_RootConstrainSelectedInstOperands,
39748 /* 111850 */ // GIR_Coverage, 1117,
39749 /* 111850 */ GIR_EraseRootFromParent_Done,
39750 /* 111851 */ // Label 2394: @111851
39751 /* 111851 */ GIM_Try, /*On fail goto*//*Label 2395*/ GIMT_Encode4(111897), // Rule ID 17720 //
39752 /* 111856 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
39753 /* 111859 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimmneg0),
39754 /* 111863 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
39755 /* 111867 */ // MIs[0] Operand 1
39756 /* 111867 */ // No operand predicates
39757 /* 111867 */ // (fpimm:{ *:[f32] })<<P:Predicate_fpimmneg0>> => (CHS_Fp32:{ *:[f32] }:{ *:[i16] } (LD_Fp032:{ *:[f32] }:{ *:[i16] }))
39758 /* 111867 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39759 /* 111870 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::LD_Fp032),
39760 /* 111874 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
39761 /* 111879 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::FPSW*/0,
39762 /* 111882 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39763 /* 111884 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CHS_Fp32),
39764 /* 111887 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39765 /* 111889 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39766 /* 111892 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
39767 /* 111895 */ GIR_RootConstrainSelectedInstOperands,
39768 /* 111896 */ // GIR_Coverage, 17720,
39769 /* 111896 */ GIR_EraseRootFromParent_Done,
39770 /* 111897 */ // Label 2395: @111897
39771 /* 111897 */ GIM_Try, /*On fail goto*//*Label 2396*/ GIMT_Encode4(111943), // Rule ID 17721 //
39772 /* 111902 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
39773 /* 111905 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimmneg1),
39774 /* 111909 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
39775 /* 111913 */ // MIs[0] Operand 1
39776 /* 111913 */ // No operand predicates
39777 /* 111913 */ // (fpimm:{ *:[f32] })<<P:Predicate_fpimmneg1>> => (CHS_Fp32:{ *:[f32] }:{ *:[i16] } (LD_Fp132:{ *:[f32] }:{ *:[i16] }))
39778 /* 111913 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39779 /* 111916 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::LD_Fp132),
39780 /* 111920 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
39781 /* 111925 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::FPSW*/0,
39782 /* 111928 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39783 /* 111930 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CHS_Fp32),
39784 /* 111933 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39785 /* 111935 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39786 /* 111938 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
39787 /* 111941 */ GIR_RootConstrainSelectedInstOperands,
39788 /* 111942 */ // GIR_Coverage, 17721,
39789 /* 111942 */ GIR_EraseRootFromParent_Done,
39790 /* 111943 */ // Label 2396: @111943
39791 /* 111943 */ GIM_Reject,
39792 /* 111944 */ // Label 2390: @111944
39793 /* 111944 */ GIM_Try, /*On fail goto*//*Label 2397*/ GIMT_Encode4(111970), // Rule ID 1118 //
39794 /* 111949 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
39795 /* 111952 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimm0),
39796 /* 111956 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
39797 /* 111960 */ // MIs[0] Operand 1
39798 /* 111960 */ // No operand predicates
39799 /* 111960 */ // (fpimm:{ *:[f64] })<<P:Predicate_fpimm0>> => (LD_Fp064:{ *:[f64] }:{ *:[i16] })
39800 /* 111960 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp064),
39801 /* 111963 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39802 /* 111965 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
39803 /* 111968 */ GIR_RootConstrainSelectedInstOperands,
39804 /* 111969 */ // GIR_Coverage, 1118,
39805 /* 111969 */ GIR_EraseRootFromParent_Done,
39806 /* 111970 */ // Label 2397: @111970
39807 /* 111970 */ GIM_Try, /*On fail goto*//*Label 2398*/ GIMT_Encode4(111996), // Rule ID 1119 //
39808 /* 111975 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
39809 /* 111978 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimm1),
39810 /* 111982 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
39811 /* 111986 */ // MIs[0] Operand 1
39812 /* 111986 */ // No operand predicates
39813 /* 111986 */ // (fpimm:{ *:[f64] })<<P:Predicate_fpimm1>> => (LD_Fp164:{ *:[f64] }:{ *:[i16] })
39814 /* 111986 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp164),
39815 /* 111989 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39816 /* 111991 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
39817 /* 111994 */ GIR_RootConstrainSelectedInstOperands,
39818 /* 111995 */ // GIR_Coverage, 1119,
39819 /* 111995 */ GIR_EraseRootFromParent_Done,
39820 /* 111996 */ // Label 2398: @111996
39821 /* 111996 */ GIM_Try, /*On fail goto*//*Label 2399*/ GIMT_Encode4(112042), // Rule ID 17722 //
39822 /* 112001 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
39823 /* 112004 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimmneg0),
39824 /* 112008 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
39825 /* 112012 */ // MIs[0] Operand 1
39826 /* 112012 */ // No operand predicates
39827 /* 112012 */ // (fpimm:{ *:[f64] })<<P:Predicate_fpimmneg0>> => (CHS_Fp64:{ *:[f64] }:{ *:[i16] } (LD_Fp064:{ *:[f64] }:{ *:[i16] }))
39828 /* 112012 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
39829 /* 112015 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::LD_Fp064),
39830 /* 112019 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
39831 /* 112024 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::FPSW*/0,
39832 /* 112027 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39833 /* 112029 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CHS_Fp64),
39834 /* 112032 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39835 /* 112034 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39836 /* 112037 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
39837 /* 112040 */ GIR_RootConstrainSelectedInstOperands,
39838 /* 112041 */ // GIR_Coverage, 17722,
39839 /* 112041 */ GIR_EraseRootFromParent_Done,
39840 /* 112042 */ // Label 2399: @112042
39841 /* 112042 */ GIM_Try, /*On fail goto*//*Label 2400*/ GIMT_Encode4(112088), // Rule ID 17723 //
39842 /* 112047 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
39843 /* 112050 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimmneg1),
39844 /* 112054 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
39845 /* 112058 */ // MIs[0] Operand 1
39846 /* 112058 */ // No operand predicates
39847 /* 112058 */ // (fpimm:{ *:[f64] })<<P:Predicate_fpimmneg1>> => (CHS_Fp64:{ *:[f64] }:{ *:[i16] } (LD_Fp164:{ *:[f64] }:{ *:[i16] }))
39848 /* 112058 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
39849 /* 112061 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::LD_Fp164),
39850 /* 112065 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
39851 /* 112070 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::FPSW*/0,
39852 /* 112073 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39853 /* 112075 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CHS_Fp64),
39854 /* 112078 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39855 /* 112080 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39856 /* 112083 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
39857 /* 112086 */ GIR_RootConstrainSelectedInstOperands,
39858 /* 112087 */ // GIR_Coverage, 17723,
39859 /* 112087 */ GIR_EraseRootFromParent_Done,
39860 /* 112088 */ // Label 2400: @112088
39861 /* 112088 */ GIM_Reject,
39862 /* 112089 */ // Label 2391: @112089
39863 /* 112089 */ GIM_Try, /*On fail goto*//*Label 2401*/ GIMT_Encode4(112115), // Rule ID 1120 //
39864 /* 112094 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
39865 /* 112097 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimm0),
39866 /* 112101 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
39867 /* 112105 */ // MIs[0] Operand 1
39868 /* 112105 */ // No operand predicates
39869 /* 112105 */ // (fpimm:{ *:[f80] })<<P:Predicate_fpimm0>> => (LD_Fp080:{ *:[f80] }:{ *:[i16] })
39870 /* 112105 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp080),
39871 /* 112108 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39872 /* 112110 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
39873 /* 112113 */ GIR_RootConstrainSelectedInstOperands,
39874 /* 112114 */ // GIR_Coverage, 1120,
39875 /* 112114 */ GIR_EraseRootFromParent_Done,
39876 /* 112115 */ // Label 2401: @112115
39877 /* 112115 */ GIM_Try, /*On fail goto*//*Label 2402*/ GIMT_Encode4(112141), // Rule ID 1121 //
39878 /* 112120 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
39879 /* 112123 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimm1),
39880 /* 112127 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
39881 /* 112131 */ // MIs[0] Operand 1
39882 /* 112131 */ // No operand predicates
39883 /* 112131 */ // (fpimm:{ *:[f80] })<<P:Predicate_fpimm1>> => (LD_Fp180:{ *:[f80] }:{ *:[i16] })
39884 /* 112131 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp180),
39885 /* 112134 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39886 /* 112136 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
39887 /* 112139 */ GIR_RootConstrainSelectedInstOperands,
39888 /* 112140 */ // GIR_Coverage, 1121,
39889 /* 112140 */ GIR_EraseRootFromParent_Done,
39890 /* 112141 */ // Label 2402: @112141
39891 /* 112141 */ GIM_Try, /*On fail goto*//*Label 2403*/ GIMT_Encode4(112184), // Rule ID 17724 //
39892 /* 112146 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimmneg0),
39893 /* 112150 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
39894 /* 112154 */ // MIs[0] Operand 1
39895 /* 112154 */ // No operand predicates
39896 /* 112154 */ // (fpimm:{ *:[f80] })<<P:Predicate_fpimmneg0>> => (CHS_Fp80:{ *:[f80] }:{ *:[i16] } (LD_Fp080:{ *:[f80] }:{ *:[i16] }))
39897 /* 112154 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s80,
39898 /* 112157 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::LD_Fp080),
39899 /* 112161 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
39900 /* 112166 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::FPSW*/0,
39901 /* 112169 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39902 /* 112171 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CHS_Fp80),
39903 /* 112174 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39904 /* 112176 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39905 /* 112179 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
39906 /* 112182 */ GIR_RootConstrainSelectedInstOperands,
39907 /* 112183 */ // GIR_Coverage, 17724,
39908 /* 112183 */ GIR_EraseRootFromParent_Done,
39909 /* 112184 */ // Label 2403: @112184
39910 /* 112184 */ GIM_Try, /*On fail goto*//*Label 2404*/ GIMT_Encode4(112227), // Rule ID 17725 //
39911 /* 112189 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimmneg1),
39912 /* 112193 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
39913 /* 112197 */ // MIs[0] Operand 1
39914 /* 112197 */ // No operand predicates
39915 /* 112197 */ // (fpimm:{ *:[f80] })<<P:Predicate_fpimmneg1>> => (CHS_Fp80:{ *:[f80] }:{ *:[i16] } (LD_Fp180:{ *:[f80] }:{ *:[i16] }))
39916 /* 112197 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s80,
39917 /* 112200 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::LD_Fp180),
39918 /* 112204 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
39919 /* 112209 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::FPSW*/0,
39920 /* 112212 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39921 /* 112214 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CHS_Fp80),
39922 /* 112217 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39923 /* 112219 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39924 /* 112222 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
39925 /* 112225 */ GIR_RootConstrainSelectedInstOperands,
39926 /* 112226 */ // GIR_Coverage, 17725,
39927 /* 112226 */ GIR_EraseRootFromParent_Done,
39928 /* 112227 */ // Label 2404: @112227
39929 /* 112227 */ GIM_Reject,
39930 /* 112228 */ // Label 2392: @112228
39931 /* 112228 */ GIM_Reject,
39932 /* 112229 */ // Label 23: @112229
39933 /* 112229 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 2420*/ GIMT_Encode4(113900),
39934 /* 112240 */ /*GILLT_s16*//*Label 2405*/ GIMT_Encode4(112332),
39935 /* 112244 */ /*GILLT_s32*//*Label 2406*/ GIMT_Encode4(112390),
39936 /* 112248 */ /*GILLT_s64*//*Label 2407*/ GIMT_Encode4(112437), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
39937 /* 112264 */ /*GILLT_v2s64*//*Label 2408*/ GIMT_Encode4(112510), GIMT_Encode4(0),
39938 /* 112272 */ /*GILLT_v4s32*//*Label 2409*/ GIMT_Encode4(112537),
39939 /* 112276 */ /*GILLT_v4s64*//*Label 2410*/ GIMT_Encode4(112564), GIMT_Encode4(0),
39940 /* 112284 */ /*GILLT_v8s16*//*Label 2411*/ GIMT_Encode4(112761),
39941 /* 112288 */ /*GILLT_v8s32*//*Label 2412*/ GIMT_Encode4(112830),
39942 /* 112292 */ /*GILLT_v8s64*//*Label 2413*/ GIMT_Encode4(113027), GIMT_Encode4(0),
39943 /* 112300 */ /*GILLT_v16s8*//*Label 2414*/ GIMT_Encode4(113224),
39944 /* 112304 */ /*GILLT_v16s16*//*Label 2415*/ GIMT_Encode4(113293),
39945 /* 112308 */ /*GILLT_v16s32*//*Label 2416*/ GIMT_Encode4(113537), GIMT_Encode4(0),
39946 /* 112316 */ /*GILLT_v32s8*//*Label 2417*/ GIMT_Encode4(113734),
39947 /* 112320 */ /*GILLT_v32s16*//*Label 2418*/ GIMT_Encode4(113761), GIMT_Encode4(0),
39948 /* 112328 */ /*GILLT_v64s8*//*Label 2419*/ GIMT_Encode4(113873),
39949 /* 112332 */ // Label 2405: @112332
39950 /* 112332 */ GIM_Try, /*On fail goto*//*Label 2421*/ GIMT_Encode4(112389), // Rule ID 22647 //
39951 /* 112337 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
39952 /* 112340 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39953 /* 112344 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
39954 /* 112348 */ // (sext:{ *:[i16] } GR8:{ *:[i8] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (MOVSX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src), sub_16bit:{ *:[i32] })
39955 /* 112348 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39956 /* 112351 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVSX32rr8),
39957 /* 112355 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
39958 /* 112360 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
39959 /* 112364 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39960 /* 112366 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39961 /* 112369 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39962 /* 112371 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
39963 /* 112378 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
39964 /* 112383 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39965 /* 112388 */ // GIR_Coverage, 22647,
39966 /* 112388 */ GIR_EraseRootFromParent_Done,
39967 /* 112389 */ // Label 2421: @112389
39968 /* 112389 */ GIM_Reject,
39969 /* 112390 */ // Label 2406: @112390
39970 /* 112390 */ GIM_Try, /*On fail goto*//*Label 2422*/ GIMT_Encode4(112413), // Rule ID 614 //
39971 /* 112395 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
39972 /* 112398 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39973 /* 112402 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
39974 /* 112406 */ // (sext:{ *:[i32] } GR8:{ *:[i8] }:$src) => (MOVSX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src)
39975 /* 112406 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSX32rr8),
39976 /* 112411 */ GIR_RootConstrainSelectedInstOperands,
39977 /* 112412 */ // GIR_Coverage, 614,
39978 /* 112412 */ GIR_Done,
39979 /* 112413 */ // Label 2422: @112413
39980 /* 112413 */ GIM_Try, /*On fail goto*//*Label 2423*/ GIMT_Encode4(112436), // Rule ID 616 //
39981 /* 112418 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
39982 /* 112421 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39983 /* 112425 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39984 /* 112429 */ // (sext:{ *:[i32] } GR16:{ *:[i16] }:$src) => (MOVSX32rr16:{ *:[i32] } GR16:{ *:[i16] }:$src)
39985 /* 112429 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSX32rr16),
39986 /* 112434 */ GIR_RootConstrainSelectedInstOperands,
39987 /* 112435 */ // GIR_Coverage, 616,
39988 /* 112435 */ GIR_Done,
39989 /* 112436 */ // Label 2423: @112436
39990 /* 112436 */ GIM_Reject,
39991 /* 112437 */ // Label 2407: @112437
39992 /* 112437 */ GIM_Try, /*On fail goto*//*Label 2424*/ GIMT_Encode4(112460), // Rule ID 622 //
39993 /* 112442 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
39994 /* 112445 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
39995 /* 112449 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
39996 /* 112453 */ // (sext:{ *:[i64] } GR8:{ *:[i8] }:$src) => (MOVSX64rr8:{ *:[i64] } GR8:{ *:[i8] }:$src)
39997 /* 112453 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSX64rr8),
39998 /* 112458 */ GIR_RootConstrainSelectedInstOperands,
39999 /* 112459 */ // GIR_Coverage, 622,
40000 /* 112459 */ GIR_Done,
40001 /* 112460 */ // Label 2424: @112460
40002 /* 112460 */ GIM_Try, /*On fail goto*//*Label 2425*/ GIMT_Encode4(112483), // Rule ID 624 //
40003 /* 112465 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
40004 /* 112468 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
40005 /* 112472 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
40006 /* 112476 */ // (sext:{ *:[i64] } GR16:{ *:[i16] }:$src) => (MOVSX64rr16:{ *:[i64] } GR16:{ *:[i16] }:$src)
40007 /* 112476 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSX64rr16),
40008 /* 112481 */ GIR_RootConstrainSelectedInstOperands,
40009 /* 112482 */ // GIR_Coverage, 624,
40010 /* 112482 */ GIR_Done,
40011 /* 112483 */ // Label 2425: @112483
40012 /* 112483 */ GIM_Try, /*On fail goto*//*Label 2426*/ GIMT_Encode4(112509), // Rule ID 626 //
40013 /* 112488 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
40014 /* 112491 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
40015 /* 112494 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
40016 /* 112498 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40017 /* 112502 */ // (sext:{ *:[i64] } GR32:{ *:[i32] }:$src) => (MOVSX64rr32:{ *:[i64] } GR32:{ *:[i32] }:$src)
40018 /* 112502 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSX64rr32),
40019 /* 112507 */ GIR_RootConstrainSelectedInstOperands,
40020 /* 112508 */ // GIR_Coverage, 626,
40021 /* 112508 */ GIR_Done,
40022 /* 112509 */ // Label 2426: @112509
40023 /* 112509 */ GIM_Reject,
40024 /* 112510 */ // Label 2408: @112510
40025 /* 112510 */ GIM_Try, /*On fail goto*//*Label 2427*/ GIMT_Encode4(112536), // Rule ID 12594 //
40026 /* 112515 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
40027 /* 112518 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s1,
40028 /* 112521 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
40029 /* 112525 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
40030 /* 112529 */ // (sext:{ *:[v2i64] } VK2:{ *:[v2i1] }:$src) => (VPMOVM2QZ128rk:{ *:[v2i64] } VK2:{ *:[v2i1] }:$src)
40031 /* 112529 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2QZ128rk),
40032 /* 112534 */ GIR_RootConstrainSelectedInstOperands,
40033 /* 112535 */ // GIR_Coverage, 12594,
40034 /* 112535 */ GIR_Done,
40035 /* 112536 */ // Label 2427: @112536
40036 /* 112536 */ GIM_Reject,
40037 /* 112537 */ // Label 2409: @112537
40038 /* 112537 */ GIM_Try, /*On fail goto*//*Label 2428*/ GIMT_Encode4(112563), // Rule ID 12591 //
40039 /* 112542 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
40040 /* 112545 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
40041 /* 112548 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
40042 /* 112552 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
40043 /* 112556 */ // (sext:{ *:[v4i32] } VK4:{ *:[v4i1] }:$src) => (VPMOVM2DZ128rk:{ *:[v4i32] } VK4:{ *:[v4i1] }:$src)
40044 /* 112556 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2DZ128rk),
40045 /* 112561 */ GIR_RootConstrainSelectedInstOperands,
40046 /* 112562 */ // GIR_Coverage, 12591,
40047 /* 112562 */ GIR_Done,
40048 /* 112563 */ // Label 2428: @112563
40049 /* 112563 */ GIM_Reject,
40050 /* 112564 */ // Label 2410: @112564
40051 /* 112564 */ GIM_Try, /*On fail goto*//*Label 2429*/ GIMT_Encode4(112623), // Rule ID 18390 //
40052 /* 112569 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
40053 /* 112572 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
40054 /* 112575 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
40055 /* 112579 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40056 /* 112583 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40057 /* 112587 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40058 /* 112590 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40059 /* 112594 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40060 /* 112598 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40061 /* 112600 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40062 /* 112607 */ // (sext:{ *:[v4i64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXDQYrm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
40063 /* 112607 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXDQYrm),
40064 /* 112610 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40065 /* 112612 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40066 /* 112616 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40067 /* 112621 */ GIR_RootConstrainSelectedInstOperands,
40068 /* 112622 */ // GIR_Coverage, 18390,
40069 /* 112622 */ GIR_EraseRootFromParent_Done,
40070 /* 112623 */ // Label 2429: @112623
40071 /* 112623 */ GIM_Try, /*On fail goto*//*Label 2430*/ GIMT_Encode4(112682), // Rule ID 21585 //
40072 /* 112628 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
40073 /* 112631 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
40074 /* 112634 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40075 /* 112638 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40076 /* 112642 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40077 /* 112646 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40078 /* 112649 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40079 /* 112653 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40080 /* 112657 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40081 /* 112659 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40082 /* 112666 */ // (sext:{ *:[v4i64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXDQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
40083 /* 112666 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXDQZ256rm),
40084 /* 112669 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40085 /* 112671 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40086 /* 112675 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40087 /* 112680 */ GIR_RootConstrainSelectedInstOperands,
40088 /* 112681 */ // GIR_Coverage, 21585,
40089 /* 112681 */ GIR_EraseRootFromParent_Done,
40090 /* 112682 */ // Label 2430: @112682
40091 /* 112682 */ GIM_Try, /*On fail goto*//*Label 2431*/ GIMT_Encode4(112708), // Rule ID 12571 //
40092 /* 112687 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
40093 /* 112690 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
40094 /* 112693 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40095 /* 112697 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
40096 /* 112701 */ // (sext:{ *:[v4i64] } VR128X:{ *:[v4i32] }:$src) => (VPMOVSXDQZ256rr:{ *:[v4i64] } VR128X:{ *:[v4i32] }:$src)
40097 /* 112701 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXDQZ256rr),
40098 /* 112706 */ GIR_RootConstrainSelectedInstOperands,
40099 /* 112707 */ // GIR_Coverage, 12571,
40100 /* 112707 */ GIR_Done,
40101 /* 112708 */ // Label 2431: @112708
40102 /* 112708 */ GIM_Try, /*On fail goto*//*Label 2432*/ GIMT_Encode4(112734), // Rule ID 12593 //
40103 /* 112713 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
40104 /* 112716 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
40105 /* 112719 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40106 /* 112723 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
40107 /* 112727 */ // (sext:{ *:[v4i64] } VK4:{ *:[v4i1] }:$src) => (VPMOVM2QZ256rk:{ *:[v4i64] } VK4:{ *:[v4i1] }:$src)
40108 /* 112727 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2QZ256rk),
40109 /* 112732 */ GIR_RootConstrainSelectedInstOperands,
40110 /* 112733 */ // GIR_Coverage, 12593,
40111 /* 112733 */ GIR_Done,
40112 /* 112734 */ // Label 2432: @112734
40113 /* 112734 */ GIM_Try, /*On fail goto*//*Label 2433*/ GIMT_Encode4(112760), // Rule ID 18378 //
40114 /* 112739 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
40115 /* 112742 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
40116 /* 112745 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
40117 /* 112749 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
40118 /* 112753 */ // (sext:{ *:[v4i64] } VR128:{ *:[v4i32] }:$src) => (VPMOVSXDQYrr:{ *:[v4i64] } VR128:{ *:[v4i32] }:$src)
40119 /* 112753 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXDQYrr),
40120 /* 112758 */ GIR_RootConstrainSelectedInstOperands,
40121 /* 112759 */ // GIR_Coverage, 18378,
40122 /* 112759 */ GIR_Done,
40123 /* 112760 */ // Label 2433: @112760
40124 /* 112760 */ GIM_Reject,
40125 /* 112761 */ // Label 2411: @112761
40126 /* 112761 */ GIM_Try, /*On fail goto*//*Label 2434*/ GIMT_Encode4(112829),
40127 /* 112766 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
40128 /* 112769 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
40129 /* 112773 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
40130 /* 112777 */ GIM_Try, /*On fail goto*//*Label 2435*/ GIMT_Encode4(112792), // Rule ID 12588 //
40131 /* 112782 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
40132 /* 112785 */ // (sext:{ *:[v8i16] } VK8:{ *:[v8i1] }:$src) => (VPMOVM2WZ128rk:{ *:[v8i16] } VK8:{ *:[v8i1] }:$src)
40133 /* 112785 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2WZ128rk),
40134 /* 112790 */ GIR_RootConstrainSelectedInstOperands,
40135 /* 112791 */ // GIR_Coverage, 12588,
40136 /* 112791 */ GIR_Done,
40137 /* 112792 */ // Label 2435: @112792
40138 /* 112792 */ GIM_Try, /*On fail goto*//*Label 2436*/ GIMT_Encode4(112828), // Rule ID 21661 //
40139 /* 112797 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX_NoBWI),
40140 /* 112800 */ // (sext:{ *:[v8i16] } VK8:{ *:[v8i1] }:$src) => (VPMOVDWZ256rr:{ *:[v8i16] } (VPMOVM2DZ256rk:{ *:[v8i32] } VK8:{ *:[v8i1] }:$src))
40141 /* 112800 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s32,
40142 /* 112803 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVM2DZ256rk),
40143 /* 112807 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
40144 /* 112812 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
40145 /* 112816 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
40146 /* 112818 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVDWZ256rr),
40147 /* 112821 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40148 /* 112823 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40149 /* 112826 */ GIR_RootConstrainSelectedInstOperands,
40150 /* 112827 */ // GIR_Coverage, 21661,
40151 /* 112827 */ GIR_EraseRootFromParent_Done,
40152 /* 112828 */ // Label 2436: @112828
40153 /* 112828 */ GIM_Reject,
40154 /* 112829 */ // Label 2434: @112829
40155 /* 112829 */ GIM_Reject,
40156 /* 112830 */ // Label 2412: @112830
40157 /* 112830 */ GIM_Try, /*On fail goto*//*Label 2437*/ GIMT_Encode4(112889), // Rule ID 18386 //
40158 /* 112835 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
40159 /* 112838 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
40160 /* 112841 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
40161 /* 112845 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40162 /* 112849 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40163 /* 112853 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40164 /* 112856 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40165 /* 112860 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40166 /* 112864 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40167 /* 112866 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40168 /* 112873 */ // (sext:{ *:[v8i32] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXWDYrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
40169 /* 112873 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWDYrm),
40170 /* 112876 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40171 /* 112878 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40172 /* 112882 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40173 /* 112887 */ GIR_RootConstrainSelectedInstOperands,
40174 /* 112888 */ // GIR_Coverage, 18386,
40175 /* 112888 */ GIR_EraseRootFromParent_Done,
40176 /* 112889 */ // Label 2437: @112889
40177 /* 112889 */ GIM_Try, /*On fail goto*//*Label 2438*/ GIMT_Encode4(112948), // Rule ID 21584 //
40178 /* 112894 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
40179 /* 112897 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
40180 /* 112900 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40181 /* 112904 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40182 /* 112908 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40183 /* 112912 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40184 /* 112915 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40185 /* 112919 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40186 /* 112923 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40187 /* 112925 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40188 /* 112932 */ // (sext:{ *:[v8i32] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXWDZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
40189 /* 112932 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWDZ256rm),
40190 /* 112935 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40191 /* 112937 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40192 /* 112941 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40193 /* 112946 */ GIR_RootConstrainSelectedInstOperands,
40194 /* 112947 */ // GIR_Coverage, 21584,
40195 /* 112947 */ GIR_EraseRootFromParent_Done,
40196 /* 112948 */ // Label 2438: @112948
40197 /* 112948 */ GIM_Try, /*On fail goto*//*Label 2439*/ GIMT_Encode4(112974), // Rule ID 12535 //
40198 /* 112953 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
40199 /* 112956 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
40200 /* 112959 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40201 /* 112963 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
40202 /* 112967 */ // (sext:{ *:[v8i32] } VR128X:{ *:[v8i16] }:$src) => (VPMOVSXWDZ256rr:{ *:[v8i32] } VR128X:{ *:[v8i16] }:$src)
40203 /* 112967 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWDZ256rr),
40204 /* 112972 */ GIR_RootConstrainSelectedInstOperands,
40205 /* 112973 */ // GIR_Coverage, 12535,
40206 /* 112973 */ GIR_Done,
40207 /* 112974 */ // Label 2439: @112974
40208 /* 112974 */ GIM_Try, /*On fail goto*//*Label 2440*/ GIMT_Encode4(113000), // Rule ID 12590 //
40209 /* 112979 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
40210 /* 112982 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
40211 /* 112985 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40212 /* 112989 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
40213 /* 112993 */ // (sext:{ *:[v8i32] } VK8:{ *:[v8i1] }:$src) => (VPMOVM2DZ256rk:{ *:[v8i32] } VK8:{ *:[v8i1] }:$src)
40214 /* 112993 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2DZ256rk),
40215 /* 112998 */ GIR_RootConstrainSelectedInstOperands,
40216 /* 112999 */ // GIR_Coverage, 12590,
40217 /* 112999 */ GIR_Done,
40218 /* 113000 */ // Label 2440: @113000
40219 /* 113000 */ GIM_Try, /*On fail goto*//*Label 2441*/ GIMT_Encode4(113026), // Rule ID 18376 //
40220 /* 113005 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
40221 /* 113008 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
40222 /* 113011 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
40223 /* 113015 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
40224 /* 113019 */ // (sext:{ *:[v8i32] } VR128:{ *:[v8i16] }:$src) => (VPMOVSXWDYrr:{ *:[v8i32] } VR128:{ *:[v8i16] }:$src)
40225 /* 113019 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWDYrr),
40226 /* 113024 */ GIR_RootConstrainSelectedInstOperands,
40227 /* 113025 */ // GIR_Coverage, 18376,
40228 /* 113025 */ GIR_Done,
40229 /* 113026 */ // Label 2441: @113026
40230 /* 113026 */ GIM_Reject,
40231 /* 113027 */ // Label 2413: @113027
40232 /* 113027 */ GIM_Try, /*On fail goto*//*Label 2442*/ GIMT_Encode4(113086), // Rule ID 21589 //
40233 /* 113032 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
40234 /* 113035 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
40235 /* 113038 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40236 /* 113042 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40237 /* 113046 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40238 /* 113050 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40239 /* 113053 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40240 /* 113057 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40241 /* 113061 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40242 /* 113063 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40243 /* 113070 */ // (sext:{ *:[v8i64] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXWQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
40244 /* 113070 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWQZrm),
40245 /* 113073 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40246 /* 113075 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40247 /* 113079 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40248 /* 113084 */ GIR_RootConstrainSelectedInstOperands,
40249 /* 113085 */ // GIR_Coverage, 21589,
40250 /* 113085 */ GIR_EraseRootFromParent_Done,
40251 /* 113086 */ // Label 2442: @113086
40252 /* 113086 */ GIM_Try, /*On fail goto*//*Label 2443*/ GIMT_Encode4(113145), // Rule ID 21590 //
40253 /* 113091 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
40254 /* 113094 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
40255 /* 113097 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40256 /* 113101 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40257 /* 113105 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40258 /* 113109 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40259 /* 113112 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40260 /* 113116 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40261 /* 113120 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40262 /* 113122 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40263 /* 113129 */ // (sext:{ *:[v8i64] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXDQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
40264 /* 113129 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXDQZrm),
40265 /* 113132 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40266 /* 113134 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40267 /* 113138 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40268 /* 113143 */ GIR_RootConstrainSelectedInstOperands,
40269 /* 113144 */ // GIR_Coverage, 21590,
40270 /* 113144 */ GIR_EraseRootFromParent_Done,
40271 /* 113145 */ // Label 2443: @113145
40272 /* 113145 */ GIM_Try, /*On fail goto*//*Label 2444*/ GIMT_Encode4(113171), // Rule ID 12559 //
40273 /* 113150 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
40274 /* 113153 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
40275 /* 113156 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40276 /* 113160 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
40277 /* 113164 */ // (sext:{ *:[v8i64] } VR128X:{ *:[v8i16] }:$src) => (VPMOVSXWQZrr:{ *:[v8i64] } VR128X:{ *:[v8i16] }:$src)
40278 /* 113164 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWQZrr),
40279 /* 113169 */ GIR_RootConstrainSelectedInstOperands,
40280 /* 113170 */ // GIR_Coverage, 12559,
40281 /* 113170 */ GIR_Done,
40282 /* 113171 */ // Label 2444: @113171
40283 /* 113171 */ GIM_Try, /*On fail goto*//*Label 2445*/ GIMT_Encode4(113197), // Rule ID 12577 //
40284 /* 113176 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
40285 /* 113179 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
40286 /* 113182 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40287 /* 113186 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40288 /* 113190 */ // (sext:{ *:[v8i64] } VR256X:{ *:[v8i32] }:$src) => (VPMOVSXDQZrr:{ *:[v8i64] } VR256X:{ *:[v8i32] }:$src)
40289 /* 113190 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXDQZrr),
40290 /* 113195 */ GIR_RootConstrainSelectedInstOperands,
40291 /* 113196 */ // GIR_Coverage, 12577,
40292 /* 113196 */ GIR_Done,
40293 /* 113197 */ // Label 2445: @113197
40294 /* 113197 */ GIM_Try, /*On fail goto*//*Label 2446*/ GIMT_Encode4(113223), // Rule ID 12592 //
40295 /* 113202 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
40296 /* 113205 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
40297 /* 113208 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40298 /* 113212 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
40299 /* 113216 */ // (sext:{ *:[v8i64] } VK8:{ *:[v8i1] }:$src) => (VPMOVM2QZrk:{ *:[v8i64] } VK8:{ *:[v8i1] }:$src)
40300 /* 113216 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2QZrk),
40301 /* 113221 */ GIR_RootConstrainSelectedInstOperands,
40302 /* 113222 */ // GIR_Coverage, 12592,
40303 /* 113222 */ GIR_Done,
40304 /* 113223 */ // Label 2446: @113223
40305 /* 113223 */ GIM_Reject,
40306 /* 113224 */ // Label 2414: @113224
40307 /* 113224 */ GIM_Try, /*On fail goto*//*Label 2447*/ GIMT_Encode4(113292),
40308 /* 113229 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
40309 /* 113232 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
40310 /* 113236 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
40311 /* 113240 */ GIM_Try, /*On fail goto*//*Label 2448*/ GIMT_Encode4(113255), // Rule ID 12585 //
40312 /* 113245 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
40313 /* 113248 */ // (sext:{ *:[v16i8] } VK16:{ *:[v16i1] }:$src) => (VPMOVM2BZ128rk:{ *:[v16i8] } VK16:{ *:[v16i1] }:$src)
40314 /* 113248 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2BZ128rk),
40315 /* 113253 */ GIR_RootConstrainSelectedInstOperands,
40316 /* 113254 */ // GIR_Coverage, 12585,
40317 /* 113254 */ GIR_Done,
40318 /* 113255 */ // Label 2448: @113255
40319 /* 113255 */ GIM_Try, /*On fail goto*//*Label 2449*/ GIMT_Encode4(113291), // Rule ID 21659 //
40320 /* 113260 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_NoBWI),
40321 /* 113263 */ // (sext:{ *:[v16i8] } VK16:{ *:[v16i1] }:$src) => (VPMOVDBZrr:{ *:[v16i8] } (VPMOVM2DZrk:{ *:[v16i32] } VK16:{ *:[v16i1] }:$src))
40322 /* 113263 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
40323 /* 113266 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVM2DZrk),
40324 /* 113270 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
40325 /* 113275 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
40326 /* 113279 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
40327 /* 113281 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVDBZrr),
40328 /* 113284 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40329 /* 113286 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40330 /* 113289 */ GIR_RootConstrainSelectedInstOperands,
40331 /* 113290 */ // GIR_Coverage, 21659,
40332 /* 113290 */ GIR_EraseRootFromParent_Done,
40333 /* 113291 */ // Label 2449: @113291
40334 /* 113291 */ GIM_Reject,
40335 /* 113292 */ // Label 2447: @113292
40336 /* 113292 */ GIM_Reject,
40337 /* 113293 */ // Label 2415: @113293
40338 /* 113293 */ GIM_Try, /*On fail goto*//*Label 2450*/ GIMT_Encode4(113352), // Rule ID 18380 //
40339 /* 113298 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
40340 /* 113301 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
40341 /* 113304 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
40342 /* 113308 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40343 /* 113312 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40344 /* 113316 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40345 /* 113319 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40346 /* 113323 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40347 /* 113327 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40348 /* 113329 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40349 /* 113336 */ // (sext:{ *:[v16i16] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXBWYrm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
40350 /* 113336 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBWYrm),
40351 /* 113339 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40352 /* 113341 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40353 /* 113345 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40354 /* 113350 */ GIR_RootConstrainSelectedInstOperands,
40355 /* 113351 */ // GIR_Coverage, 18380,
40356 /* 113351 */ GIR_EraseRootFromParent_Done,
40357 /* 113352 */ // Label 2450: @113352
40358 /* 113352 */ GIM_Try, /*On fail goto*//*Label 2451*/ GIMT_Encode4(113411), // Rule ID 21583 //
40359 /* 113357 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
40360 /* 113360 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
40361 /* 113363 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40362 /* 113367 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40363 /* 113371 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40364 /* 113375 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40365 /* 113378 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40366 /* 113382 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40367 /* 113386 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40368 /* 113388 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40369 /* 113395 */ // (sext:{ *:[v16i16] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXBWZ256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
40370 /* 113395 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBWZ256rm),
40371 /* 113398 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40372 /* 113400 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40373 /* 113404 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40374 /* 113409 */ GIR_RootConstrainSelectedInstOperands,
40375 /* 113410 */ // GIR_Coverage, 21583,
40376 /* 113410 */ GIR_EraseRootFromParent_Done,
40377 /* 113411 */ // Label 2451: @113411
40378 /* 113411 */ GIM_Try, /*On fail goto*//*Label 2452*/ GIMT_Encode4(113437), // Rule ID 12481 //
40379 /* 113416 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
40380 /* 113419 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
40381 /* 113422 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40382 /* 113426 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
40383 /* 113430 */ // (sext:{ *:[v16i16] } VR128X:{ *:[v16i8] }:$src) => (VPMOVSXBWZ256rr:{ *:[v16i16] } VR128X:{ *:[v16i8] }:$src)
40384 /* 113430 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBWZ256rr),
40385 /* 113435 */ GIR_RootConstrainSelectedInstOperands,
40386 /* 113436 */ // GIR_Coverage, 12481,
40387 /* 113436 */ GIR_Done,
40388 /* 113437 */ // Label 2452: @113437
40389 /* 113437 */ GIM_Try, /*On fail goto*//*Label 2453*/ GIMT_Encode4(113463), // Rule ID 12587 //
40390 /* 113442 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
40391 /* 113445 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
40392 /* 113448 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40393 /* 113452 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
40394 /* 113456 */ // (sext:{ *:[v16i16] } VK16:{ *:[v16i1] }:$src) => (VPMOVM2WZ256rk:{ *:[v16i16] } VK16:{ *:[v16i1] }:$src)
40395 /* 113456 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2WZ256rk),
40396 /* 113461 */ GIR_RootConstrainSelectedInstOperands,
40397 /* 113462 */ // GIR_Coverage, 12587,
40398 /* 113462 */ GIR_Done,
40399 /* 113463 */ // Label 2453: @113463
40400 /* 113463 */ GIM_Try, /*On fail goto*//*Label 2454*/ GIMT_Encode4(113489), // Rule ID 18373 //
40401 /* 113468 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
40402 /* 113471 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
40403 /* 113474 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
40404 /* 113478 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
40405 /* 113482 */ // (sext:{ *:[v16i16] } VR128:{ *:[v16i8] }:$src) => (VPMOVSXBWYrr:{ *:[v16i16] } VR128:{ *:[v16i8] }:$src)
40406 /* 113482 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBWYrr),
40407 /* 113487 */ GIR_RootConstrainSelectedInstOperands,
40408 /* 113488 */ // GIR_Coverage, 18373,
40409 /* 113488 */ GIR_Done,
40410 /* 113489 */ // Label 2454: @113489
40411 /* 113489 */ GIM_Try, /*On fail goto*//*Label 2455*/ GIMT_Encode4(113536), // Rule ID 21660 //
40412 /* 113494 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_NoBWI),
40413 /* 113497 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
40414 /* 113500 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40415 /* 113504 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
40416 /* 113508 */ // (sext:{ *:[v16i16] } VK16:{ *:[v16i1] }:$src) => (VPMOVDWZrr:{ *:[v16i16] } (VPMOVM2DZrk:{ *:[v16i32] } VK16:{ *:[v16i1] }:$src))
40417 /* 113508 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
40418 /* 113511 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVM2DZrk),
40419 /* 113515 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
40420 /* 113520 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
40421 /* 113524 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
40422 /* 113526 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVDWZrr),
40423 /* 113529 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40424 /* 113531 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40425 /* 113534 */ GIR_RootConstrainSelectedInstOperands,
40426 /* 113535 */ // GIR_Coverage, 21660,
40427 /* 113535 */ GIR_EraseRootFromParent_Done,
40428 /* 113536 */ // Label 2455: @113536
40429 /* 113536 */ GIM_Reject,
40430 /* 113537 */ // Label 2416: @113537
40431 /* 113537 */ GIM_Try, /*On fail goto*//*Label 2456*/ GIMT_Encode4(113596), // Rule ID 21587 //
40432 /* 113542 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
40433 /* 113545 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
40434 /* 113548 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40435 /* 113552 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40436 /* 113556 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40437 /* 113560 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40438 /* 113563 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40439 /* 113567 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40440 /* 113571 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40441 /* 113573 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40442 /* 113580 */ // (sext:{ *:[v16i32] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXBDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
40443 /* 113580 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBDZrm),
40444 /* 113583 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40445 /* 113585 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40446 /* 113589 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40447 /* 113594 */ GIR_RootConstrainSelectedInstOperands,
40448 /* 113595 */ // GIR_Coverage, 21587,
40449 /* 113595 */ GIR_EraseRootFromParent_Done,
40450 /* 113596 */ // Label 2456: @113596
40451 /* 113596 */ GIM_Try, /*On fail goto*//*Label 2457*/ GIMT_Encode4(113655), // Rule ID 21588 //
40452 /* 113601 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
40453 /* 113604 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
40454 /* 113607 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40455 /* 113611 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40456 /* 113615 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40457 /* 113619 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40458 /* 113622 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40459 /* 113626 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40460 /* 113630 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40461 /* 113632 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40462 /* 113639 */ // (sext:{ *:[v16i32] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXWDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
40463 /* 113639 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWDZrm),
40464 /* 113642 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40465 /* 113644 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40466 /* 113648 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40467 /* 113653 */ GIR_RootConstrainSelectedInstOperands,
40468 /* 113654 */ // GIR_Coverage, 21588,
40469 /* 113654 */ GIR_EraseRootFromParent_Done,
40470 /* 113655 */ // Label 2457: @113655
40471 /* 113655 */ GIM_Try, /*On fail goto*//*Label 2458*/ GIMT_Encode4(113681), // Rule ID 12505 //
40472 /* 113660 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
40473 /* 113663 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
40474 /* 113666 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40475 /* 113670 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
40476 /* 113674 */ // (sext:{ *:[v16i32] } VR128X:{ *:[v16i8] }:$src) => (VPMOVSXBDZrr:{ *:[v16i32] } VR128X:{ *:[v16i8] }:$src)
40477 /* 113674 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBDZrr),
40478 /* 113679 */ GIR_RootConstrainSelectedInstOperands,
40479 /* 113680 */ // GIR_Coverage, 12505,
40480 /* 113680 */ GIR_Done,
40481 /* 113681 */ // Label 2458: @113681
40482 /* 113681 */ GIM_Try, /*On fail goto*//*Label 2459*/ GIMT_Encode4(113707), // Rule ID 12541 //
40483 /* 113686 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
40484 /* 113689 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
40485 /* 113692 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40486 /* 113696 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40487 /* 113700 */ // (sext:{ *:[v16i32] } VR256X:{ *:[v16i16] }:$src) => (VPMOVSXWDZrr:{ *:[v16i32] } VR256X:{ *:[v16i16] }:$src)
40488 /* 113700 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWDZrr),
40489 /* 113705 */ GIR_RootConstrainSelectedInstOperands,
40490 /* 113706 */ // GIR_Coverage, 12541,
40491 /* 113706 */ GIR_Done,
40492 /* 113707 */ // Label 2459: @113707
40493 /* 113707 */ GIM_Try, /*On fail goto*//*Label 2460*/ GIMT_Encode4(113733), // Rule ID 12589 //
40494 /* 113712 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
40495 /* 113715 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
40496 /* 113718 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40497 /* 113722 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
40498 /* 113726 */ // (sext:{ *:[v16i32] } VK16:{ *:[v16i1] }:$src) => (VPMOVM2DZrk:{ *:[v16i32] } VK16:{ *:[v16i1] }:$src)
40499 /* 113726 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2DZrk),
40500 /* 113731 */ GIR_RootConstrainSelectedInstOperands,
40501 /* 113732 */ // GIR_Coverage, 12589,
40502 /* 113732 */ GIR_Done,
40503 /* 113733 */ // Label 2460: @113733
40504 /* 113733 */ GIM_Reject,
40505 /* 113734 */ // Label 2417: @113734
40506 /* 113734 */ GIM_Try, /*On fail goto*//*Label 2461*/ GIMT_Encode4(113760), // Rule ID 12584 //
40507 /* 113739 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
40508 /* 113742 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
40509 /* 113745 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40510 /* 113749 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
40511 /* 113753 */ // (sext:{ *:[v32i8] } VK32:{ *:[v32i1] }:$src) => (VPMOVM2BZ256rk:{ *:[v32i8] } VK32:{ *:[v32i1] }:$src)
40512 /* 113753 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2BZ256rk),
40513 /* 113758 */ GIR_RootConstrainSelectedInstOperands,
40514 /* 113759 */ // GIR_Coverage, 12584,
40515 /* 113759 */ GIR_Done,
40516 /* 113760 */ // Label 2461: @113760
40517 /* 113760 */ GIM_Reject,
40518 /* 113761 */ // Label 2418: @113761
40519 /* 113761 */ GIM_Try, /*On fail goto*//*Label 2462*/ GIMT_Encode4(113820), // Rule ID 21586 //
40520 /* 113766 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
40521 /* 113769 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
40522 /* 113772 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40523 /* 113776 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40524 /* 113780 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40525 /* 113784 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40526 /* 113787 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40527 /* 113791 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40528 /* 113795 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40529 /* 113797 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40530 /* 113804 */ // (sext:{ *:[v32i16] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXBWZrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)
40531 /* 113804 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBWZrm),
40532 /* 113807 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40533 /* 113809 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40534 /* 113813 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40535 /* 113818 */ GIR_RootConstrainSelectedInstOperands,
40536 /* 113819 */ // GIR_Coverage, 21586,
40537 /* 113819 */ GIR_EraseRootFromParent_Done,
40538 /* 113820 */ // Label 2462: @113820
40539 /* 113820 */ GIM_Try, /*On fail goto*//*Label 2463*/ GIMT_Encode4(113846), // Rule ID 12487 //
40540 /* 113825 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
40541 /* 113828 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
40542 /* 113831 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40543 /* 113835 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40544 /* 113839 */ // (sext:{ *:[v32i16] } VR256X:{ *:[v32i8] }:$src) => (VPMOVSXBWZrr:{ *:[v32i16] } VR256X:{ *:[v32i8] }:$src)
40545 /* 113839 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBWZrr),
40546 /* 113844 */ GIR_RootConstrainSelectedInstOperands,
40547 /* 113845 */ // GIR_Coverage, 12487,
40548 /* 113845 */ GIR_Done,
40549 /* 113846 */ // Label 2463: @113846
40550 /* 113846 */ GIM_Try, /*On fail goto*//*Label 2464*/ GIMT_Encode4(113872), // Rule ID 12586 //
40551 /* 113851 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
40552 /* 113854 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
40553 /* 113857 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40554 /* 113861 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
40555 /* 113865 */ // (sext:{ *:[v32i16] } VK32:{ *:[v32i1] }:$src) => (VPMOVM2WZrk:{ *:[v32i16] } VK32:{ *:[v32i1] }:$src)
40556 /* 113865 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2WZrk),
40557 /* 113870 */ GIR_RootConstrainSelectedInstOperands,
40558 /* 113871 */ // GIR_Coverage, 12586,
40559 /* 113871 */ GIR_Done,
40560 /* 113872 */ // Label 2464: @113872
40561 /* 113872 */ GIM_Reject,
40562 /* 113873 */ // Label 2419: @113873
40563 /* 113873 */ GIM_Try, /*On fail goto*//*Label 2465*/ GIMT_Encode4(113899), // Rule ID 12583 //
40564 /* 113878 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
40565 /* 113881 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
40566 /* 113884 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40567 /* 113888 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
40568 /* 113892 */ // (sext:{ *:[v64i8] } VK64:{ *:[v64i1] }:$src) => (VPMOVM2BZrk:{ *:[v64i8] } VK64:{ *:[v64i1] }:$src)
40569 /* 113892 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2BZrk),
40570 /* 113897 */ GIR_RootConstrainSelectedInstOperands,
40571 /* 113898 */ // GIR_Coverage, 12583,
40572 /* 113898 */ GIR_Done,
40573 /* 113899 */ // Label 2465: @113899
40574 /* 113899 */ GIM_Reject,
40575 /* 113900 */ // Label 2420: @113900
40576 /* 113900 */ GIM_Reject,
40577 /* 113901 */ // Label 24: @113901
40578 /* 113901 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(4), /*)*//*default:*//*Label 2468*/ GIMT_Encode4(114142),
40579 /* 113912 */ /*GILLT_s16*//*Label 2466*/ GIMT_Encode4(113920),
40580 /* 113916 */ /*GILLT_s32*//*Label 2467*/ GIMT_Encode4(114016),
40581 /* 113920 */ // Label 2466: @113920
40582 /* 113920 */ GIM_Try, /*On fail goto*//*Label 2469*/ GIMT_Encode4(114015), // Rule ID 22643 //
40583 /* 113925 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
40584 /* 113928 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
40585 /* 113932 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
40586 /* 113936 */ // MIs[0] Operand 2
40587 /* 113936 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(8),
40588 /* 113947 */ // (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] })
40589 /* 113947 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s8,
40590 /* 113950 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40591 /* 113954 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
40592 /* 113959 */ GIR_CopySubReg, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // src
40593 /* 113965 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
40594 /* 113970 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
40595 /* 113975 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
40596 /* 113978 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVSX32rr8),
40597 /* 113982 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
40598 /* 113987 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40599 /* 113990 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
40600 /* 113992 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40601 /* 113995 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40602 /* 113997 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
40603 /* 114004 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
40604 /* 114009 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
40605 /* 114014 */ // GIR_Coverage, 22643,
40606 /* 114014 */ GIR_EraseRootFromParent_Done,
40607 /* 114015 */ // Label 2469: @114015
40608 /* 114015 */ GIM_Reject,
40609 /* 114016 */ // Label 2467: @114016
40610 /* 114016 */ GIM_Try, /*On fail goto*//*Label 2470*/ GIMT_Encode4(114141),
40611 /* 114021 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
40612 /* 114024 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40613 /* 114028 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40614 /* 114032 */ GIM_Try, /*On fail goto*//*Label 2471*/ GIMT_Encode4(114086), // Rule ID 22641 //
40615 /* 114037 */ // MIs[0] Operand 2
40616 /* 114037 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(16),
40617 /* 114048 */ // (sext_inreg:{ *:[i32] } GR32:{ *:[i32] }:$src, i16:{ *:[Other] }) => (MOVSX32rr16:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i16] } GR32:{ *:[i32] }:$src, sub_16bit:{ *:[i32] }))
40618 /* 114048 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
40619 /* 114051 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40620 /* 114055 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
40621 /* 114060 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(4), // src
40622 /* 114066 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
40623 /* 114071 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
40624 /* 114076 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX32rr16),
40625 /* 114079 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40626 /* 114081 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40627 /* 114084 */ GIR_RootConstrainSelectedInstOperands,
40628 /* 114085 */ // GIR_Coverage, 22641,
40629 /* 114085 */ GIR_EraseRootFromParent_Done,
40630 /* 114086 */ // Label 2471: @114086
40631 /* 114086 */ GIM_Try, /*On fail goto*//*Label 2472*/ GIMT_Encode4(114140), // Rule ID 22642 //
40632 /* 114091 */ // MIs[0] Operand 2
40633 /* 114091 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(8),
40634 /* 114102 */ // (sext_inreg:{ *:[i32] } GR32:{ *:[i32] }:$src, i8:{ *:[Other] }) => (MOVSX32rr8:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i8] } GR32:{ *:[i32] }:$src, sub_8bit:{ *:[i32] }))
40635 /* 114102 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s8,
40636 /* 114105 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40637 /* 114109 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
40638 /* 114114 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // src
40639 /* 114120 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
40640 /* 114125 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
40641 /* 114130 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX32rr8),
40642 /* 114133 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40643 /* 114135 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40644 /* 114138 */ GIR_RootConstrainSelectedInstOperands,
40645 /* 114139 */ // GIR_Coverage, 22642,
40646 /* 114139 */ GIR_EraseRootFromParent_Done,
40647 /* 114140 */ // Label 2472: @114140
40648 /* 114140 */ GIM_Reject,
40649 /* 114141 */ // Label 2470: @114141
40650 /* 114141 */ GIM_Reject,
40651 /* 114142 */ // Label 2468: @114142
40652 /* 114142 */ GIM_Reject,
40653 /* 114143 */ // Label 25: @114143
40654 /* 114143 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 2482*/ GIMT_Encode4(116126),
40655 /* 114154 */ /*GILLT_s16*//*Label 2473*/ GIMT_Encode4(114238),
40656 /* 114158 */ /*GILLT_s32*//*Label 2474*/ GIMT_Encode4(114296),
40657 /* 114162 */ /*GILLT_s64*//*Label 2475*/ GIMT_Encode4(114648), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
40658 /* 114190 */ /*GILLT_v4s64*//*Label 2476*/ GIMT_Encode4(115195), GIMT_Encode4(0), GIMT_Encode4(0),
40659 /* 114202 */ /*GILLT_v8s32*//*Label 2477*/ GIMT_Encode4(115363),
40660 /* 114206 */ /*GILLT_v8s64*//*Label 2478*/ GIMT_Encode4(115531), GIMT_Encode4(0), GIMT_Encode4(0),
40661 /* 114218 */ /*GILLT_v16s16*//*Label 2479*/ GIMT_Encode4(115702),
40662 /* 114222 */ /*GILLT_v16s32*//*Label 2480*/ GIMT_Encode4(115870), GIMT_Encode4(0), GIMT_Encode4(0),
40663 /* 114234 */ /*GILLT_v32s16*//*Label 2481*/ GIMT_Encode4(116041),
40664 /* 114238 */ // Label 2473: @114238
40665 /* 114238 */ GIM_Try, /*On fail goto*//*Label 2483*/ GIMT_Encode4(114295), // Rule ID 22649 //
40666 /* 114243 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
40667 /* 114246 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
40668 /* 114250 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40669 /* 114254 */ // (zext:{ *:[i16] } GR8:{ *:[i8] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (MOVZX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src), sub_16bit:{ *:[i32] })
40670 /* 114254 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
40671 /* 114257 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
40672 /* 114261 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
40673 /* 114266 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
40674 /* 114270 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
40675 /* 114272 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40676 /* 114275 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40677 /* 114277 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
40678 /* 114284 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
40679 /* 114289 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
40680 /* 114294 */ // GIR_Coverage, 22649,
40681 /* 114294 */ GIR_EraseRootFromParent_Done,
40682 /* 114295 */ // Label 2483: @114295
40683 /* 114295 */ GIM_Reject,
40684 /* 114296 */ // Label 2474: @114296
40685 /* 114296 */ GIM_Try, /*On fail goto*//*Label 2484*/ GIMT_Encode4(114419), // Rule ID 22973 //
40686 /* 114301 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasZU),
40687 /* 114304 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
40688 /* 114307 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
40689 /* 114311 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40690 /* 114315 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
40691 /* 114319 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
40692 /* 114323 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
40693 /* 114327 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
40694 /* 114331 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
40695 /* 114335 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40696 /* 114338 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
40697 /* 114342 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
40698 /* 114346 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
40699 /* 114350 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40700 /* 114354 */ // MIs[3] Operand 1
40701 /* 114354 */ // No operand predicates
40702 /* 114354 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
40703 /* 114356 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40704 /* 114363 */ // (zext:{ *:[i32] } (mul:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, (imm:{ *:[i16] }):$src2)) => (SUBREG_TO_REG:{ *:[i32] } 0:{ *:[i32] }, (IMULZU16rmi:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i16] }):$src2), sub_16bit:{ *:[i32] })
40705 /* 114363 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
40706 /* 114366 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::IMULZU16rmi),
40707 /* 114370 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
40708 /* 114375 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src1
40709 /* 114379 */ GIR_CopyConstantAsSImm, /*NewInsnID*/1, /*OldInsnID*/3, // src2
40710 /* 114382 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
40711 /* 114385 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
40712 /* 114392 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
40713 /* 114394 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
40714 /* 114397 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40715 /* 114399 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
40716 /* 114402 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40717 /* 114405 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/4,
40718 /* 114408 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
40719 /* 114413 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
40720 /* 114418 */ // GIR_Coverage, 22973,
40721 /* 114418 */ GIR_EraseRootFromParent_Done,
40722 /* 114419 */ // Label 2484: @114419
40723 /* 114419 */ GIM_Try, /*On fail goto*//*Label 2485*/ GIMT_Encode4(114514), // Rule ID 22972 //
40724 /* 114424 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasZU),
40725 /* 114427 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
40726 /* 114430 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
40727 /* 114434 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40728 /* 114438 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
40729 /* 114442 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
40730 /* 114446 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
40731 /* 114450 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
40732 /* 114455 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
40733 /* 114459 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40734 /* 114463 */ // MIs[2] Operand 1
40735 /* 114463 */ // No operand predicates
40736 /* 114463 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
40737 /* 114465 */ // (zext:{ *:[i32] } (mul:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)) => (SUBREG_TO_REG:{ *:[i32] } 0:{ *:[i32] }, (IMULZU16rri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2), sub_16bit:{ *:[i32] })
40738 /* 114465 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
40739 /* 114468 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::IMULZU16rri),
40740 /* 114472 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
40741 /* 114477 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/1, // src1
40742 /* 114481 */ GIR_CopyConstantAsSImm, /*NewInsnID*/1, /*OldInsnID*/2, // src2
40743 /* 114484 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
40744 /* 114487 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
40745 /* 114489 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
40746 /* 114492 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40747 /* 114494 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
40748 /* 114497 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40749 /* 114500 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/4,
40750 /* 114503 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
40751 /* 114508 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
40752 /* 114513 */ // GIR_Coverage, 22972,
40753 /* 114513 */ GIR_EraseRootFromParent_Done,
40754 /* 114514 */ // Label 2485: @114514
40755 /* 114514 */ GIM_Try, /*On fail goto*//*Label 2486*/ GIMT_Encode4(114556), // Rule ID 19435 //
40756 /* 114519 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
40757 /* 114522 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40758 /* 114526 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40759 /* 114530 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
40760 /* 114534 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
40761 /* 114538 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
40762 /* 114543 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40763 /* 114545 */ // (zext:{ *:[i32] } (bitconvert:{ *:[i16] } VK16:{ *:[v16i1] }:$src)) => (KMOVWrk:{ *:[i32] } VK16:{ *:[v16i1] }:$src)
40764 /* 114545 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVWrk),
40765 /* 114548 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40766 /* 114550 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
40767 /* 114554 */ GIR_RootConstrainSelectedInstOperands,
40768 /* 114555 */ // GIR_Coverage, 19435,
40769 /* 114555 */ GIR_EraseRootFromParent_Done,
40770 /* 114556 */ // Label 2486: @114556
40771 /* 114556 */ GIM_Try, /*On fail goto*//*Label 2487*/ GIMT_Encode4(114601), // Rule ID 19438 //
40772 /* 114561 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
40773 /* 114564 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
40774 /* 114567 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40775 /* 114571 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40776 /* 114575 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
40777 /* 114579 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
40778 /* 114583 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
40779 /* 114588 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40780 /* 114590 */ // (zext:{ *:[i32] } (bitconvert:{ *:[i8] } VK8:{ *:[v8i1] }:$src)) => (KMOVBrk:{ *:[i32] } VK8:{ *:[v8i1] }:$src)
40781 /* 114590 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVBrk),
40782 /* 114593 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40783 /* 114595 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
40784 /* 114599 */ GIR_RootConstrainSelectedInstOperands,
40785 /* 114600 */ // GIR_Coverage, 19438,
40786 /* 114600 */ GIR_EraseRootFromParent_Done,
40787 /* 114601 */ // Label 2487: @114601
40788 /* 114601 */ GIM_Try, /*On fail goto*//*Label 2488*/ GIMT_Encode4(114624), // Rule ID 618 //
40789 /* 114606 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
40790 /* 114609 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40791 /* 114613 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40792 /* 114617 */ // (zext:{ *:[i32] } GR8:{ *:[i8] }:$src) => (MOVZX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src)
40793 /* 114617 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
40794 /* 114622 */ GIR_RootConstrainSelectedInstOperands,
40795 /* 114623 */ // GIR_Coverage, 618,
40796 /* 114623 */ GIR_Done,
40797 /* 114624 */ // Label 2488: @114624
40798 /* 114624 */ GIM_Try, /*On fail goto*//*Label 2489*/ GIMT_Encode4(114647), // Rule ID 620 //
40799 /* 114629 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
40800 /* 114632 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40801 /* 114636 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
40802 /* 114640 */ // (zext:{ *:[i32] } GR16:{ *:[i16] }:$src) => (MOVZX32rr16:{ *:[i32] } GR16:{ *:[i16] }:$src)
40803 /* 114640 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr16),
40804 /* 114645 */ GIR_RootConstrainSelectedInstOperands,
40805 /* 114646 */ // GIR_Coverage, 620,
40806 /* 114646 */ GIR_Done,
40807 /* 114647 */ // Label 2489: @114647
40808 /* 114647 */ GIM_Reject,
40809 /* 114648 */ // Label 2475: @114648
40810 /* 114648 */ GIM_Try, /*On fail goto*//*Label 2490*/ GIMT_Encode4(114771), // Rule ID 22975 //
40811 /* 114653 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasZU),
40812 /* 114656 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
40813 /* 114659 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
40814 /* 114663 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40815 /* 114667 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
40816 /* 114671 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
40817 /* 114675 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
40818 /* 114679 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
40819 /* 114683 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
40820 /* 114687 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40821 /* 114690 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
40822 /* 114694 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
40823 /* 114698 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
40824 /* 114702 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40825 /* 114706 */ // MIs[3] Operand 1
40826 /* 114706 */ // No operand predicates
40827 /* 114706 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
40828 /* 114708 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40829 /* 114715 */ // (zext:{ *:[i64] } (mul:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, (imm:{ *:[i16] }):$src2)) => (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (IMULZU16rmi:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i16] }):$src2), sub_16bit:{ *:[i32] })
40830 /* 114715 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
40831 /* 114718 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::IMULZU16rmi),
40832 /* 114722 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
40833 /* 114727 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src1
40834 /* 114731 */ GIR_CopyConstantAsSImm, /*NewInsnID*/1, /*OldInsnID*/3, // src2
40835 /* 114734 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
40836 /* 114737 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
40837 /* 114744 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
40838 /* 114746 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
40839 /* 114749 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40840 /* 114751 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
40841 /* 114754 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40842 /* 114757 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/4,
40843 /* 114760 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
40844 /* 114765 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
40845 /* 114770 */ // GIR_Coverage, 22975,
40846 /* 114770 */ GIR_EraseRootFromParent_Done,
40847 /* 114771 */ // Label 2490: @114771
40848 /* 114771 */ GIM_Try, /*On fail goto*//*Label 2491*/ GIMT_Encode4(114866), // Rule ID 22974 //
40849 /* 114776 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasZU),
40850 /* 114779 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
40851 /* 114782 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
40852 /* 114786 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40853 /* 114790 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
40854 /* 114794 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
40855 /* 114798 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
40856 /* 114802 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
40857 /* 114807 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
40858 /* 114811 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40859 /* 114815 */ // MIs[2] Operand 1
40860 /* 114815 */ // No operand predicates
40861 /* 114815 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
40862 /* 114817 */ // (zext:{ *:[i64] } (mul:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)) => (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (IMULZU16rri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2), sub_16bit:{ *:[i32] })
40863 /* 114817 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
40864 /* 114820 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::IMULZU16rri),
40865 /* 114824 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
40866 /* 114829 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/1, // src1
40867 /* 114833 */ GIR_CopyConstantAsSImm, /*NewInsnID*/1, /*OldInsnID*/2, // src2
40868 /* 114836 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
40869 /* 114839 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
40870 /* 114841 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
40871 /* 114844 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40872 /* 114846 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
40873 /* 114849 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40874 /* 114852 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/4,
40875 /* 114855 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
40876 /* 114860 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
40877 /* 114865 */ // GIR_Coverage, 22974,
40878 /* 114865 */ GIR_EraseRootFromParent_Done,
40879 /* 114866 */ // Label 2491: @114866
40880 /* 114866 */ GIM_Try, /*On fail goto*//*Label 2492*/ GIMT_Encode4(114940), // Rule ID 19436 //
40881 /* 114871 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
40882 /* 114874 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
40883 /* 114878 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40884 /* 114882 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
40885 /* 114886 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
40886 /* 114890 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
40887 /* 114895 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40888 /* 114897 */ // (zext:{ *:[i64] } (bitconvert:{ *:[i16] } VK16:{ *:[v16i1] }:$src)) => (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (KMOVWrk:{ *:[i32] } VK16:{ *:[v16i1] }:$src), sub_32bit:{ *:[i32] })
40889 /* 114897 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
40890 /* 114900 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVWrk),
40891 /* 114904 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
40892 /* 114909 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/1, // src
40893 /* 114913 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
40894 /* 114915 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
40895 /* 114918 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40896 /* 114920 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
40897 /* 114923 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40898 /* 114926 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
40899 /* 114929 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
40900 /* 114934 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR32RegClassID),
40901 /* 114939 */ // GIR_Coverage, 19436,
40902 /* 114939 */ GIR_EraseRootFromParent_Done,
40903 /* 114940 */ // Label 2492: @114940
40904 /* 114940 */ GIM_Try, /*On fail goto*//*Label 2493*/ GIMT_Encode4(115017), // Rule ID 19439 //
40905 /* 114945 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
40906 /* 114948 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
40907 /* 114951 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
40908 /* 114955 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40909 /* 114959 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
40910 /* 114963 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
40911 /* 114967 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
40912 /* 114972 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40913 /* 114974 */ // (zext:{ *:[i64] } (bitconvert:{ *:[i8] } VK8:{ *:[v8i1] }:$src)) => (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (KMOVBrk:{ *:[i32] } VK8:{ *:[v8i1] }:$src), sub_32bit:{ *:[i32] })
40914 /* 114974 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
40915 /* 114977 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVBrk),
40916 /* 114981 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
40917 /* 114986 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/1, // src
40918 /* 114990 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
40919 /* 114992 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
40920 /* 114995 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40921 /* 114997 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
40922 /* 115000 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40923 /* 115003 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
40924 /* 115006 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
40925 /* 115011 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR32RegClassID),
40926 /* 115016 */ // GIR_Coverage, 19439,
40927 /* 115016 */ GIR_EraseRootFromParent_Done,
40928 /* 115017 */ // Label 2493: @115017
40929 /* 115017 */ GIM_Try, /*On fail goto*//*Label 2494*/ GIMT_Encode4(115076), // Rule ID 17590 //
40930 /* 115022 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
40931 /* 115025 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
40932 /* 115029 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40933 /* 115033 */ // (zext:{ *:[i64] } GR8:{ *:[i8] }:$src) => (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (MOVZX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src), sub_32bit:{ *:[i32] })
40934 /* 115033 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
40935 /* 115036 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
40936 /* 115040 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
40937 /* 115045 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
40938 /* 115049 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
40939 /* 115051 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
40940 /* 115054 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40941 /* 115056 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
40942 /* 115059 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40943 /* 115062 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
40944 /* 115065 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
40945 /* 115070 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR32RegClassID),
40946 /* 115075 */ // GIR_Coverage, 17590,
40947 /* 115075 */ GIR_EraseRootFromParent_Done,
40948 /* 115076 */ // Label 2494: @115076
40949 /* 115076 */ GIM_Try, /*On fail goto*//*Label 2495*/ GIMT_Encode4(115135), // Rule ID 17592 //
40950 /* 115081 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
40951 /* 115084 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
40952 /* 115088 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
40953 /* 115092 */ // (zext:{ *:[i64] } GR16:{ *:[i16] }:$src) => (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (MOVZX32rr16:{ *:[i32] } GR16:{ *:[i16] }:$src), sub_32bit:{ *:[i32] })
40954 /* 115092 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
40955 /* 115095 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr16),
40956 /* 115099 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
40957 /* 115104 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
40958 /* 115108 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
40959 /* 115110 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
40960 /* 115113 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40961 /* 115115 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
40962 /* 115118 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40963 /* 115121 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
40964 /* 115124 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
40965 /* 115129 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR32RegClassID),
40966 /* 115134 */ // GIR_Coverage, 17592,
40967 /* 115134 */ GIR_EraseRootFromParent_Done,
40968 /* 115135 */ // Label 2495: @115135
40969 /* 115135 */ GIM_Try, /*On fail goto*//*Label 2496*/ GIMT_Encode4(115194), // Rule ID 17594 //
40970 /* 115140 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
40971 /* 115143 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
40972 /* 115147 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40973 /* 115151 */ // (zext:{ *:[i64] } GR32:{ *:[i32] }:$src) => (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (MOV32rr:{ *:[i32] } GR32:{ *:[i32] }:$src), sub_32bit:{ *:[i32] })
40974 /* 115151 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
40975 /* 115154 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32rr),
40976 /* 115158 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
40977 /* 115163 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
40978 /* 115167 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
40979 /* 115169 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
40980 /* 115172 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40981 /* 115174 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
40982 /* 115177 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40983 /* 115180 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
40984 /* 115183 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
40985 /* 115188 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR32RegClassID),
40986 /* 115193 */ // GIR_Coverage, 17594,
40987 /* 115193 */ GIR_EraseRootFromParent_Done,
40988 /* 115194 */ // Label 2496: @115194
40989 /* 115194 */ GIM_Reject,
40990 /* 115195 */ // Label 2476: @115195
40991 /* 115195 */ GIM_Try, /*On fail goto*//*Label 2497*/ GIMT_Encode4(115362),
40992 /* 115200 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
40993 /* 115203 */ GIM_Try, /*On fail goto*//*Label 2498*/ GIMT_Encode4(115259), // Rule ID 18413 //
40994 /* 115208 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
40995 /* 115211 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
40996 /* 115215 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40997 /* 115219 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40998 /* 115223 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40999 /* 115226 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41000 /* 115230 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41001 /* 115234 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41002 /* 115236 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41003 /* 115243 */ // (zext:{ *:[v4i64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXDQYrm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
41004 /* 115243 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXDQYrm),
41005 /* 115246 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41006 /* 115248 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
41007 /* 115252 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41008 /* 115257 */ GIR_RootConstrainSelectedInstOperands,
41009 /* 115258 */ // GIR_Coverage, 18413,
41010 /* 115258 */ GIR_EraseRootFromParent_Done,
41011 /* 115259 */ // Label 2498: @115259
41012 /* 115259 */ GIM_Try, /*On fail goto*//*Label 2499*/ GIMT_Encode4(115315), // Rule ID 21618 //
41013 /* 115264 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
41014 /* 115267 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
41015 /* 115271 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41016 /* 115275 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41017 /* 115279 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41018 /* 115282 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41019 /* 115286 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41020 /* 115290 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41021 /* 115292 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41022 /* 115299 */ // (zext:{ *:[v4i64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXDQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
41023 /* 115299 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXDQZ256rm),
41024 /* 115302 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41025 /* 115304 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
41026 /* 115308 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41027 /* 115313 */ GIR_RootConstrainSelectedInstOperands,
41028 /* 115314 */ // GIR_Coverage, 21618,
41029 /* 115314 */ GIR_EraseRootFromParent_Done,
41030 /* 115315 */ // Label 2499: @115315
41031 /* 115315 */ GIM_Try, /*On fail goto*//*Label 2500*/ GIMT_Encode4(115338), // Rule ID 12463 //
41032 /* 115320 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
41033 /* 115323 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
41034 /* 115327 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
41035 /* 115331 */ // (zext:{ *:[v4i64] } VR128X:{ *:[v4i32] }:$src) => (VPMOVZXDQZ256rr:{ *:[v4i64] } VR128X:{ *:[v4i32] }:$src)
41036 /* 115331 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXDQZ256rr),
41037 /* 115336 */ GIR_RootConstrainSelectedInstOperands,
41038 /* 115337 */ // GIR_Coverage, 12463,
41039 /* 115337 */ GIR_Done,
41040 /* 115338 */ // Label 2500: @115338
41041 /* 115338 */ GIM_Try, /*On fail goto*//*Label 2501*/ GIMT_Encode4(115361), // Rule ID 18401 //
41042 /* 115343 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
41043 /* 115346 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
41044 /* 115350 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
41045 /* 115354 */ // (zext:{ *:[v4i64] } VR128:{ *:[v4i32] }:$src) => (VPMOVZXDQYrr:{ *:[v4i64] } VR128:{ *:[v4i32] }:$src)
41046 /* 115354 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXDQYrr),
41047 /* 115359 */ GIR_RootConstrainSelectedInstOperands,
41048 /* 115360 */ // GIR_Coverage, 18401,
41049 /* 115360 */ GIR_Done,
41050 /* 115361 */ // Label 2501: @115361
41051 /* 115361 */ GIM_Reject,
41052 /* 115362 */ // Label 2497: @115362
41053 /* 115362 */ GIM_Reject,
41054 /* 115363 */ // Label 2477: @115363
41055 /* 115363 */ GIM_Try, /*On fail goto*//*Label 2502*/ GIMT_Encode4(115530),
41056 /* 115368 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
41057 /* 115371 */ GIM_Try, /*On fail goto*//*Label 2503*/ GIMT_Encode4(115427), // Rule ID 18409 //
41058 /* 115376 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
41059 /* 115379 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
41060 /* 115383 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41061 /* 115387 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41062 /* 115391 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41063 /* 115394 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41064 /* 115398 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41065 /* 115402 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41066 /* 115404 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41067 /* 115411 */ // (zext:{ *:[v8i32] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXWDYrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
41068 /* 115411 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDYrm),
41069 /* 115414 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41070 /* 115416 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
41071 /* 115420 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41072 /* 115425 */ GIR_RootConstrainSelectedInstOperands,
41073 /* 115426 */ // GIR_Coverage, 18409,
41074 /* 115426 */ GIR_EraseRootFromParent_Done,
41075 /* 115427 */ // Label 2503: @115427
41076 /* 115427 */ GIM_Try, /*On fail goto*//*Label 2504*/ GIMT_Encode4(115483), // Rule ID 21617 //
41077 /* 115432 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
41078 /* 115435 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
41079 /* 115439 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41080 /* 115443 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41081 /* 115447 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41082 /* 115450 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41083 /* 115454 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41084 /* 115458 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41085 /* 115460 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41086 /* 115467 */ // (zext:{ *:[v8i32] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXWDZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
41087 /* 115467 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDZ256rm),
41088 /* 115470 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41089 /* 115472 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
41090 /* 115476 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41091 /* 115481 */ GIR_RootConstrainSelectedInstOperands,
41092 /* 115482 */ // GIR_Coverage, 21617,
41093 /* 115482 */ GIR_EraseRootFromParent_Done,
41094 /* 115483 */ // Label 2504: @115483
41095 /* 115483 */ GIM_Try, /*On fail goto*//*Label 2505*/ GIMT_Encode4(115506), // Rule ID 12427 //
41096 /* 115488 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
41097 /* 115491 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
41098 /* 115495 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
41099 /* 115499 */ // (zext:{ *:[v8i32] } VR128X:{ *:[v8i16] }:$src) => (VPMOVZXWDZ256rr:{ *:[v8i32] } VR128X:{ *:[v8i16] }:$src)
41100 /* 115499 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDZ256rr),
41101 /* 115504 */ GIR_RootConstrainSelectedInstOperands,
41102 /* 115505 */ // GIR_Coverage, 12427,
41103 /* 115505 */ GIR_Done,
41104 /* 115506 */ // Label 2505: @115506
41105 /* 115506 */ GIM_Try, /*On fail goto*//*Label 2506*/ GIMT_Encode4(115529), // Rule ID 18399 //
41106 /* 115511 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
41107 /* 115514 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
41108 /* 115518 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
41109 /* 115522 */ // (zext:{ *:[v8i32] } VR128:{ *:[v8i16] }:$src) => (VPMOVZXWDYrr:{ *:[v8i32] } VR128:{ *:[v8i16] }:$src)
41110 /* 115522 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDYrr),
41111 /* 115527 */ GIR_RootConstrainSelectedInstOperands,
41112 /* 115528 */ // GIR_Coverage, 18399,
41113 /* 115528 */ GIR_Done,
41114 /* 115529 */ // Label 2506: @115529
41115 /* 115529 */ GIM_Reject,
41116 /* 115530 */ // Label 2502: @115530
41117 /* 115530 */ GIM_Reject,
41118 /* 115531 */ // Label 2478: @115531
41119 /* 115531 */ GIM_Try, /*On fail goto*//*Label 2507*/ GIMT_Encode4(115590), // Rule ID 21622 //
41120 /* 115536 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
41121 /* 115539 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
41122 /* 115542 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
41123 /* 115546 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41124 /* 115550 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41125 /* 115554 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41126 /* 115557 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41127 /* 115561 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41128 /* 115565 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41129 /* 115567 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41130 /* 115574 */ // (zext:{ *:[v8i64] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXWQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
41131 /* 115574 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWQZrm),
41132 /* 115577 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41133 /* 115579 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
41134 /* 115583 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41135 /* 115588 */ GIR_RootConstrainSelectedInstOperands,
41136 /* 115589 */ // GIR_Coverage, 21622,
41137 /* 115589 */ GIR_EraseRootFromParent_Done,
41138 /* 115590 */ // Label 2507: @115590
41139 /* 115590 */ GIM_Try, /*On fail goto*//*Label 2508*/ GIMT_Encode4(115649), // Rule ID 21623 //
41140 /* 115595 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
41141 /* 115598 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
41142 /* 115601 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
41143 /* 115605 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41144 /* 115609 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41145 /* 115613 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41146 /* 115616 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41147 /* 115620 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41148 /* 115624 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41149 /* 115626 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41150 /* 115633 */ // (zext:{ *:[v8i64] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXDQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
41151 /* 115633 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXDQZrm),
41152 /* 115636 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41153 /* 115638 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
41154 /* 115642 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41155 /* 115647 */ GIR_RootConstrainSelectedInstOperands,
41156 /* 115648 */ // GIR_Coverage, 21623,
41157 /* 115648 */ GIR_EraseRootFromParent_Done,
41158 /* 115649 */ // Label 2508: @115649
41159 /* 115649 */ GIM_Try, /*On fail goto*//*Label 2509*/ GIMT_Encode4(115675), // Rule ID 12451 //
41160 /* 115654 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
41161 /* 115657 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
41162 /* 115660 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
41163 /* 115664 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
41164 /* 115668 */ // (zext:{ *:[v8i64] } VR128X:{ *:[v8i16] }:$src) => (VPMOVZXWQZrr:{ *:[v8i64] } VR128X:{ *:[v8i16] }:$src)
41165 /* 115668 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWQZrr),
41166 /* 115673 */ GIR_RootConstrainSelectedInstOperands,
41167 /* 115674 */ // GIR_Coverage, 12451,
41168 /* 115674 */ GIR_Done,
41169 /* 115675 */ // Label 2509: @115675
41170 /* 115675 */ GIM_Try, /*On fail goto*//*Label 2510*/ GIMT_Encode4(115701), // Rule ID 12469 //
41171 /* 115680 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
41172 /* 115683 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
41173 /* 115686 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
41174 /* 115690 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
41175 /* 115694 */ // (zext:{ *:[v8i64] } VR256X:{ *:[v8i32] }:$src) => (VPMOVZXDQZrr:{ *:[v8i64] } VR256X:{ *:[v8i32] }:$src)
41176 /* 115694 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXDQZrr),
41177 /* 115699 */ GIR_RootConstrainSelectedInstOperands,
41178 /* 115700 */ // GIR_Coverage, 12469,
41179 /* 115700 */ GIR_Done,
41180 /* 115701 */ // Label 2510: @115701
41181 /* 115701 */ GIM_Reject,
41182 /* 115702 */ // Label 2479: @115702
41183 /* 115702 */ GIM_Try, /*On fail goto*//*Label 2511*/ GIMT_Encode4(115869),
41184 /* 115707 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
41185 /* 115710 */ GIM_Try, /*On fail goto*//*Label 2512*/ GIMT_Encode4(115766), // Rule ID 18403 //
41186 /* 115715 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
41187 /* 115718 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
41188 /* 115722 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41189 /* 115726 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41190 /* 115730 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41191 /* 115733 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41192 /* 115737 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41193 /* 115741 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41194 /* 115743 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41195 /* 115750 */ // (zext:{ *:[v16i16] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXBWYrm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
41196 /* 115750 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBWYrm),
41197 /* 115753 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41198 /* 115755 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
41199 /* 115759 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41200 /* 115764 */ GIR_RootConstrainSelectedInstOperands,
41201 /* 115765 */ // GIR_Coverage, 18403,
41202 /* 115765 */ GIR_EraseRootFromParent_Done,
41203 /* 115766 */ // Label 2512: @115766
41204 /* 115766 */ GIM_Try, /*On fail goto*//*Label 2513*/ GIMT_Encode4(115822), // Rule ID 21616 //
41205 /* 115771 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
41206 /* 115774 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
41207 /* 115778 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41208 /* 115782 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41209 /* 115786 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41210 /* 115789 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41211 /* 115793 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41212 /* 115797 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41213 /* 115799 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41214 /* 115806 */ // (zext:{ *:[v16i16] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXBWZ256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
41215 /* 115806 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBWZ256rm),
41216 /* 115809 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41217 /* 115811 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
41218 /* 115815 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41219 /* 115820 */ GIR_RootConstrainSelectedInstOperands,
41220 /* 115821 */ // GIR_Coverage, 21616,
41221 /* 115821 */ GIR_EraseRootFromParent_Done,
41222 /* 115822 */ // Label 2513: @115822
41223 /* 115822 */ GIM_Try, /*On fail goto*//*Label 2514*/ GIMT_Encode4(115845), // Rule ID 12373 //
41224 /* 115827 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
41225 /* 115830 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
41226 /* 115834 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
41227 /* 115838 */ // (zext:{ *:[v16i16] } VR128X:{ *:[v16i8] }:$src) => (VPMOVZXBWZ256rr:{ *:[v16i16] } VR128X:{ *:[v16i8] }:$src)
41228 /* 115838 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBWZ256rr),
41229 /* 115843 */ GIR_RootConstrainSelectedInstOperands,
41230 /* 115844 */ // GIR_Coverage, 12373,
41231 /* 115844 */ GIR_Done,
41232 /* 115845 */ // Label 2514: @115845
41233 /* 115845 */ GIM_Try, /*On fail goto*//*Label 2515*/ GIMT_Encode4(115868), // Rule ID 18396 //
41234 /* 115850 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
41235 /* 115853 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
41236 /* 115857 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
41237 /* 115861 */ // (zext:{ *:[v16i16] } VR128:{ *:[v16i8] }:$src) => (VPMOVZXBWYrr:{ *:[v16i16] } VR128:{ *:[v16i8] }:$src)
41238 /* 115861 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBWYrr),
41239 /* 115866 */ GIR_RootConstrainSelectedInstOperands,
41240 /* 115867 */ // GIR_Coverage, 18396,
41241 /* 115867 */ GIR_Done,
41242 /* 115868 */ // Label 2515: @115868
41243 /* 115868 */ GIM_Reject,
41244 /* 115869 */ // Label 2511: @115869
41245 /* 115869 */ GIM_Reject,
41246 /* 115870 */ // Label 2480: @115870
41247 /* 115870 */ GIM_Try, /*On fail goto*//*Label 2516*/ GIMT_Encode4(115929), // Rule ID 21620 //
41248 /* 115875 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
41249 /* 115878 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
41250 /* 115881 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
41251 /* 115885 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41252 /* 115889 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41253 /* 115893 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41254 /* 115896 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41255 /* 115900 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41256 /* 115904 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41257 /* 115906 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41258 /* 115913 */ // (zext:{ *:[v16i32] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXBDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
41259 /* 115913 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBDZrm),
41260 /* 115916 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41261 /* 115918 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
41262 /* 115922 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41263 /* 115927 */ GIR_RootConstrainSelectedInstOperands,
41264 /* 115928 */ // GIR_Coverage, 21620,
41265 /* 115928 */ GIR_EraseRootFromParent_Done,
41266 /* 115929 */ // Label 2516: @115929
41267 /* 115929 */ GIM_Try, /*On fail goto*//*Label 2517*/ GIMT_Encode4(115988), // Rule ID 21621 //
41268 /* 115934 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
41269 /* 115937 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
41270 /* 115940 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
41271 /* 115944 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41272 /* 115948 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41273 /* 115952 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41274 /* 115955 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41275 /* 115959 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41276 /* 115963 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41277 /* 115965 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41278 /* 115972 */ // (zext:{ *:[v16i32] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXWDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
41279 /* 115972 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDZrm),
41280 /* 115975 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41281 /* 115977 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
41282 /* 115981 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41283 /* 115986 */ GIR_RootConstrainSelectedInstOperands,
41284 /* 115987 */ // GIR_Coverage, 21621,
41285 /* 115987 */ GIR_EraseRootFromParent_Done,
41286 /* 115988 */ // Label 2517: @115988
41287 /* 115988 */ GIM_Try, /*On fail goto*//*Label 2518*/ GIMT_Encode4(116014), // Rule ID 12397 //
41288 /* 115993 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
41289 /* 115996 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
41290 /* 115999 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
41291 /* 116003 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
41292 /* 116007 */ // (zext:{ *:[v16i32] } VR128X:{ *:[v16i8] }:$src) => (VPMOVZXBDZrr:{ *:[v16i32] } VR128X:{ *:[v16i8] }:$src)
41293 /* 116007 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBDZrr),
41294 /* 116012 */ GIR_RootConstrainSelectedInstOperands,
41295 /* 116013 */ // GIR_Coverage, 12397,
41296 /* 116013 */ GIR_Done,
41297 /* 116014 */ // Label 2518: @116014
41298 /* 116014 */ GIM_Try, /*On fail goto*//*Label 2519*/ GIMT_Encode4(116040), // Rule ID 12433 //
41299 /* 116019 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
41300 /* 116022 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
41301 /* 116025 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
41302 /* 116029 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
41303 /* 116033 */ // (zext:{ *:[v16i32] } VR256X:{ *:[v16i16] }:$src) => (VPMOVZXWDZrr:{ *:[v16i32] } VR256X:{ *:[v16i16] }:$src)
41304 /* 116033 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDZrr),
41305 /* 116038 */ GIR_RootConstrainSelectedInstOperands,
41306 /* 116039 */ // GIR_Coverage, 12433,
41307 /* 116039 */ GIR_Done,
41308 /* 116040 */ // Label 2519: @116040
41309 /* 116040 */ GIM_Reject,
41310 /* 116041 */ // Label 2481: @116041
41311 /* 116041 */ GIM_Try, /*On fail goto*//*Label 2520*/ GIMT_Encode4(116125),
41312 /* 116046 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
41313 /* 116049 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
41314 /* 116053 */ GIM_Try, /*On fail goto*//*Label 2521*/ GIMT_Encode4(116105), // Rule ID 21619 //
41315 /* 116058 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
41316 /* 116061 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41317 /* 116065 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41318 /* 116069 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41319 /* 116072 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41320 /* 116076 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41321 /* 116080 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41322 /* 116082 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41323 /* 116089 */ // (zext:{ *:[v32i16] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXBWZrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)
41324 /* 116089 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBWZrm),
41325 /* 116092 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41326 /* 116094 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
41327 /* 116098 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41328 /* 116103 */ GIR_RootConstrainSelectedInstOperands,
41329 /* 116104 */ // GIR_Coverage, 21619,
41330 /* 116104 */ GIR_EraseRootFromParent_Done,
41331 /* 116105 */ // Label 2521: @116105
41332 /* 116105 */ GIM_Try, /*On fail goto*//*Label 2522*/ GIMT_Encode4(116124), // Rule ID 12379 //
41333 /* 116110 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
41334 /* 116113 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
41335 /* 116117 */ // (zext:{ *:[v32i16] } VR256X:{ *:[v32i8] }:$src) => (VPMOVZXBWZrr:{ *:[v32i16] } VR256X:{ *:[v32i8] }:$src)
41336 /* 116117 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBWZrr),
41337 /* 116122 */ GIR_RootConstrainSelectedInstOperands,
41338 /* 116123 */ // GIR_Coverage, 12379,
41339 /* 116123 */ GIR_Done,
41340 /* 116124 */ // Label 2522: @116124
41341 /* 116124 */ GIM_Reject,
41342 /* 116125 */ // Label 2520: @116125
41343 /* 116125 */ GIM_Reject,
41344 /* 116126 */ // Label 2482: @116126
41345 /* 116126 */ GIM_Reject,
41346 /* 116127 */ // Label 26: @116127
41347 /* 116127 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 2527*/ GIMT_Encode4(118410),
41348 /* 116138 */ /*GILLT_s8*//*Label 2523*/ GIMT_Encode4(116154),
41349 /* 116142 */ /*GILLT_s16*//*Label 2524*/ GIMT_Encode4(116529),
41350 /* 116146 */ /*GILLT_s32*//*Label 2525*/ GIMT_Encode4(116904),
41351 /* 116150 */ /*GILLT_s64*//*Label 2526*/ GIMT_Encode4(117657),
41352 /* 116154 */ // Label 2523: @116154
41353 /* 116154 */ GIM_Try, /*On fail goto*//*Label 2528*/ GIMT_Encode4(116528),
41354 /* 116159 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
41355 /* 116162 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
41356 /* 116165 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41357 /* 116169 */ GIM_Try, /*On fail goto*//*Label 2529*/ GIMT_Encode4(116236), // Rule ID 673 //
41358 /* 116174 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41359 /* 116177 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41360 /* 116181 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41361 /* 116185 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41362 /* 116188 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41363 /* 116192 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
41364 /* 116196 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
41365 /* 116200 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41366 /* 116204 */ // MIs[2] Operand 1
41367 /* 116204 */ // No operand predicates
41368 /* 116204 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
41369 /* 116206 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41370 /* 116213 */ // (shl:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, (imm:{ *:[i8] }):$src2) => (SHL8mi_ND:{ *:[i8] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
41371 /* 116213 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL8mi_ND),
41372 /* 116216 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41373 /* 116218 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
41374 /* 116222 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
41375 /* 116225 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41376 /* 116228 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
41377 /* 116234 */ GIR_RootConstrainSelectedInstOperands,
41378 /* 116235 */ // GIR_Coverage, 673,
41379 /* 116235 */ GIR_EraseRootFromParent_Done,
41380 /* 116236 */ // Label 2529: @116236
41381 /* 116236 */ GIM_Try, /*On fail goto*//*Label 2530*/ GIMT_Encode4(116309), // Rule ID 689 //
41382 /* 116241 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41383 /* 116244 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41384 /* 116248 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41385 /* 116252 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41386 /* 116255 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41387 /* 116259 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
41388 /* 116263 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41389 /* 116267 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41390 /* 116269 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41391 /* 116276 */ // (shl:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, CL:{ *:[i8] }) => (SHL8mCL_ND:{ *:[i8] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
41392 /* 116276 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41393 /* 116280 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
41394 /* 116286 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41395 /* 116290 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL8mCL_ND),
41396 /* 116293 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41397 /* 116295 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
41398 /* 116299 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41399 /* 116302 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41400 /* 116307 */ GIR_RootConstrainSelectedInstOperands,
41401 /* 116308 */ // GIR_Coverage, 689,
41402 /* 116308 */ GIR_EraseRootFromParent_Done,
41403 /* 116309 */ // Label 2530: @116309
41404 /* 116309 */ GIM_Try, /*On fail goto*//*Label 2531*/ GIMT_Encode4(116339), // Rule ID 22674 //
41405 /* 116314 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41406 /* 116317 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41407 /* 116321 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
41408 /* 116325 */ // (shl:{ *:[i8] } GR8:{ *:[i8] }:$src1, 1:{ *:[i8] }) => (ADD8rr:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src1)
41409 /* 116325 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8rr),
41410 /* 116328 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41411 /* 116330 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41412 /* 116332 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41413 /* 116334 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41414 /* 116337 */ GIR_RootConstrainSelectedInstOperands,
41415 /* 116338 */ // GIR_Coverage, 22674,
41416 /* 116338 */ GIR_EraseRootFromParent_Done,
41417 /* 116339 */ // Label 2531: @116339
41418 /* 116339 */ GIM_Try, /*On fail goto*//*Label 2532*/ GIMT_Encode4(116369), // Rule ID 22678 //
41419 /* 116344 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
41420 /* 116347 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41421 /* 116351 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
41422 /* 116355 */ // (shl:{ *:[i8] } GR8:{ *:[i8] }:$src1, 1:{ *:[i8] }) => (ADD8rr_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src1)
41423 /* 116355 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8rr_ND),
41424 /* 116358 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41425 /* 116360 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41426 /* 116362 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41427 /* 116364 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41428 /* 116367 */ GIR_RootConstrainSelectedInstOperands,
41429 /* 116368 */ // GIR_Coverage, 22678,
41430 /* 116368 */ GIR_EraseRootFromParent_Done,
41431 /* 116369 */ // Label 2532: @116369
41432 /* 116369 */ GIM_Try, /*On fail goto*//*Label 2533*/ GIMT_Encode4(116406), // Rule ID 661 //
41433 /* 116374 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41434 /* 116377 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41435 /* 116381 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41436 /* 116385 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41437 /* 116389 */ // MIs[1] Operand 1
41438 /* 116389 */ // No operand predicates
41439 /* 116389 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41440 /* 116391 */ // (shl:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
41441 /* 116391 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL8ri),
41442 /* 116394 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41443 /* 116396 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41444 /* 116398 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41445 /* 116401 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41446 /* 116404 */ GIR_RootConstrainSelectedInstOperands,
41447 /* 116405 */ // GIR_Coverage, 661,
41448 /* 116405 */ GIR_EraseRootFromParent_Done,
41449 /* 116406 */ // Label 2533: @116406
41450 /* 116406 */ GIM_Try, /*On fail goto*//*Label 2534*/ GIMT_Encode4(116443), // Rule ID 665 //
41451 /* 116411 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41452 /* 116414 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41453 /* 116418 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41454 /* 116422 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41455 /* 116426 */ // MIs[1] Operand 1
41456 /* 116426 */ // No operand predicates
41457 /* 116426 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41458 /* 116428 */ // (shl:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
41459 /* 116428 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL8ri_ND),
41460 /* 116431 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41461 /* 116433 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41462 /* 116435 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41463 /* 116438 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41464 /* 116441 */ GIR_RootConstrainSelectedInstOperands,
41465 /* 116442 */ // GIR_Coverage, 665,
41466 /* 116442 */ GIR_EraseRootFromParent_Done,
41467 /* 116443 */ // Label 2534: @116443
41468 /* 116443 */ GIM_Try, /*On fail goto*//*Label 2535*/ GIMT_Encode4(116485), // Rule ID 677 //
41469 /* 116448 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41470 /* 116451 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41471 /* 116455 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41472 /* 116459 */ // (shl:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (SHL8rCL:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
41473 /* 116459 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41474 /* 116463 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
41475 /* 116469 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41476 /* 116473 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL8rCL),
41477 /* 116476 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41478 /* 116478 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41479 /* 116480 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41480 /* 116483 */ GIR_RootConstrainSelectedInstOperands,
41481 /* 116484 */ // GIR_Coverage, 677,
41482 /* 116484 */ GIR_EraseRootFromParent_Done,
41483 /* 116485 */ // Label 2535: @116485
41484 /* 116485 */ GIM_Try, /*On fail goto*//*Label 2536*/ GIMT_Encode4(116527), // Rule ID 681 //
41485 /* 116490 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41486 /* 116493 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41487 /* 116497 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41488 /* 116501 */ // (shl:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (SHL8rCL_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
41489 /* 116501 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41490 /* 116505 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
41491 /* 116511 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41492 /* 116515 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL8rCL_ND),
41493 /* 116518 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41494 /* 116520 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41495 /* 116522 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41496 /* 116525 */ GIR_RootConstrainSelectedInstOperands,
41497 /* 116526 */ // GIR_Coverage, 681,
41498 /* 116526 */ GIR_EraseRootFromParent_Done,
41499 /* 116527 */ // Label 2536: @116527
41500 /* 116527 */ GIM_Reject,
41501 /* 116528 */ // Label 2528: @116528
41502 /* 116528 */ GIM_Reject,
41503 /* 116529 */ // Label 2524: @116529
41504 /* 116529 */ GIM_Try, /*On fail goto*//*Label 2537*/ GIMT_Encode4(116903),
41505 /* 116534 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
41506 /* 116537 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
41507 /* 116540 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
41508 /* 116544 */ GIM_Try, /*On fail goto*//*Label 2538*/ GIMT_Encode4(116611), // Rule ID 674 //
41509 /* 116549 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41510 /* 116552 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41511 /* 116556 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41512 /* 116560 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41513 /* 116563 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41514 /* 116567 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
41515 /* 116571 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
41516 /* 116575 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41517 /* 116579 */ // MIs[2] Operand 1
41518 /* 116579 */ // No operand predicates
41519 /* 116579 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
41520 /* 116581 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41521 /* 116588 */ // (shl:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, (imm:{ *:[i8] }):$src2) => (SHL16mi_ND:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
41522 /* 116588 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL16mi_ND),
41523 /* 116591 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41524 /* 116593 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
41525 /* 116597 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
41526 /* 116600 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41527 /* 116603 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
41528 /* 116609 */ GIR_RootConstrainSelectedInstOperands,
41529 /* 116610 */ // GIR_Coverage, 674,
41530 /* 116610 */ GIR_EraseRootFromParent_Done,
41531 /* 116611 */ // Label 2538: @116611
41532 /* 116611 */ GIM_Try, /*On fail goto*//*Label 2539*/ GIMT_Encode4(116684), // Rule ID 690 //
41533 /* 116616 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41534 /* 116619 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41535 /* 116623 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41536 /* 116627 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41537 /* 116630 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41538 /* 116634 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
41539 /* 116638 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41540 /* 116642 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41541 /* 116644 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41542 /* 116651 */ // (shl:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, CL:{ *:[i8] }) => (SHL16mCL_ND:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
41543 /* 116651 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41544 /* 116655 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
41545 /* 116661 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41546 /* 116665 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL16mCL_ND),
41547 /* 116668 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41548 /* 116670 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
41549 /* 116674 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41550 /* 116677 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41551 /* 116682 */ GIR_RootConstrainSelectedInstOperands,
41552 /* 116683 */ // GIR_Coverage, 690,
41553 /* 116683 */ GIR_EraseRootFromParent_Done,
41554 /* 116684 */ // Label 2539: @116684
41555 /* 116684 */ GIM_Try, /*On fail goto*//*Label 2540*/ GIMT_Encode4(116714), // Rule ID 22675 //
41556 /* 116689 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41557 /* 116692 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
41558 /* 116696 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
41559 /* 116700 */ // (shl:{ *:[i16] } GR16:{ *:[i16] }:$src1, 1:{ *:[i8] }) => (ADD16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src1)
41560 /* 116700 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16rr),
41561 /* 116703 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41562 /* 116705 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41563 /* 116707 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41564 /* 116709 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41565 /* 116712 */ GIR_RootConstrainSelectedInstOperands,
41566 /* 116713 */ // GIR_Coverage, 22675,
41567 /* 116713 */ GIR_EraseRootFromParent_Done,
41568 /* 116714 */ // Label 2540: @116714
41569 /* 116714 */ GIM_Try, /*On fail goto*//*Label 2541*/ GIMT_Encode4(116744), // Rule ID 22679 //
41570 /* 116719 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
41571 /* 116722 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
41572 /* 116726 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
41573 /* 116730 */ // (shl:{ *:[i16] } GR16:{ *:[i16] }:$src1, 1:{ *:[i8] }) => (ADD16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src1)
41574 /* 116730 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16rr_ND),
41575 /* 116733 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41576 /* 116735 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41577 /* 116737 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41578 /* 116739 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41579 /* 116742 */ GIR_RootConstrainSelectedInstOperands,
41580 /* 116743 */ // GIR_Coverage, 22679,
41581 /* 116743 */ GIR_EraseRootFromParent_Done,
41582 /* 116744 */ // Label 2541: @116744
41583 /* 116744 */ GIM_Try, /*On fail goto*//*Label 2542*/ GIMT_Encode4(116781), // Rule ID 662 //
41584 /* 116749 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41585 /* 116752 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
41586 /* 116756 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41587 /* 116760 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41588 /* 116764 */ // MIs[1] Operand 1
41589 /* 116764 */ // No operand predicates
41590 /* 116764 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41591 /* 116766 */ // (shl:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
41592 /* 116766 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL16ri),
41593 /* 116769 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41594 /* 116771 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41595 /* 116773 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41596 /* 116776 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41597 /* 116779 */ GIR_RootConstrainSelectedInstOperands,
41598 /* 116780 */ // GIR_Coverage, 662,
41599 /* 116780 */ GIR_EraseRootFromParent_Done,
41600 /* 116781 */ // Label 2542: @116781
41601 /* 116781 */ GIM_Try, /*On fail goto*//*Label 2543*/ GIMT_Encode4(116818), // Rule ID 666 //
41602 /* 116786 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41603 /* 116789 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
41604 /* 116793 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41605 /* 116797 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41606 /* 116801 */ // MIs[1] Operand 1
41607 /* 116801 */ // No operand predicates
41608 /* 116801 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41609 /* 116803 */ // (shl:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
41610 /* 116803 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL16ri_ND),
41611 /* 116806 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41612 /* 116808 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41613 /* 116810 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41614 /* 116813 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41615 /* 116816 */ GIR_RootConstrainSelectedInstOperands,
41616 /* 116817 */ // GIR_Coverage, 666,
41617 /* 116817 */ GIR_EraseRootFromParent_Done,
41618 /* 116818 */ // Label 2543: @116818
41619 /* 116818 */ GIM_Try, /*On fail goto*//*Label 2544*/ GIMT_Encode4(116860), // Rule ID 678 //
41620 /* 116823 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41621 /* 116826 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
41622 /* 116830 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41623 /* 116834 */ // (shl:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (SHL16rCL:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
41624 /* 116834 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41625 /* 116838 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
41626 /* 116844 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41627 /* 116848 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL16rCL),
41628 /* 116851 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41629 /* 116853 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41630 /* 116855 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41631 /* 116858 */ GIR_RootConstrainSelectedInstOperands,
41632 /* 116859 */ // GIR_Coverage, 678,
41633 /* 116859 */ GIR_EraseRootFromParent_Done,
41634 /* 116860 */ // Label 2544: @116860
41635 /* 116860 */ GIM_Try, /*On fail goto*//*Label 2545*/ GIMT_Encode4(116902), // Rule ID 682 //
41636 /* 116865 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41637 /* 116868 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
41638 /* 116872 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41639 /* 116876 */ // (shl:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (SHL16rCL_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
41640 /* 116876 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41641 /* 116880 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
41642 /* 116886 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41643 /* 116890 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL16rCL_ND),
41644 /* 116893 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41645 /* 116895 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41646 /* 116897 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41647 /* 116900 */ GIR_RootConstrainSelectedInstOperands,
41648 /* 116901 */ // GIR_Coverage, 682,
41649 /* 116901 */ GIR_EraseRootFromParent_Done,
41650 /* 116902 */ // Label 2545: @116902
41651 /* 116902 */ GIM_Reject,
41652 /* 116903 */ // Label 2537: @116903
41653 /* 116903 */ GIM_Reject,
41654 /* 116904 */ // Label 2525: @116904
41655 /* 116904 */ GIM_Try, /*On fail goto*//*Label 2546*/ GIMT_Encode4(117656),
41656 /* 116909 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
41657 /* 116912 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
41658 /* 116915 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41659 /* 116919 */ GIM_Try, /*On fail goto*//*Label 2547*/ GIMT_Encode4(116986), // Rule ID 675 //
41660 /* 116924 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41661 /* 116927 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41662 /* 116931 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41663 /* 116935 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41664 /* 116938 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41665 /* 116942 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
41666 /* 116946 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
41667 /* 116950 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41668 /* 116954 */ // MIs[2] Operand 1
41669 /* 116954 */ // No operand predicates
41670 /* 116954 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
41671 /* 116956 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41672 /* 116963 */ // (shl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, (imm:{ *:[i8] }):$src2) => (SHL32mi_ND:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
41673 /* 116963 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL32mi_ND),
41674 /* 116966 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41675 /* 116968 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
41676 /* 116972 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
41677 /* 116975 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41678 /* 116978 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
41679 /* 116984 */ GIR_RootConstrainSelectedInstOperands,
41680 /* 116985 */ // GIR_Coverage, 675,
41681 /* 116985 */ GIR_EraseRootFromParent_Done,
41682 /* 116986 */ // Label 2547: @116986
41683 /* 116986 */ GIM_Try, /*On fail goto*//*Label 2548*/ GIMT_Encode4(117059), // Rule ID 691 //
41684 /* 116991 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41685 /* 116994 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41686 /* 116998 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41687 /* 117002 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41688 /* 117005 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41689 /* 117009 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
41690 /* 117013 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41691 /* 117017 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41692 /* 117019 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41693 /* 117026 */ // (shl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, CL:{ *:[i8] }) => (SHL32mCL_ND:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
41694 /* 117026 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41695 /* 117030 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
41696 /* 117036 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41697 /* 117040 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL32mCL_ND),
41698 /* 117043 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41699 /* 117045 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
41700 /* 117049 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41701 /* 117052 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41702 /* 117057 */ GIR_RootConstrainSelectedInstOperands,
41703 /* 117058 */ // GIR_Coverage, 691,
41704 /* 117058 */ GIR_EraseRootFromParent_Done,
41705 /* 117059 */ // Label 2548: @117059
41706 /* 117059 */ GIM_Try, /*On fail goto*//*Label 2549*/ GIMT_Encode4(117169), // Rule ID 17672 //
41707 /* 117064 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
41708 /* 117067 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41709 /* 117071 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41710 /* 117075 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41711 /* 117078 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41712 /* 117082 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
41713 /* 117086 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41714 /* 117090 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41715 /* 117092 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41716 /* 117099 */ // (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] }))
41717 /* 117099 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
41718 /* 117102 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41719 /* 117106 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
41720 /* 117111 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41721 /* 117113 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
41722 /* 117116 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41723 /* 117120 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
41724 /* 117125 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41725 /* 117128 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41726 /* 117132 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41727 /* 117135 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41728 /* 117140 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41729 /* 117145 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41730 /* 117150 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX32rm),
41731 /* 117153 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41732 /* 117155 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
41733 /* 117159 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41734 /* 117162 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41735 /* 117167 */ GIR_RootConstrainSelectedInstOperands,
41736 /* 117168 */ // GIR_Coverage, 17672,
41737 /* 117168 */ GIR_EraseRootFromParent_Done,
41738 /* 117169 */ // Label 2549: @117169
41739 /* 117169 */ GIM_Try, /*On fail goto*//*Label 2550*/ GIMT_Encode4(117279), // Rule ID 17704 //
41740 /* 117174 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
41741 /* 117177 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41742 /* 117181 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41743 /* 117185 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41744 /* 117188 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41745 /* 117192 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
41746 /* 117196 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41747 /* 117200 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41748 /* 117202 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41749 /* 117209 */ // (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] }))
41750 /* 117209 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
41751 /* 117212 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41752 /* 117216 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
41753 /* 117221 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41754 /* 117223 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
41755 /* 117226 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41756 /* 117230 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
41757 /* 117235 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41758 /* 117238 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41759 /* 117242 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41760 /* 117245 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41761 /* 117250 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41762 /* 117255 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41763 /* 117260 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX32rm_EVEX),
41764 /* 117263 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41765 /* 117265 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
41766 /* 117269 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41767 /* 117272 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41768 /* 117277 */ GIR_RootConstrainSelectedInstOperands,
41769 /* 117278 */ // GIR_Coverage, 17704,
41770 /* 117278 */ GIR_EraseRootFromParent_Done,
41771 /* 117279 */ // Label 2550: @117279
41772 /* 117279 */ GIM_Try, /*On fail goto*//*Label 2551*/ GIMT_Encode4(117309), // Rule ID 22676 //
41773 /* 117284 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41774 /* 117287 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41775 /* 117291 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
41776 /* 117295 */ // (shl:{ *:[i32] } GR32:{ *:[i32] }:$src1, 1:{ *:[i8] }) => (ADD32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src1)
41777 /* 117295 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32rr),
41778 /* 117298 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41779 /* 117300 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41780 /* 117302 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41781 /* 117304 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41782 /* 117307 */ GIR_RootConstrainSelectedInstOperands,
41783 /* 117308 */ // GIR_Coverage, 22676,
41784 /* 117308 */ GIR_EraseRootFromParent_Done,
41785 /* 117309 */ // Label 2551: @117309
41786 /* 117309 */ GIM_Try, /*On fail goto*//*Label 2552*/ GIMT_Encode4(117339), // Rule ID 22680 //
41787 /* 117314 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
41788 /* 117317 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41789 /* 117321 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
41790 /* 117325 */ // (shl:{ *:[i32] } GR32:{ *:[i32] }:$src1, 1:{ *:[i8] }) => (ADD32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src1)
41791 /* 117325 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32rr_ND),
41792 /* 117328 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41793 /* 117330 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41794 /* 117332 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41795 /* 117334 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41796 /* 117337 */ GIR_RootConstrainSelectedInstOperands,
41797 /* 117338 */ // GIR_Coverage, 22680,
41798 /* 117338 */ GIR_EraseRootFromParent_Done,
41799 /* 117339 */ // Label 2552: @117339
41800 /* 117339 */ GIM_Try, /*On fail goto*//*Label 2553*/ GIMT_Encode4(117376), // Rule ID 663 //
41801 /* 117344 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41802 /* 117347 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41803 /* 117351 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41804 /* 117355 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41805 /* 117359 */ // MIs[1] Operand 1
41806 /* 117359 */ // No operand predicates
41807 /* 117359 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41808 /* 117361 */ // (shl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
41809 /* 117361 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL32ri),
41810 /* 117364 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41811 /* 117366 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41812 /* 117368 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41813 /* 117371 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41814 /* 117374 */ GIR_RootConstrainSelectedInstOperands,
41815 /* 117375 */ // GIR_Coverage, 663,
41816 /* 117375 */ GIR_EraseRootFromParent_Done,
41817 /* 117376 */ // Label 2553: @117376
41818 /* 117376 */ GIM_Try, /*On fail goto*//*Label 2554*/ GIMT_Encode4(117413), // Rule ID 667 //
41819 /* 117381 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41820 /* 117384 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41821 /* 117388 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41822 /* 117392 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41823 /* 117396 */ // MIs[1] Operand 1
41824 /* 117396 */ // No operand predicates
41825 /* 117396 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41826 /* 117398 */ // (shl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
41827 /* 117398 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL32ri_ND),
41828 /* 117401 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41829 /* 117403 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41830 /* 117405 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41831 /* 117408 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41832 /* 117411 */ GIR_RootConstrainSelectedInstOperands,
41833 /* 117412 */ // GIR_Coverage, 667,
41834 /* 117412 */ GIR_EraseRootFromParent_Done,
41835 /* 117413 */ // Label 2554: @117413
41836 /* 117413 */ GIM_Try, /*On fail goto*//*Label 2555*/ GIMT_Encode4(117492), // Rule ID 17668 //
41837 /* 117418 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
41838 /* 117421 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41839 /* 117425 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41840 /* 117429 */ // (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] }))
41841 /* 117429 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
41842 /* 117432 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41843 /* 117436 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
41844 /* 117441 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41845 /* 117443 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
41846 /* 117446 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41847 /* 117450 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
41848 /* 117455 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41849 /* 117458 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41850 /* 117462 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41851 /* 117465 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41852 /* 117470 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41853 /* 117475 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41854 /* 117480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX32rr),
41855 /* 117483 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41856 /* 117485 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41857 /* 117487 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41858 /* 117490 */ GIR_RootConstrainSelectedInstOperands,
41859 /* 117491 */ // GIR_Coverage, 17668,
41860 /* 117491 */ GIR_EraseRootFromParent_Done,
41861 /* 117492 */ // Label 2555: @117492
41862 /* 117492 */ GIM_Try, /*On fail goto*//*Label 2556*/ GIMT_Encode4(117571), // Rule ID 17700 //
41863 /* 117497 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
41864 /* 117500 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41865 /* 117504 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41866 /* 117508 */ // (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] }))
41867 /* 117508 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
41868 /* 117511 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41869 /* 117515 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
41870 /* 117520 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41871 /* 117522 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
41872 /* 117525 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41873 /* 117529 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
41874 /* 117534 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41875 /* 117537 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41876 /* 117541 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41877 /* 117544 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41878 /* 117549 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41879 /* 117554 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41880 /* 117559 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX32rr_EVEX),
41881 /* 117562 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41882 /* 117564 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41883 /* 117566 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41884 /* 117569 */ GIR_RootConstrainSelectedInstOperands,
41885 /* 117570 */ // GIR_Coverage, 17700,
41886 /* 117570 */ GIR_EraseRootFromParent_Done,
41887 /* 117571 */ // Label 2556: @117571
41888 /* 117571 */ GIM_Try, /*On fail goto*//*Label 2557*/ GIMT_Encode4(117613), // Rule ID 679 //
41889 /* 117576 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41890 /* 117579 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41891 /* 117583 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41892 /* 117587 */ // (shl:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SHL32rCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
41893 /* 117587 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41894 /* 117591 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
41895 /* 117597 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41896 /* 117601 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL32rCL),
41897 /* 117604 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41898 /* 117606 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41899 /* 117608 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41900 /* 117611 */ GIR_RootConstrainSelectedInstOperands,
41901 /* 117612 */ // GIR_Coverage, 679,
41902 /* 117612 */ GIR_EraseRootFromParent_Done,
41903 /* 117613 */ // Label 2557: @117613
41904 /* 117613 */ GIM_Try, /*On fail goto*//*Label 2558*/ GIMT_Encode4(117655), // Rule ID 683 //
41905 /* 117618 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41906 /* 117621 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41907 /* 117625 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41908 /* 117629 */ // (shl:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SHL32rCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
41909 /* 117629 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41910 /* 117633 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
41911 /* 117639 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41912 /* 117643 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL32rCL_ND),
41913 /* 117646 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41914 /* 117648 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41915 /* 117650 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41916 /* 117653 */ GIR_RootConstrainSelectedInstOperands,
41917 /* 117654 */ // GIR_Coverage, 683,
41918 /* 117654 */ GIR_EraseRootFromParent_Done,
41919 /* 117655 */ // Label 2558: @117655
41920 /* 117655 */ GIM_Reject,
41921 /* 117656 */ // Label 2546: @117656
41922 /* 117656 */ GIM_Reject,
41923 /* 117657 */ // Label 2526: @117657
41924 /* 117657 */ GIM_Try, /*On fail goto*//*Label 2559*/ GIMT_Encode4(118409),
41925 /* 117662 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
41926 /* 117665 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
41927 /* 117668 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41928 /* 117672 */ GIM_Try, /*On fail goto*//*Label 2560*/ GIMT_Encode4(117739), // Rule ID 676 //
41929 /* 117677 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41930 /* 117680 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41931 /* 117684 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41932 /* 117688 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41933 /* 117691 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41934 /* 117695 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41935 /* 117699 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
41936 /* 117703 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41937 /* 117707 */ // MIs[2] Operand 1
41938 /* 117707 */ // No operand predicates
41939 /* 117707 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
41940 /* 117709 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41941 /* 117716 */ // (shl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i8] }):$src2) => (SHL64mi_ND:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
41942 /* 117716 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL64mi_ND),
41943 /* 117719 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41944 /* 117721 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
41945 /* 117725 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
41946 /* 117728 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41947 /* 117731 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
41948 /* 117737 */ GIR_RootConstrainSelectedInstOperands,
41949 /* 117738 */ // GIR_Coverage, 676,
41950 /* 117738 */ GIR_EraseRootFromParent_Done,
41951 /* 117739 */ // Label 2560: @117739
41952 /* 117739 */ GIM_Try, /*On fail goto*//*Label 2561*/ GIMT_Encode4(117812), // Rule ID 692 //
41953 /* 117744 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41954 /* 117747 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41955 /* 117751 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41956 /* 117755 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41957 /* 117758 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41958 /* 117762 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41959 /* 117766 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41960 /* 117770 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41961 /* 117772 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41962 /* 117779 */ // (shl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, CL:{ *:[i8] }) => (SHL64mCL_ND:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
41963 /* 117779 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41964 /* 117783 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
41965 /* 117789 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41966 /* 117793 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL64mCL_ND),
41967 /* 117796 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41968 /* 117798 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
41969 /* 117802 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41970 /* 117805 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41971 /* 117810 */ GIR_RootConstrainSelectedInstOperands,
41972 /* 117811 */ // GIR_Coverage, 692,
41973 /* 117811 */ GIR_EraseRootFromParent_Done,
41974 /* 117812 */ // Label 2561: @117812
41975 /* 117812 */ GIM_Try, /*On fail goto*//*Label 2562*/ GIMT_Encode4(117922), // Rule ID 17673 //
41976 /* 117817 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
41977 /* 117820 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41978 /* 117824 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41979 /* 117828 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41980 /* 117831 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41981 /* 117835 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41982 /* 117839 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41983 /* 117843 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41984 /* 117845 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41985 /* 117852 */ // (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] }))
41986 /* 117852 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
41987 /* 117855 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41988 /* 117859 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
41989 /* 117864 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41990 /* 117866 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
41991 /* 117869 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41992 /* 117873 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
41993 /* 117878 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41994 /* 117881 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41995 /* 117885 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41996 /* 117888 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41997 /* 117893 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41998 /* 117898 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41999 /* 117903 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX64rm),
42000 /* 117906 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42001 /* 117908 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
42002 /* 117912 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
42003 /* 117915 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42004 /* 117920 */ GIR_RootConstrainSelectedInstOperands,
42005 /* 117921 */ // GIR_Coverage, 17673,
42006 /* 117921 */ GIR_EraseRootFromParent_Done,
42007 /* 117922 */ // Label 2562: @117922
42008 /* 117922 */ GIM_Try, /*On fail goto*//*Label 2563*/ GIMT_Encode4(118032), // Rule ID 17705 //
42009 /* 117927 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
42010 /* 117930 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
42011 /* 117934 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42012 /* 117938 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42013 /* 117941 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42014 /* 117945 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42015 /* 117949 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42016 /* 117953 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42017 /* 117955 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42018 /* 117962 */ // (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] }))
42019 /* 117962 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
42020 /* 117965 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42021 /* 117969 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
42022 /* 117974 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
42023 /* 117976 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
42024 /* 117979 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42025 /* 117983 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
42026 /* 117988 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42027 /* 117991 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
42028 /* 117995 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
42029 /* 117998 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42030 /* 118003 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42031 /* 118008 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
42032 /* 118013 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX64rm_EVEX),
42033 /* 118016 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42034 /* 118018 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
42035 /* 118022 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
42036 /* 118025 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42037 /* 118030 */ GIR_RootConstrainSelectedInstOperands,
42038 /* 118031 */ // GIR_Coverage, 17705,
42039 /* 118031 */ GIR_EraseRootFromParent_Done,
42040 /* 118032 */ // Label 2563: @118032
42041 /* 118032 */ GIM_Try, /*On fail goto*//*Label 2564*/ GIMT_Encode4(118062), // Rule ID 22677 //
42042 /* 118037 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
42043 /* 118040 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42044 /* 118044 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
42045 /* 118048 */ // (shl:{ *:[i64] } GR64:{ *:[i64] }:$src1, 1:{ *:[i8] }) => (ADD64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src1)
42046 /* 118048 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64rr),
42047 /* 118051 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42048 /* 118053 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42049 /* 118055 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42050 /* 118057 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42051 /* 118060 */ GIR_RootConstrainSelectedInstOperands,
42052 /* 118061 */ // GIR_Coverage, 22677,
42053 /* 118061 */ GIR_EraseRootFromParent_Done,
42054 /* 118062 */ // Label 2564: @118062
42055 /* 118062 */ GIM_Try, /*On fail goto*//*Label 2565*/ GIMT_Encode4(118092), // Rule ID 22681 //
42056 /* 118067 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
42057 /* 118070 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42058 /* 118074 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
42059 /* 118078 */ // (shl:{ *:[i64] } GR64:{ *:[i64] }:$src1, 1:{ *:[i8] }) => (ADD64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src1)
42060 /* 118078 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64rr_ND),
42061 /* 118081 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42062 /* 118083 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42063 /* 118085 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42064 /* 118087 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42065 /* 118090 */ GIR_RootConstrainSelectedInstOperands,
42066 /* 118091 */ // GIR_Coverage, 22681,
42067 /* 118091 */ GIR_EraseRootFromParent_Done,
42068 /* 118092 */ // Label 2565: @118092
42069 /* 118092 */ GIM_Try, /*On fail goto*//*Label 2566*/ GIMT_Encode4(118129), // Rule ID 664 //
42070 /* 118097 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
42071 /* 118100 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42072 /* 118104 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
42073 /* 118108 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42074 /* 118112 */ // MIs[1] Operand 1
42075 /* 118112 */ // No operand predicates
42076 /* 118112 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42077 /* 118114 */ // (shl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
42078 /* 118114 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL64ri),
42079 /* 118117 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42080 /* 118119 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42081 /* 118121 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
42082 /* 118124 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42083 /* 118127 */ GIR_RootConstrainSelectedInstOperands,
42084 /* 118128 */ // GIR_Coverage, 664,
42085 /* 118128 */ GIR_EraseRootFromParent_Done,
42086 /* 118129 */ // Label 2566: @118129
42087 /* 118129 */ GIM_Try, /*On fail goto*//*Label 2567*/ GIMT_Encode4(118166), // Rule ID 668 //
42088 /* 118134 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42089 /* 118137 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42090 /* 118141 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
42091 /* 118145 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42092 /* 118149 */ // MIs[1] Operand 1
42093 /* 118149 */ // No operand predicates
42094 /* 118149 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42095 /* 118151 */ // (shl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL64ri_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
42096 /* 118151 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL64ri_ND),
42097 /* 118154 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42098 /* 118156 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42099 /* 118158 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
42100 /* 118161 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42101 /* 118164 */ GIR_RootConstrainSelectedInstOperands,
42102 /* 118165 */ // GIR_Coverage, 668,
42103 /* 118165 */ GIR_EraseRootFromParent_Done,
42104 /* 118166 */ // Label 2567: @118166
42105 /* 118166 */ GIM_Try, /*On fail goto*//*Label 2568*/ GIMT_Encode4(118245), // Rule ID 17669 //
42106 /* 118171 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
42107 /* 118174 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42108 /* 118178 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42109 /* 118182 */ // (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] }))
42110 /* 118182 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
42111 /* 118185 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42112 /* 118189 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
42113 /* 118194 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
42114 /* 118196 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
42115 /* 118199 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42116 /* 118203 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
42117 /* 118208 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42118 /* 118211 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
42119 /* 118215 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
42120 /* 118218 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42121 /* 118223 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42122 /* 118228 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
42123 /* 118233 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX64rr),
42124 /* 118236 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42125 /* 118238 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42126 /* 118240 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
42127 /* 118243 */ GIR_RootConstrainSelectedInstOperands,
42128 /* 118244 */ // GIR_Coverage, 17669,
42129 /* 118244 */ GIR_EraseRootFromParent_Done,
42130 /* 118245 */ // Label 2568: @118245
42131 /* 118245 */ GIM_Try, /*On fail goto*//*Label 2569*/ GIMT_Encode4(118324), // Rule ID 17701 //
42132 /* 118250 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
42133 /* 118253 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42134 /* 118257 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42135 /* 118261 */ // (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] }))
42136 /* 118261 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
42137 /* 118264 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42138 /* 118268 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
42139 /* 118273 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
42140 /* 118275 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
42141 /* 118278 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42142 /* 118282 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
42143 /* 118287 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42144 /* 118290 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
42145 /* 118294 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
42146 /* 118297 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42147 /* 118302 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42148 /* 118307 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
42149 /* 118312 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX64rr_EVEX),
42150 /* 118315 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42151 /* 118317 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42152 /* 118319 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
42153 /* 118322 */ GIR_RootConstrainSelectedInstOperands,
42154 /* 118323 */ // GIR_Coverage, 17701,
42155 /* 118323 */ GIR_EraseRootFromParent_Done,
42156 /* 118324 */ // Label 2569: @118324
42157 /* 118324 */ GIM_Try, /*On fail goto*//*Label 2570*/ GIMT_Encode4(118366), // Rule ID 680 //
42158 /* 118329 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
42159 /* 118332 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42160 /* 118336 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42161 /* 118340 */ // (shl:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SHL64rCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
42162 /* 118340 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42163 /* 118344 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
42164 /* 118350 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
42165 /* 118354 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL64rCL),
42166 /* 118357 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42167 /* 118359 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42168 /* 118361 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42169 /* 118364 */ GIR_RootConstrainSelectedInstOperands,
42170 /* 118365 */ // GIR_Coverage, 680,
42171 /* 118365 */ GIR_EraseRootFromParent_Done,
42172 /* 118366 */ // Label 2570: @118366
42173 /* 118366 */ GIM_Try, /*On fail goto*//*Label 2571*/ GIMT_Encode4(118408), // Rule ID 684 //
42174 /* 118371 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42175 /* 118374 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42176 /* 118378 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42177 /* 118382 */ // (shl:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SHL64rCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
42178 /* 118382 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42179 /* 118386 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
42180 /* 118392 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
42181 /* 118396 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL64rCL_ND),
42182 /* 118399 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42183 /* 118401 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42184 /* 118403 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42185 /* 118406 */ GIR_RootConstrainSelectedInstOperands,
42186 /* 118407 */ // GIR_Coverage, 684,
42187 /* 118407 */ GIR_EraseRootFromParent_Done,
42188 /* 118408 */ // Label 2571: @118408
42189 /* 118408 */ GIM_Reject,
42190 /* 118409 */ // Label 2559: @118409
42191 /* 118409 */ GIM_Reject,
42192 /* 118410 */ // Label 2527: @118410
42193 /* 118410 */ GIM_Reject,
42194 /* 118411 */ // Label 27: @118411
42195 /* 118411 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 2576*/ GIMT_Encode4(120454),
42196 /* 118422 */ /*GILLT_s8*//*Label 2572*/ GIMT_Encode4(118438),
42197 /* 118426 */ /*GILLT_s16*//*Label 2573*/ GIMT_Encode4(118753),
42198 /* 118430 */ /*GILLT_s32*//*Label 2574*/ GIMT_Encode4(119068),
42199 /* 118434 */ /*GILLT_s64*//*Label 2575*/ GIMT_Encode4(119761),
42200 /* 118438 */ // Label 2572: @118438
42201 /* 118438 */ GIM_Try, /*On fail goto*//*Label 2577*/ GIMT_Encode4(118752),
42202 /* 118443 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
42203 /* 118446 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
42204 /* 118449 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42205 /* 118453 */ GIM_Try, /*On fail goto*//*Label 2578*/ GIMT_Encode4(118520), // Rule ID 705 //
42206 /* 118458 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42207 /* 118461 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
42208 /* 118465 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42209 /* 118469 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42210 /* 118472 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42211 /* 118476 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
42212 /* 118480 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
42213 /* 118484 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42214 /* 118488 */ // MIs[2] Operand 1
42215 /* 118488 */ // No operand predicates
42216 /* 118488 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
42217 /* 118490 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42218 /* 118497 */ // (srl:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, (imm:{ *:[i8] }):$src2) => (SHR8mi_ND:{ *:[i8] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
42219 /* 118497 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR8mi_ND),
42220 /* 118500 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42221 /* 118502 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
42222 /* 118506 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
42223 /* 118509 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42224 /* 118512 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
42225 /* 118518 */ GIR_RootConstrainSelectedInstOperands,
42226 /* 118519 */ // GIR_Coverage, 705,
42227 /* 118519 */ GIR_EraseRootFromParent_Done,
42228 /* 118520 */ // Label 2578: @118520
42229 /* 118520 */ GIM_Try, /*On fail goto*//*Label 2579*/ GIMT_Encode4(118593), // Rule ID 721 //
42230 /* 118525 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42231 /* 118528 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
42232 /* 118532 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42233 /* 118536 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42234 /* 118539 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42235 /* 118543 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
42236 /* 118547 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42237 /* 118551 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42238 /* 118553 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42239 /* 118560 */ // (srl:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, CL:{ *:[i8] }) => (SHR8mCL_ND:{ *:[i8] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
42240 /* 118560 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42241 /* 118564 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
42242 /* 118570 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
42243 /* 118574 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR8mCL_ND),
42244 /* 118577 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42245 /* 118579 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
42246 /* 118583 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42247 /* 118586 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42248 /* 118591 */ GIR_RootConstrainSelectedInstOperands,
42249 /* 118592 */ // GIR_Coverage, 721,
42250 /* 118592 */ GIR_EraseRootFromParent_Done,
42251 /* 118593 */ // Label 2579: @118593
42252 /* 118593 */ GIM_Try, /*On fail goto*//*Label 2580*/ GIMT_Encode4(118630), // Rule ID 693 //
42253 /* 118598 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
42254 /* 118601 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42255 /* 118605 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
42256 /* 118609 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42257 /* 118613 */ // MIs[1] Operand 1
42258 /* 118613 */ // No operand predicates
42259 /* 118613 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42260 /* 118615 */ // (srl:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
42261 /* 118615 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR8ri),
42262 /* 118618 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42263 /* 118620 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42264 /* 118622 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
42265 /* 118625 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42266 /* 118628 */ GIR_RootConstrainSelectedInstOperands,
42267 /* 118629 */ // GIR_Coverage, 693,
42268 /* 118629 */ GIR_EraseRootFromParent_Done,
42269 /* 118630 */ // Label 2580: @118630
42270 /* 118630 */ GIM_Try, /*On fail goto*//*Label 2581*/ GIMT_Encode4(118667), // Rule ID 697 //
42271 /* 118635 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42272 /* 118638 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42273 /* 118642 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
42274 /* 118646 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42275 /* 118650 */ // MIs[1] Operand 1
42276 /* 118650 */ // No operand predicates
42277 /* 118650 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42278 /* 118652 */ // (srl:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
42279 /* 118652 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR8ri_ND),
42280 /* 118655 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42281 /* 118657 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42282 /* 118659 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
42283 /* 118662 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42284 /* 118665 */ GIR_RootConstrainSelectedInstOperands,
42285 /* 118666 */ // GIR_Coverage, 697,
42286 /* 118666 */ GIR_EraseRootFromParent_Done,
42287 /* 118667 */ // Label 2581: @118667
42288 /* 118667 */ GIM_Try, /*On fail goto*//*Label 2582*/ GIMT_Encode4(118709), // Rule ID 709 //
42289 /* 118672 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
42290 /* 118675 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42291 /* 118679 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42292 /* 118683 */ // (srl:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (SHR8rCL:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
42293 /* 118683 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42294 /* 118687 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
42295 /* 118693 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
42296 /* 118697 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR8rCL),
42297 /* 118700 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42298 /* 118702 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42299 /* 118704 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42300 /* 118707 */ GIR_RootConstrainSelectedInstOperands,
42301 /* 118708 */ // GIR_Coverage, 709,
42302 /* 118708 */ GIR_EraseRootFromParent_Done,
42303 /* 118709 */ // Label 2582: @118709
42304 /* 118709 */ GIM_Try, /*On fail goto*//*Label 2583*/ GIMT_Encode4(118751), // Rule ID 713 //
42305 /* 118714 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42306 /* 118717 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42307 /* 118721 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42308 /* 118725 */ // (srl:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (SHR8rCL_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
42309 /* 118725 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42310 /* 118729 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
42311 /* 118735 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
42312 /* 118739 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR8rCL_ND),
42313 /* 118742 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42314 /* 118744 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42315 /* 118746 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42316 /* 118749 */ GIR_RootConstrainSelectedInstOperands,
42317 /* 118750 */ // GIR_Coverage, 713,
42318 /* 118750 */ GIR_EraseRootFromParent_Done,
42319 /* 118751 */ // Label 2583: @118751
42320 /* 118751 */ GIM_Reject,
42321 /* 118752 */ // Label 2577: @118752
42322 /* 118752 */ GIM_Reject,
42323 /* 118753 */ // Label 2573: @118753
42324 /* 118753 */ GIM_Try, /*On fail goto*//*Label 2584*/ GIMT_Encode4(119067),
42325 /* 118758 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
42326 /* 118761 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
42327 /* 118764 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
42328 /* 118768 */ GIM_Try, /*On fail goto*//*Label 2585*/ GIMT_Encode4(118835), // Rule ID 706 //
42329 /* 118773 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42330 /* 118776 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
42331 /* 118780 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42332 /* 118784 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42333 /* 118787 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42334 /* 118791 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
42335 /* 118795 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
42336 /* 118799 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42337 /* 118803 */ // MIs[2] Operand 1
42338 /* 118803 */ // No operand predicates
42339 /* 118803 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
42340 /* 118805 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42341 /* 118812 */ // (srl:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, (imm:{ *:[i8] }):$src2) => (SHR16mi_ND:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
42342 /* 118812 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR16mi_ND),
42343 /* 118815 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42344 /* 118817 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
42345 /* 118821 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
42346 /* 118824 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42347 /* 118827 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
42348 /* 118833 */ GIR_RootConstrainSelectedInstOperands,
42349 /* 118834 */ // GIR_Coverage, 706,
42350 /* 118834 */ GIR_EraseRootFromParent_Done,
42351 /* 118835 */ // Label 2585: @118835
42352 /* 118835 */ GIM_Try, /*On fail goto*//*Label 2586*/ GIMT_Encode4(118908), // Rule ID 722 //
42353 /* 118840 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42354 /* 118843 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
42355 /* 118847 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42356 /* 118851 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42357 /* 118854 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42358 /* 118858 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
42359 /* 118862 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42360 /* 118866 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42361 /* 118868 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42362 /* 118875 */ // (srl:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, CL:{ *:[i8] }) => (SHR16mCL_ND:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
42363 /* 118875 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42364 /* 118879 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
42365 /* 118885 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
42366 /* 118889 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR16mCL_ND),
42367 /* 118892 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42368 /* 118894 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
42369 /* 118898 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42370 /* 118901 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42371 /* 118906 */ GIR_RootConstrainSelectedInstOperands,
42372 /* 118907 */ // GIR_Coverage, 722,
42373 /* 118907 */ GIR_EraseRootFromParent_Done,
42374 /* 118908 */ // Label 2586: @118908
42375 /* 118908 */ GIM_Try, /*On fail goto*//*Label 2587*/ GIMT_Encode4(118945), // Rule ID 694 //
42376 /* 118913 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
42377 /* 118916 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
42378 /* 118920 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
42379 /* 118924 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42380 /* 118928 */ // MIs[1] Operand 1
42381 /* 118928 */ // No operand predicates
42382 /* 118928 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42383 /* 118930 */ // (srl:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
42384 /* 118930 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR16ri),
42385 /* 118933 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42386 /* 118935 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42387 /* 118937 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
42388 /* 118940 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42389 /* 118943 */ GIR_RootConstrainSelectedInstOperands,
42390 /* 118944 */ // GIR_Coverage, 694,
42391 /* 118944 */ GIR_EraseRootFromParent_Done,
42392 /* 118945 */ // Label 2587: @118945
42393 /* 118945 */ GIM_Try, /*On fail goto*//*Label 2588*/ GIMT_Encode4(118982), // Rule ID 698 //
42394 /* 118950 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42395 /* 118953 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
42396 /* 118957 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
42397 /* 118961 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42398 /* 118965 */ // MIs[1] Operand 1
42399 /* 118965 */ // No operand predicates
42400 /* 118965 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42401 /* 118967 */ // (srl:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
42402 /* 118967 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR16ri_ND),
42403 /* 118970 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42404 /* 118972 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42405 /* 118974 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
42406 /* 118977 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42407 /* 118980 */ GIR_RootConstrainSelectedInstOperands,
42408 /* 118981 */ // GIR_Coverage, 698,
42409 /* 118981 */ GIR_EraseRootFromParent_Done,
42410 /* 118982 */ // Label 2588: @118982
42411 /* 118982 */ GIM_Try, /*On fail goto*//*Label 2589*/ GIMT_Encode4(119024), // Rule ID 710 //
42412 /* 118987 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
42413 /* 118990 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
42414 /* 118994 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42415 /* 118998 */ // (srl:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (SHR16rCL:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
42416 /* 118998 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42417 /* 119002 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
42418 /* 119008 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
42419 /* 119012 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR16rCL),
42420 /* 119015 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42421 /* 119017 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42422 /* 119019 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42423 /* 119022 */ GIR_RootConstrainSelectedInstOperands,
42424 /* 119023 */ // GIR_Coverage, 710,
42425 /* 119023 */ GIR_EraseRootFromParent_Done,
42426 /* 119024 */ // Label 2589: @119024
42427 /* 119024 */ GIM_Try, /*On fail goto*//*Label 2590*/ GIMT_Encode4(119066), // Rule ID 714 //
42428 /* 119029 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42429 /* 119032 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
42430 /* 119036 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42431 /* 119040 */ // (srl:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (SHR16rCL_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
42432 /* 119040 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42433 /* 119044 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
42434 /* 119050 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
42435 /* 119054 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR16rCL_ND),
42436 /* 119057 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42437 /* 119059 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42438 /* 119061 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42439 /* 119064 */ GIR_RootConstrainSelectedInstOperands,
42440 /* 119065 */ // GIR_Coverage, 714,
42441 /* 119065 */ GIR_EraseRootFromParent_Done,
42442 /* 119066 */ // Label 2590: @119066
42443 /* 119066 */ GIM_Reject,
42444 /* 119067 */ // Label 2584: @119067
42445 /* 119067 */ GIM_Reject,
42446 /* 119068 */ // Label 2574: @119068
42447 /* 119068 */ GIM_Try, /*On fail goto*//*Label 2591*/ GIMT_Encode4(119760),
42448 /* 119073 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
42449 /* 119076 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
42450 /* 119079 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
42451 /* 119083 */ GIM_Try, /*On fail goto*//*Label 2592*/ GIMT_Encode4(119150), // Rule ID 707 //
42452 /* 119088 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42453 /* 119091 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
42454 /* 119095 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42455 /* 119099 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42456 /* 119102 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42457 /* 119106 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
42458 /* 119110 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
42459 /* 119114 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42460 /* 119118 */ // MIs[2] Operand 1
42461 /* 119118 */ // No operand predicates
42462 /* 119118 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
42463 /* 119120 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42464 /* 119127 */ // (srl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, (imm:{ *:[i8] }):$src2) => (SHR32mi_ND:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
42465 /* 119127 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR32mi_ND),
42466 /* 119130 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42467 /* 119132 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
42468 /* 119136 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
42469 /* 119139 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42470 /* 119142 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
42471 /* 119148 */ GIR_RootConstrainSelectedInstOperands,
42472 /* 119149 */ // GIR_Coverage, 707,
42473 /* 119149 */ GIR_EraseRootFromParent_Done,
42474 /* 119150 */ // Label 2592: @119150
42475 /* 119150 */ GIM_Try, /*On fail goto*//*Label 2593*/ GIMT_Encode4(119223), // Rule ID 723 //
42476 /* 119155 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42477 /* 119158 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
42478 /* 119162 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42479 /* 119166 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42480 /* 119169 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42481 /* 119173 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
42482 /* 119177 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42483 /* 119181 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42484 /* 119183 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42485 /* 119190 */ // (srl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, CL:{ *:[i8] }) => (SHR32mCL_ND:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
42486 /* 119190 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42487 /* 119194 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
42488 /* 119200 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
42489 /* 119204 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR32mCL_ND),
42490 /* 119207 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42491 /* 119209 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
42492 /* 119213 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42493 /* 119216 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42494 /* 119221 */ GIR_RootConstrainSelectedInstOperands,
42495 /* 119222 */ // GIR_Coverage, 723,
42496 /* 119222 */ GIR_EraseRootFromParent_Done,
42497 /* 119223 */ // Label 2593: @119223
42498 /* 119223 */ GIM_Try, /*On fail goto*//*Label 2594*/ GIMT_Encode4(119333), // Rule ID 17664 //
42499 /* 119228 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
42500 /* 119231 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
42501 /* 119235 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42502 /* 119239 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42503 /* 119242 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42504 /* 119246 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
42505 /* 119250 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42506 /* 119254 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42507 /* 119256 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42508 /* 119263 */ // (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] }))
42509 /* 119263 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
42510 /* 119266 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42511 /* 119270 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
42512 /* 119275 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
42513 /* 119277 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
42514 /* 119280 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42515 /* 119284 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
42516 /* 119289 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42517 /* 119292 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
42518 /* 119296 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
42519 /* 119299 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
42520 /* 119304 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
42521 /* 119309 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
42522 /* 119314 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX32rm),
42523 /* 119317 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42524 /* 119319 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
42525 /* 119323 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
42526 /* 119326 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42527 /* 119331 */ GIR_RootConstrainSelectedInstOperands,
42528 /* 119332 */ // GIR_Coverage, 17664,
42529 /* 119332 */ GIR_EraseRootFromParent_Done,
42530 /* 119333 */ // Label 2594: @119333
42531 /* 119333 */ GIM_Try, /*On fail goto*//*Label 2595*/ GIMT_Encode4(119443), // Rule ID 17696 //
42532 /* 119338 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
42533 /* 119341 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
42534 /* 119345 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42535 /* 119349 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42536 /* 119352 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42537 /* 119356 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
42538 /* 119360 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42539 /* 119364 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42540 /* 119366 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42541 /* 119373 */ // (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] }))
42542 /* 119373 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
42543 /* 119376 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42544 /* 119380 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
42545 /* 119385 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
42546 /* 119387 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
42547 /* 119390 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42548 /* 119394 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
42549 /* 119399 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42550 /* 119402 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
42551 /* 119406 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
42552 /* 119409 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
42553 /* 119414 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
42554 /* 119419 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
42555 /* 119424 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX32rm_EVEX),
42556 /* 119427 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42557 /* 119429 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
42558 /* 119433 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
42559 /* 119436 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42560 /* 119441 */ GIR_RootConstrainSelectedInstOperands,
42561 /* 119442 */ // GIR_Coverage, 17696,
42562 /* 119442 */ GIR_EraseRootFromParent_Done,
42563 /* 119443 */ // Label 2595: @119443
42564 /* 119443 */ GIM_Try, /*On fail goto*//*Label 2596*/ GIMT_Encode4(119480), // Rule ID 695 //
42565 /* 119448 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
42566 /* 119451 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
42567 /* 119455 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
42568 /* 119459 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42569 /* 119463 */ // MIs[1] Operand 1
42570 /* 119463 */ // No operand predicates
42571 /* 119463 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42572 /* 119465 */ // (srl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
42573 /* 119465 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR32ri),
42574 /* 119468 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42575 /* 119470 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42576 /* 119472 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
42577 /* 119475 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42578 /* 119478 */ GIR_RootConstrainSelectedInstOperands,
42579 /* 119479 */ // GIR_Coverage, 695,
42580 /* 119479 */ GIR_EraseRootFromParent_Done,
42581 /* 119480 */ // Label 2596: @119480
42582 /* 119480 */ GIM_Try, /*On fail goto*//*Label 2597*/ GIMT_Encode4(119517), // Rule ID 699 //
42583 /* 119485 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42584 /* 119488 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
42585 /* 119492 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
42586 /* 119496 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42587 /* 119500 */ // MIs[1] Operand 1
42588 /* 119500 */ // No operand predicates
42589 /* 119500 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42590 /* 119502 */ // (srl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
42591 /* 119502 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR32ri_ND),
42592 /* 119505 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42593 /* 119507 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42594 /* 119509 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
42595 /* 119512 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42596 /* 119515 */ GIR_RootConstrainSelectedInstOperands,
42597 /* 119516 */ // GIR_Coverage, 699,
42598 /* 119516 */ GIR_EraseRootFromParent_Done,
42599 /* 119517 */ // Label 2597: @119517
42600 /* 119517 */ GIM_Try, /*On fail goto*//*Label 2598*/ GIMT_Encode4(119596), // Rule ID 17660 //
42601 /* 119522 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
42602 /* 119525 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
42603 /* 119529 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42604 /* 119533 */ // (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] }))
42605 /* 119533 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
42606 /* 119536 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42607 /* 119540 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
42608 /* 119545 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
42609 /* 119547 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
42610 /* 119550 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42611 /* 119554 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
42612 /* 119559 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42613 /* 119562 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
42614 /* 119566 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
42615 /* 119569 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
42616 /* 119574 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
42617 /* 119579 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
42618 /* 119584 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX32rr),
42619 /* 119587 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42620 /* 119589 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42621 /* 119591 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
42622 /* 119594 */ GIR_RootConstrainSelectedInstOperands,
42623 /* 119595 */ // GIR_Coverage, 17660,
42624 /* 119595 */ GIR_EraseRootFromParent_Done,
42625 /* 119596 */ // Label 2598: @119596
42626 /* 119596 */ GIM_Try, /*On fail goto*//*Label 2599*/ GIMT_Encode4(119675), // Rule ID 17692 //
42627 /* 119601 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
42628 /* 119604 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
42629 /* 119608 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42630 /* 119612 */ // (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] }))
42631 /* 119612 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
42632 /* 119615 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42633 /* 119619 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
42634 /* 119624 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
42635 /* 119626 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
42636 /* 119629 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42637 /* 119633 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
42638 /* 119638 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42639 /* 119641 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
42640 /* 119645 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
42641 /* 119648 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
42642 /* 119653 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
42643 /* 119658 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
42644 /* 119663 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX32rr_EVEX),
42645 /* 119666 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42646 /* 119668 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42647 /* 119670 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
42648 /* 119673 */ GIR_RootConstrainSelectedInstOperands,
42649 /* 119674 */ // GIR_Coverage, 17692,
42650 /* 119674 */ GIR_EraseRootFromParent_Done,
42651 /* 119675 */ // Label 2599: @119675
42652 /* 119675 */ GIM_Try, /*On fail goto*//*Label 2600*/ GIMT_Encode4(119717), // Rule ID 711 //
42653 /* 119680 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
42654 /* 119683 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
42655 /* 119687 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42656 /* 119691 */ // (srl:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SHR32rCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
42657 /* 119691 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42658 /* 119695 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
42659 /* 119701 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
42660 /* 119705 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR32rCL),
42661 /* 119708 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42662 /* 119710 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42663 /* 119712 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42664 /* 119715 */ GIR_RootConstrainSelectedInstOperands,
42665 /* 119716 */ // GIR_Coverage, 711,
42666 /* 119716 */ GIR_EraseRootFromParent_Done,
42667 /* 119717 */ // Label 2600: @119717
42668 /* 119717 */ GIM_Try, /*On fail goto*//*Label 2601*/ GIMT_Encode4(119759), // Rule ID 715 //
42669 /* 119722 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42670 /* 119725 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
42671 /* 119729 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42672 /* 119733 */ // (srl:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SHR32rCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
42673 /* 119733 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42674 /* 119737 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
42675 /* 119743 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
42676 /* 119747 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR32rCL_ND),
42677 /* 119750 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42678 /* 119752 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42679 /* 119754 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42680 /* 119757 */ GIR_RootConstrainSelectedInstOperands,
42681 /* 119758 */ // GIR_Coverage, 715,
42682 /* 119758 */ GIR_EraseRootFromParent_Done,
42683 /* 119759 */ // Label 2601: @119759
42684 /* 119759 */ GIM_Reject,
42685 /* 119760 */ // Label 2591: @119760
42686 /* 119760 */ GIM_Reject,
42687 /* 119761 */ // Label 2575: @119761
42688 /* 119761 */ GIM_Try, /*On fail goto*//*Label 2602*/ GIMT_Encode4(120453),
42689 /* 119766 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
42690 /* 119769 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
42691 /* 119772 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42692 /* 119776 */ GIM_Try, /*On fail goto*//*Label 2603*/ GIMT_Encode4(119843), // Rule ID 708 //
42693 /* 119781 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42694 /* 119784 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
42695 /* 119788 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42696 /* 119792 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42697 /* 119795 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42698 /* 119799 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42699 /* 119803 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
42700 /* 119807 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42701 /* 119811 */ // MIs[2] Operand 1
42702 /* 119811 */ // No operand predicates
42703 /* 119811 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
42704 /* 119813 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42705 /* 119820 */ // (srl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i8] }):$src2) => (SHR64mi_ND:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
42706 /* 119820 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR64mi_ND),
42707 /* 119823 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42708 /* 119825 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
42709 /* 119829 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
42710 /* 119832 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42711 /* 119835 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
42712 /* 119841 */ GIR_RootConstrainSelectedInstOperands,
42713 /* 119842 */ // GIR_Coverage, 708,
42714 /* 119842 */ GIR_EraseRootFromParent_Done,
42715 /* 119843 */ // Label 2603: @119843
42716 /* 119843 */ GIM_Try, /*On fail goto*//*Label 2604*/ GIMT_Encode4(119916), // Rule ID 724 //
42717 /* 119848 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42718 /* 119851 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
42719 /* 119855 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42720 /* 119859 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42721 /* 119862 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42722 /* 119866 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42723 /* 119870 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42724 /* 119874 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42725 /* 119876 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42726 /* 119883 */ // (srl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, CL:{ *:[i8] }) => (SHR64mCL_ND:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
42727 /* 119883 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42728 /* 119887 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
42729 /* 119893 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
42730 /* 119897 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR64mCL_ND),
42731 /* 119900 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42732 /* 119902 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
42733 /* 119906 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42734 /* 119909 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42735 /* 119914 */ GIR_RootConstrainSelectedInstOperands,
42736 /* 119915 */ // GIR_Coverage, 724,
42737 /* 119915 */ GIR_EraseRootFromParent_Done,
42738 /* 119916 */ // Label 2604: @119916
42739 /* 119916 */ GIM_Try, /*On fail goto*//*Label 2605*/ GIMT_Encode4(120026), // Rule ID 17665 //
42740 /* 119921 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
42741 /* 119924 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
42742 /* 119928 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42743 /* 119932 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42744 /* 119935 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42745 /* 119939 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42746 /* 119943 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42747 /* 119947 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42748 /* 119949 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42749 /* 119956 */ // (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] }))
42750 /* 119956 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
42751 /* 119959 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42752 /* 119963 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
42753 /* 119968 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
42754 /* 119970 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
42755 /* 119973 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42756 /* 119977 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
42757 /* 119982 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42758 /* 119985 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
42759 /* 119989 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
42760 /* 119992 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42761 /* 119997 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42762 /* 120002 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
42763 /* 120007 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX64rm),
42764 /* 120010 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42765 /* 120012 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
42766 /* 120016 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
42767 /* 120019 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42768 /* 120024 */ GIR_RootConstrainSelectedInstOperands,
42769 /* 120025 */ // GIR_Coverage, 17665,
42770 /* 120025 */ GIR_EraseRootFromParent_Done,
42771 /* 120026 */ // Label 2605: @120026
42772 /* 120026 */ GIM_Try, /*On fail goto*//*Label 2606*/ GIMT_Encode4(120136), // Rule ID 17697 //
42773 /* 120031 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
42774 /* 120034 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
42775 /* 120038 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42776 /* 120042 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42777 /* 120045 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42778 /* 120049 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42779 /* 120053 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42780 /* 120057 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42781 /* 120059 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42782 /* 120066 */ // (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] }))
42783 /* 120066 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
42784 /* 120069 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42785 /* 120073 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
42786 /* 120078 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
42787 /* 120080 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
42788 /* 120083 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42789 /* 120087 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
42790 /* 120092 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42791 /* 120095 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
42792 /* 120099 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
42793 /* 120102 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42794 /* 120107 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42795 /* 120112 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
42796 /* 120117 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX64rm_EVEX),
42797 /* 120120 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42798 /* 120122 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
42799 /* 120126 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
42800 /* 120129 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42801 /* 120134 */ GIR_RootConstrainSelectedInstOperands,
42802 /* 120135 */ // GIR_Coverage, 17697,
42803 /* 120135 */ GIR_EraseRootFromParent_Done,
42804 /* 120136 */ // Label 2606: @120136
42805 /* 120136 */ GIM_Try, /*On fail goto*//*Label 2607*/ GIMT_Encode4(120173), // Rule ID 696 //
42806 /* 120141 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
42807 /* 120144 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42808 /* 120148 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
42809 /* 120152 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42810 /* 120156 */ // MIs[1] Operand 1
42811 /* 120156 */ // No operand predicates
42812 /* 120156 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42813 /* 120158 */ // (srl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
42814 /* 120158 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR64ri),
42815 /* 120161 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42816 /* 120163 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42817 /* 120165 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
42818 /* 120168 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42819 /* 120171 */ GIR_RootConstrainSelectedInstOperands,
42820 /* 120172 */ // GIR_Coverage, 696,
42821 /* 120172 */ GIR_EraseRootFromParent_Done,
42822 /* 120173 */ // Label 2607: @120173
42823 /* 120173 */ GIM_Try, /*On fail goto*//*Label 2608*/ GIMT_Encode4(120210), // Rule ID 700 //
42824 /* 120178 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42825 /* 120181 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42826 /* 120185 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
42827 /* 120189 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42828 /* 120193 */ // MIs[1] Operand 1
42829 /* 120193 */ // No operand predicates
42830 /* 120193 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42831 /* 120195 */ // (srl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR64ri_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
42832 /* 120195 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR64ri_ND),
42833 /* 120198 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42834 /* 120200 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42835 /* 120202 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
42836 /* 120205 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42837 /* 120208 */ GIR_RootConstrainSelectedInstOperands,
42838 /* 120209 */ // GIR_Coverage, 700,
42839 /* 120209 */ GIR_EraseRootFromParent_Done,
42840 /* 120210 */ // Label 2608: @120210
42841 /* 120210 */ GIM_Try, /*On fail goto*//*Label 2609*/ GIMT_Encode4(120289), // Rule ID 17661 //
42842 /* 120215 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
42843 /* 120218 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42844 /* 120222 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42845 /* 120226 */ // (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] }))
42846 /* 120226 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
42847 /* 120229 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42848 /* 120233 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
42849 /* 120238 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
42850 /* 120240 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
42851 /* 120243 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42852 /* 120247 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
42853 /* 120252 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42854 /* 120255 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
42855 /* 120259 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
42856 /* 120262 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42857 /* 120267 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42858 /* 120272 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
42859 /* 120277 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX64rr),
42860 /* 120280 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42861 /* 120282 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42862 /* 120284 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
42863 /* 120287 */ GIR_RootConstrainSelectedInstOperands,
42864 /* 120288 */ // GIR_Coverage, 17661,
42865 /* 120288 */ GIR_EraseRootFromParent_Done,
42866 /* 120289 */ // Label 2609: @120289
42867 /* 120289 */ GIM_Try, /*On fail goto*//*Label 2610*/ GIMT_Encode4(120368), // Rule ID 17693 //
42868 /* 120294 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
42869 /* 120297 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42870 /* 120301 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42871 /* 120305 */ // (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] }))
42872 /* 120305 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
42873 /* 120308 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42874 /* 120312 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
42875 /* 120317 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
42876 /* 120319 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
42877 /* 120322 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42878 /* 120326 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
42879 /* 120331 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42880 /* 120334 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
42881 /* 120338 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
42882 /* 120341 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42883 /* 120346 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42884 /* 120351 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
42885 /* 120356 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX64rr_EVEX),
42886 /* 120359 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42887 /* 120361 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42888 /* 120363 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
42889 /* 120366 */ GIR_RootConstrainSelectedInstOperands,
42890 /* 120367 */ // GIR_Coverage, 17693,
42891 /* 120367 */ GIR_EraseRootFromParent_Done,
42892 /* 120368 */ // Label 2610: @120368
42893 /* 120368 */ GIM_Try, /*On fail goto*//*Label 2611*/ GIMT_Encode4(120410), // Rule ID 712 //
42894 /* 120373 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
42895 /* 120376 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42896 /* 120380 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42897 /* 120384 */ // (srl:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SHR64rCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
42898 /* 120384 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42899 /* 120388 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
42900 /* 120394 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
42901 /* 120398 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR64rCL),
42902 /* 120401 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42903 /* 120403 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42904 /* 120405 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42905 /* 120408 */ GIR_RootConstrainSelectedInstOperands,
42906 /* 120409 */ // GIR_Coverage, 712,
42907 /* 120409 */ GIR_EraseRootFromParent_Done,
42908 /* 120410 */ // Label 2611: @120410
42909 /* 120410 */ GIM_Try, /*On fail goto*//*Label 2612*/ GIMT_Encode4(120452), // Rule ID 716 //
42910 /* 120415 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42911 /* 120418 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42912 /* 120422 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42913 /* 120426 */ // (srl:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SHR64rCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
42914 /* 120426 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42915 /* 120430 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
42916 /* 120436 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
42917 /* 120440 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR64rCL_ND),
42918 /* 120443 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42919 /* 120445 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42920 /* 120447 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42921 /* 120450 */ GIR_RootConstrainSelectedInstOperands,
42922 /* 120451 */ // GIR_Coverage, 716,
42923 /* 120451 */ GIR_EraseRootFromParent_Done,
42924 /* 120452 */ // Label 2612: @120452
42925 /* 120452 */ GIM_Reject,
42926 /* 120453 */ // Label 2602: @120453
42927 /* 120453 */ GIM_Reject,
42928 /* 120454 */ // Label 2576: @120454
42929 /* 120454 */ GIM_Reject,
42930 /* 120455 */ // Label 28: @120455
42931 /* 120455 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 2617*/ GIMT_Encode4(122498),
42932 /* 120466 */ /*GILLT_s8*//*Label 2613*/ GIMT_Encode4(120482),
42933 /* 120470 */ /*GILLT_s16*//*Label 2614*/ GIMT_Encode4(120797),
42934 /* 120474 */ /*GILLT_s32*//*Label 2615*/ GIMT_Encode4(121112),
42935 /* 120478 */ /*GILLT_s64*//*Label 2616*/ GIMT_Encode4(121805),
42936 /* 120482 */ // Label 2613: @120482
42937 /* 120482 */ GIM_Try, /*On fail goto*//*Label 2618*/ GIMT_Encode4(120796),
42938 /* 120487 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
42939 /* 120490 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
42940 /* 120493 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42941 /* 120497 */ GIM_Try, /*On fail goto*//*Label 2619*/ GIMT_Encode4(120564), // Rule ID 737 //
42942 /* 120502 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42943 /* 120505 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
42944 /* 120509 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42945 /* 120513 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42946 /* 120516 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42947 /* 120520 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
42948 /* 120524 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
42949 /* 120528 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42950 /* 120532 */ // MIs[2] Operand 1
42951 /* 120532 */ // No operand predicates
42952 /* 120532 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
42953 /* 120534 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42954 /* 120541 */ // (sra:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, (imm:{ *:[i8] }):$src2) => (SAR8mi_ND:{ *:[i8] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
42955 /* 120541 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR8mi_ND),
42956 /* 120544 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42957 /* 120546 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
42958 /* 120550 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
42959 /* 120553 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42960 /* 120556 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
42961 /* 120562 */ GIR_RootConstrainSelectedInstOperands,
42962 /* 120563 */ // GIR_Coverage, 737,
42963 /* 120563 */ GIR_EraseRootFromParent_Done,
42964 /* 120564 */ // Label 2619: @120564
42965 /* 120564 */ GIM_Try, /*On fail goto*//*Label 2620*/ GIMT_Encode4(120637), // Rule ID 753 //
42966 /* 120569 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42967 /* 120572 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
42968 /* 120576 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42969 /* 120580 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42970 /* 120583 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42971 /* 120587 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
42972 /* 120591 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42973 /* 120595 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42974 /* 120597 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42975 /* 120604 */ // (sra:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, CL:{ *:[i8] }) => (SAR8mCL_ND:{ *:[i8] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
42976 /* 120604 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42977 /* 120608 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
42978 /* 120614 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
42979 /* 120618 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR8mCL_ND),
42980 /* 120621 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42981 /* 120623 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
42982 /* 120627 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42983 /* 120630 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42984 /* 120635 */ GIR_RootConstrainSelectedInstOperands,
42985 /* 120636 */ // GIR_Coverage, 753,
42986 /* 120636 */ GIR_EraseRootFromParent_Done,
42987 /* 120637 */ // Label 2620: @120637
42988 /* 120637 */ GIM_Try, /*On fail goto*//*Label 2621*/ GIMT_Encode4(120674), // Rule ID 725 //
42989 /* 120642 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
42990 /* 120645 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42991 /* 120649 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
42992 /* 120653 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42993 /* 120657 */ // MIs[1] Operand 1
42994 /* 120657 */ // No operand predicates
42995 /* 120657 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42996 /* 120659 */ // (sra:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
42997 /* 120659 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR8ri),
42998 /* 120662 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42999 /* 120664 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43000 /* 120666 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
43001 /* 120669 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43002 /* 120672 */ GIR_RootConstrainSelectedInstOperands,
43003 /* 120673 */ // GIR_Coverage, 725,
43004 /* 120673 */ GIR_EraseRootFromParent_Done,
43005 /* 120674 */ // Label 2621: @120674
43006 /* 120674 */ GIM_Try, /*On fail goto*//*Label 2622*/ GIMT_Encode4(120711), // Rule ID 729 //
43007 /* 120679 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43008 /* 120682 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
43009 /* 120686 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43010 /* 120690 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43011 /* 120694 */ // MIs[1] Operand 1
43012 /* 120694 */ // No operand predicates
43013 /* 120694 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43014 /* 120696 */ // (sra:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
43015 /* 120696 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR8ri_ND),
43016 /* 120699 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43017 /* 120701 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43018 /* 120703 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
43019 /* 120706 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43020 /* 120709 */ GIR_RootConstrainSelectedInstOperands,
43021 /* 120710 */ // GIR_Coverage, 729,
43022 /* 120710 */ GIR_EraseRootFromParent_Done,
43023 /* 120711 */ // Label 2622: @120711
43024 /* 120711 */ GIM_Try, /*On fail goto*//*Label 2623*/ GIMT_Encode4(120753), // Rule ID 741 //
43025 /* 120716 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
43026 /* 120719 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
43027 /* 120723 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43028 /* 120727 */ // (sra:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (SAR8rCL:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
43029 /* 120727 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43030 /* 120731 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
43031 /* 120737 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
43032 /* 120741 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR8rCL),
43033 /* 120744 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43034 /* 120746 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43035 /* 120748 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43036 /* 120751 */ GIR_RootConstrainSelectedInstOperands,
43037 /* 120752 */ // GIR_Coverage, 741,
43038 /* 120752 */ GIR_EraseRootFromParent_Done,
43039 /* 120753 */ // Label 2623: @120753
43040 /* 120753 */ GIM_Try, /*On fail goto*//*Label 2624*/ GIMT_Encode4(120795), // Rule ID 745 //
43041 /* 120758 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43042 /* 120761 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
43043 /* 120765 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43044 /* 120769 */ // (sra:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (SAR8rCL_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
43045 /* 120769 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43046 /* 120773 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
43047 /* 120779 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
43048 /* 120783 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR8rCL_ND),
43049 /* 120786 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43050 /* 120788 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43051 /* 120790 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43052 /* 120793 */ GIR_RootConstrainSelectedInstOperands,
43053 /* 120794 */ // GIR_Coverage, 745,
43054 /* 120794 */ GIR_EraseRootFromParent_Done,
43055 /* 120795 */ // Label 2624: @120795
43056 /* 120795 */ GIM_Reject,
43057 /* 120796 */ // Label 2618: @120796
43058 /* 120796 */ GIM_Reject,
43059 /* 120797 */ // Label 2614: @120797
43060 /* 120797 */ GIM_Try, /*On fail goto*//*Label 2625*/ GIMT_Encode4(121111),
43061 /* 120802 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
43062 /* 120805 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
43063 /* 120808 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
43064 /* 120812 */ GIM_Try, /*On fail goto*//*Label 2626*/ GIMT_Encode4(120879), // Rule ID 738 //
43065 /* 120817 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43066 /* 120820 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
43067 /* 120824 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43068 /* 120828 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43069 /* 120831 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43070 /* 120835 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
43071 /* 120839 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
43072 /* 120843 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43073 /* 120847 */ // MIs[2] Operand 1
43074 /* 120847 */ // No operand predicates
43075 /* 120847 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
43076 /* 120849 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43077 /* 120856 */ // (sra:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, (imm:{ *:[i8] }):$src2) => (SAR16mi_ND:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
43078 /* 120856 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR16mi_ND),
43079 /* 120859 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43080 /* 120861 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
43081 /* 120865 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
43082 /* 120868 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43083 /* 120871 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
43084 /* 120877 */ GIR_RootConstrainSelectedInstOperands,
43085 /* 120878 */ // GIR_Coverage, 738,
43086 /* 120878 */ GIR_EraseRootFromParent_Done,
43087 /* 120879 */ // Label 2626: @120879
43088 /* 120879 */ GIM_Try, /*On fail goto*//*Label 2627*/ GIMT_Encode4(120952), // Rule ID 754 //
43089 /* 120884 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43090 /* 120887 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
43091 /* 120891 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43092 /* 120895 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43093 /* 120898 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43094 /* 120902 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
43095 /* 120906 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43096 /* 120910 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43097 /* 120912 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43098 /* 120919 */ // (sra:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, CL:{ *:[i8] }) => (SAR16mCL_ND:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
43099 /* 120919 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43100 /* 120923 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
43101 /* 120929 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
43102 /* 120933 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR16mCL_ND),
43103 /* 120936 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43104 /* 120938 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
43105 /* 120942 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43106 /* 120945 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43107 /* 120950 */ GIR_RootConstrainSelectedInstOperands,
43108 /* 120951 */ // GIR_Coverage, 754,
43109 /* 120951 */ GIR_EraseRootFromParent_Done,
43110 /* 120952 */ // Label 2627: @120952
43111 /* 120952 */ GIM_Try, /*On fail goto*//*Label 2628*/ GIMT_Encode4(120989), // Rule ID 726 //
43112 /* 120957 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
43113 /* 120960 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
43114 /* 120964 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43115 /* 120968 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43116 /* 120972 */ // MIs[1] Operand 1
43117 /* 120972 */ // No operand predicates
43118 /* 120972 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43119 /* 120974 */ // (sra:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
43120 /* 120974 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR16ri),
43121 /* 120977 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43122 /* 120979 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43123 /* 120981 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
43124 /* 120984 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43125 /* 120987 */ GIR_RootConstrainSelectedInstOperands,
43126 /* 120988 */ // GIR_Coverage, 726,
43127 /* 120988 */ GIR_EraseRootFromParent_Done,
43128 /* 120989 */ // Label 2628: @120989
43129 /* 120989 */ GIM_Try, /*On fail goto*//*Label 2629*/ GIMT_Encode4(121026), // Rule ID 730 //
43130 /* 120994 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43131 /* 120997 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
43132 /* 121001 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43133 /* 121005 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43134 /* 121009 */ // MIs[1] Operand 1
43135 /* 121009 */ // No operand predicates
43136 /* 121009 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43137 /* 121011 */ // (sra:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
43138 /* 121011 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR16ri_ND),
43139 /* 121014 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43140 /* 121016 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43141 /* 121018 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
43142 /* 121021 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43143 /* 121024 */ GIR_RootConstrainSelectedInstOperands,
43144 /* 121025 */ // GIR_Coverage, 730,
43145 /* 121025 */ GIR_EraseRootFromParent_Done,
43146 /* 121026 */ // Label 2629: @121026
43147 /* 121026 */ GIM_Try, /*On fail goto*//*Label 2630*/ GIMT_Encode4(121068), // Rule ID 742 //
43148 /* 121031 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
43149 /* 121034 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
43150 /* 121038 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43151 /* 121042 */ // (sra:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (SAR16rCL:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
43152 /* 121042 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43153 /* 121046 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
43154 /* 121052 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
43155 /* 121056 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR16rCL),
43156 /* 121059 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43157 /* 121061 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43158 /* 121063 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43159 /* 121066 */ GIR_RootConstrainSelectedInstOperands,
43160 /* 121067 */ // GIR_Coverage, 742,
43161 /* 121067 */ GIR_EraseRootFromParent_Done,
43162 /* 121068 */ // Label 2630: @121068
43163 /* 121068 */ GIM_Try, /*On fail goto*//*Label 2631*/ GIMT_Encode4(121110), // Rule ID 746 //
43164 /* 121073 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43165 /* 121076 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
43166 /* 121080 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43167 /* 121084 */ // (sra:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (SAR16rCL_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
43168 /* 121084 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43169 /* 121088 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
43170 /* 121094 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
43171 /* 121098 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR16rCL_ND),
43172 /* 121101 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43173 /* 121103 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43174 /* 121105 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43175 /* 121108 */ GIR_RootConstrainSelectedInstOperands,
43176 /* 121109 */ // GIR_Coverage, 746,
43177 /* 121109 */ GIR_EraseRootFromParent_Done,
43178 /* 121110 */ // Label 2631: @121110
43179 /* 121110 */ GIM_Reject,
43180 /* 121111 */ // Label 2625: @121111
43181 /* 121111 */ GIM_Reject,
43182 /* 121112 */ // Label 2615: @121112
43183 /* 121112 */ GIM_Try, /*On fail goto*//*Label 2632*/ GIMT_Encode4(121804),
43184 /* 121117 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
43185 /* 121120 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
43186 /* 121123 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43187 /* 121127 */ GIM_Try, /*On fail goto*//*Label 2633*/ GIMT_Encode4(121194), // Rule ID 739 //
43188 /* 121132 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43189 /* 121135 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
43190 /* 121139 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43191 /* 121143 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43192 /* 121146 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43193 /* 121150 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
43194 /* 121154 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
43195 /* 121158 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43196 /* 121162 */ // MIs[2] Operand 1
43197 /* 121162 */ // No operand predicates
43198 /* 121162 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
43199 /* 121164 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43200 /* 121171 */ // (sra:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, (imm:{ *:[i8] }):$src2) => (SAR32mi_ND:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
43201 /* 121171 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR32mi_ND),
43202 /* 121174 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43203 /* 121176 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
43204 /* 121180 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
43205 /* 121183 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43206 /* 121186 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
43207 /* 121192 */ GIR_RootConstrainSelectedInstOperands,
43208 /* 121193 */ // GIR_Coverage, 739,
43209 /* 121193 */ GIR_EraseRootFromParent_Done,
43210 /* 121194 */ // Label 2633: @121194
43211 /* 121194 */ GIM_Try, /*On fail goto*//*Label 2634*/ GIMT_Encode4(121267), // Rule ID 755 //
43212 /* 121199 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43213 /* 121202 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
43214 /* 121206 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43215 /* 121210 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43216 /* 121213 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43217 /* 121217 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
43218 /* 121221 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43219 /* 121225 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43220 /* 121227 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43221 /* 121234 */ // (sra:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, CL:{ *:[i8] }) => (SAR32mCL_ND:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
43222 /* 121234 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43223 /* 121238 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
43224 /* 121244 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
43225 /* 121248 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR32mCL_ND),
43226 /* 121251 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43227 /* 121253 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
43228 /* 121257 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43229 /* 121260 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43230 /* 121265 */ GIR_RootConstrainSelectedInstOperands,
43231 /* 121266 */ // GIR_Coverage, 755,
43232 /* 121266 */ GIR_EraseRootFromParent_Done,
43233 /* 121267 */ // Label 2634: @121267
43234 /* 121267 */ GIM_Try, /*On fail goto*//*Label 2635*/ GIMT_Encode4(121377), // Rule ID 17656 //
43235 /* 121272 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
43236 /* 121275 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
43237 /* 121279 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43238 /* 121283 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43239 /* 121286 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43240 /* 121290 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
43241 /* 121294 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
43242 /* 121298 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43243 /* 121300 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43244 /* 121307 */ // (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] }))
43245 /* 121307 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
43246 /* 121310 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43247 /* 121314 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
43248 /* 121319 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
43249 /* 121321 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
43250 /* 121324 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43251 /* 121328 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
43252 /* 121333 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
43253 /* 121336 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
43254 /* 121340 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
43255 /* 121343 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
43256 /* 121348 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
43257 /* 121353 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
43258 /* 121358 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX32rm),
43259 /* 121361 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43260 /* 121363 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
43261 /* 121367 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
43262 /* 121370 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43263 /* 121375 */ GIR_RootConstrainSelectedInstOperands,
43264 /* 121376 */ // GIR_Coverage, 17656,
43265 /* 121376 */ GIR_EraseRootFromParent_Done,
43266 /* 121377 */ // Label 2635: @121377
43267 /* 121377 */ GIM_Try, /*On fail goto*//*Label 2636*/ GIMT_Encode4(121487), // Rule ID 17688 //
43268 /* 121382 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
43269 /* 121385 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
43270 /* 121389 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43271 /* 121393 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43272 /* 121396 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43273 /* 121400 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
43274 /* 121404 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
43275 /* 121408 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43276 /* 121410 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43277 /* 121417 */ // (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] }))
43278 /* 121417 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
43279 /* 121420 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43280 /* 121424 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
43281 /* 121429 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
43282 /* 121431 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
43283 /* 121434 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43284 /* 121438 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
43285 /* 121443 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
43286 /* 121446 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
43287 /* 121450 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
43288 /* 121453 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
43289 /* 121458 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
43290 /* 121463 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
43291 /* 121468 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX32rm_EVEX),
43292 /* 121471 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43293 /* 121473 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
43294 /* 121477 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
43295 /* 121480 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43296 /* 121485 */ GIR_RootConstrainSelectedInstOperands,
43297 /* 121486 */ // GIR_Coverage, 17688,
43298 /* 121486 */ GIR_EraseRootFromParent_Done,
43299 /* 121487 */ // Label 2636: @121487
43300 /* 121487 */ GIM_Try, /*On fail goto*//*Label 2637*/ GIMT_Encode4(121524), // Rule ID 727 //
43301 /* 121492 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
43302 /* 121495 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43303 /* 121499 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43304 /* 121503 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43305 /* 121507 */ // MIs[1] Operand 1
43306 /* 121507 */ // No operand predicates
43307 /* 121507 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43308 /* 121509 */ // (sra:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
43309 /* 121509 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR32ri),
43310 /* 121512 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43311 /* 121514 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43312 /* 121516 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
43313 /* 121519 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43314 /* 121522 */ GIR_RootConstrainSelectedInstOperands,
43315 /* 121523 */ // GIR_Coverage, 727,
43316 /* 121523 */ GIR_EraseRootFromParent_Done,
43317 /* 121524 */ // Label 2637: @121524
43318 /* 121524 */ GIM_Try, /*On fail goto*//*Label 2638*/ GIMT_Encode4(121561), // Rule ID 731 //
43319 /* 121529 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43320 /* 121532 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43321 /* 121536 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43322 /* 121540 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43323 /* 121544 */ // MIs[1] Operand 1
43324 /* 121544 */ // No operand predicates
43325 /* 121544 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43326 /* 121546 */ // (sra:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
43327 /* 121546 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR32ri_ND),
43328 /* 121549 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43329 /* 121551 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43330 /* 121553 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
43331 /* 121556 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43332 /* 121559 */ GIR_RootConstrainSelectedInstOperands,
43333 /* 121560 */ // GIR_Coverage, 731,
43334 /* 121560 */ GIR_EraseRootFromParent_Done,
43335 /* 121561 */ // Label 2638: @121561
43336 /* 121561 */ GIM_Try, /*On fail goto*//*Label 2639*/ GIMT_Encode4(121640), // Rule ID 17652 //
43337 /* 121566 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
43338 /* 121569 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43339 /* 121573 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
43340 /* 121577 */ // (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] }))
43341 /* 121577 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
43342 /* 121580 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43343 /* 121584 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
43344 /* 121589 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
43345 /* 121591 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
43346 /* 121594 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43347 /* 121598 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
43348 /* 121603 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
43349 /* 121606 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
43350 /* 121610 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
43351 /* 121613 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
43352 /* 121618 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
43353 /* 121623 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
43354 /* 121628 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX32rr),
43355 /* 121631 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43356 /* 121633 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43357 /* 121635 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
43358 /* 121638 */ GIR_RootConstrainSelectedInstOperands,
43359 /* 121639 */ // GIR_Coverage, 17652,
43360 /* 121639 */ GIR_EraseRootFromParent_Done,
43361 /* 121640 */ // Label 2639: @121640
43362 /* 121640 */ GIM_Try, /*On fail goto*//*Label 2640*/ GIMT_Encode4(121719), // Rule ID 17684 //
43363 /* 121645 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
43364 /* 121648 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43365 /* 121652 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
43366 /* 121656 */ // (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] }))
43367 /* 121656 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
43368 /* 121659 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43369 /* 121663 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
43370 /* 121668 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
43371 /* 121670 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
43372 /* 121673 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43373 /* 121677 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
43374 /* 121682 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
43375 /* 121685 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
43376 /* 121689 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
43377 /* 121692 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
43378 /* 121697 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
43379 /* 121702 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
43380 /* 121707 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX32rr_EVEX),
43381 /* 121710 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43382 /* 121712 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43383 /* 121714 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
43384 /* 121717 */ GIR_RootConstrainSelectedInstOperands,
43385 /* 121718 */ // GIR_Coverage, 17684,
43386 /* 121718 */ GIR_EraseRootFromParent_Done,
43387 /* 121719 */ // Label 2640: @121719
43388 /* 121719 */ GIM_Try, /*On fail goto*//*Label 2641*/ GIMT_Encode4(121761), // Rule ID 743 //
43389 /* 121724 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
43390 /* 121727 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43391 /* 121731 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43392 /* 121735 */ // (sra:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SAR32rCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
43393 /* 121735 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43394 /* 121739 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
43395 /* 121745 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
43396 /* 121749 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR32rCL),
43397 /* 121752 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43398 /* 121754 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43399 /* 121756 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43400 /* 121759 */ GIR_RootConstrainSelectedInstOperands,
43401 /* 121760 */ // GIR_Coverage, 743,
43402 /* 121760 */ GIR_EraseRootFromParent_Done,
43403 /* 121761 */ // Label 2641: @121761
43404 /* 121761 */ GIM_Try, /*On fail goto*//*Label 2642*/ GIMT_Encode4(121803), // Rule ID 747 //
43405 /* 121766 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43406 /* 121769 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43407 /* 121773 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43408 /* 121777 */ // (sra:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SAR32rCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
43409 /* 121777 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43410 /* 121781 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
43411 /* 121787 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
43412 /* 121791 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR32rCL_ND),
43413 /* 121794 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43414 /* 121796 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43415 /* 121798 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43416 /* 121801 */ GIR_RootConstrainSelectedInstOperands,
43417 /* 121802 */ // GIR_Coverage, 747,
43418 /* 121802 */ GIR_EraseRootFromParent_Done,
43419 /* 121803 */ // Label 2642: @121803
43420 /* 121803 */ GIM_Reject,
43421 /* 121804 */ // Label 2632: @121804
43422 /* 121804 */ GIM_Reject,
43423 /* 121805 */ // Label 2616: @121805
43424 /* 121805 */ GIM_Try, /*On fail goto*//*Label 2643*/ GIMT_Encode4(122497),
43425 /* 121810 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
43426 /* 121813 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
43427 /* 121816 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43428 /* 121820 */ GIM_Try, /*On fail goto*//*Label 2644*/ GIMT_Encode4(121887), // Rule ID 740 //
43429 /* 121825 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43430 /* 121828 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
43431 /* 121832 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43432 /* 121836 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43433 /* 121839 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43434 /* 121843 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43435 /* 121847 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
43436 /* 121851 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43437 /* 121855 */ // MIs[2] Operand 1
43438 /* 121855 */ // No operand predicates
43439 /* 121855 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
43440 /* 121857 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43441 /* 121864 */ // (sra:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i8] }):$src2) => (SAR64mi_ND:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
43442 /* 121864 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR64mi_ND),
43443 /* 121867 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43444 /* 121869 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
43445 /* 121873 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
43446 /* 121876 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43447 /* 121879 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
43448 /* 121885 */ GIR_RootConstrainSelectedInstOperands,
43449 /* 121886 */ // GIR_Coverage, 740,
43450 /* 121886 */ GIR_EraseRootFromParent_Done,
43451 /* 121887 */ // Label 2644: @121887
43452 /* 121887 */ GIM_Try, /*On fail goto*//*Label 2645*/ GIMT_Encode4(121960), // Rule ID 756 //
43453 /* 121892 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43454 /* 121895 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
43455 /* 121899 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43456 /* 121903 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43457 /* 121906 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43458 /* 121910 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43459 /* 121914 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43460 /* 121918 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43461 /* 121920 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43462 /* 121927 */ // (sra:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, CL:{ *:[i8] }) => (SAR64mCL_ND:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
43463 /* 121927 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43464 /* 121931 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
43465 /* 121937 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
43466 /* 121941 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR64mCL_ND),
43467 /* 121944 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43468 /* 121946 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
43469 /* 121950 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43470 /* 121953 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43471 /* 121958 */ GIR_RootConstrainSelectedInstOperands,
43472 /* 121959 */ // GIR_Coverage, 756,
43473 /* 121959 */ GIR_EraseRootFromParent_Done,
43474 /* 121960 */ // Label 2645: @121960
43475 /* 121960 */ GIM_Try, /*On fail goto*//*Label 2646*/ GIMT_Encode4(122070), // Rule ID 17657 //
43476 /* 121965 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
43477 /* 121968 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
43478 /* 121972 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43479 /* 121976 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43480 /* 121979 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43481 /* 121983 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43482 /* 121987 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
43483 /* 121991 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43484 /* 121993 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43485 /* 122000 */ // (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] }))
43486 /* 122000 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
43487 /* 122003 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43488 /* 122007 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
43489 /* 122012 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
43490 /* 122014 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
43491 /* 122017 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43492 /* 122021 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
43493 /* 122026 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
43494 /* 122029 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
43495 /* 122033 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
43496 /* 122036 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
43497 /* 122041 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
43498 /* 122046 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
43499 /* 122051 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX64rm),
43500 /* 122054 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43501 /* 122056 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
43502 /* 122060 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
43503 /* 122063 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43504 /* 122068 */ GIR_RootConstrainSelectedInstOperands,
43505 /* 122069 */ // GIR_Coverage, 17657,
43506 /* 122069 */ GIR_EraseRootFromParent_Done,
43507 /* 122070 */ // Label 2646: @122070
43508 /* 122070 */ GIM_Try, /*On fail goto*//*Label 2647*/ GIMT_Encode4(122180), // Rule ID 17689 //
43509 /* 122075 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
43510 /* 122078 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
43511 /* 122082 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43512 /* 122086 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43513 /* 122089 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43514 /* 122093 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43515 /* 122097 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
43516 /* 122101 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43517 /* 122103 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43518 /* 122110 */ // (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] }))
43519 /* 122110 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
43520 /* 122113 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43521 /* 122117 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
43522 /* 122122 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
43523 /* 122124 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
43524 /* 122127 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43525 /* 122131 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
43526 /* 122136 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
43527 /* 122139 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
43528 /* 122143 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
43529 /* 122146 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
43530 /* 122151 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
43531 /* 122156 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
43532 /* 122161 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX64rm_EVEX),
43533 /* 122164 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43534 /* 122166 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
43535 /* 122170 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
43536 /* 122173 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43537 /* 122178 */ GIR_RootConstrainSelectedInstOperands,
43538 /* 122179 */ // GIR_Coverage, 17689,
43539 /* 122179 */ GIR_EraseRootFromParent_Done,
43540 /* 122180 */ // Label 2647: @122180
43541 /* 122180 */ GIM_Try, /*On fail goto*//*Label 2648*/ GIMT_Encode4(122217), // Rule ID 728 //
43542 /* 122185 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
43543 /* 122188 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43544 /* 122192 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43545 /* 122196 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43546 /* 122200 */ // MIs[1] Operand 1
43547 /* 122200 */ // No operand predicates
43548 /* 122200 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43549 /* 122202 */ // (sra:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
43550 /* 122202 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR64ri),
43551 /* 122205 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43552 /* 122207 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43553 /* 122209 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
43554 /* 122212 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43555 /* 122215 */ GIR_RootConstrainSelectedInstOperands,
43556 /* 122216 */ // GIR_Coverage, 728,
43557 /* 122216 */ GIR_EraseRootFromParent_Done,
43558 /* 122217 */ // Label 2648: @122217
43559 /* 122217 */ GIM_Try, /*On fail goto*//*Label 2649*/ GIMT_Encode4(122254), // Rule ID 732 //
43560 /* 122222 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43561 /* 122225 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43562 /* 122229 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43563 /* 122233 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43564 /* 122237 */ // MIs[1] Operand 1
43565 /* 122237 */ // No operand predicates
43566 /* 122237 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43567 /* 122239 */ // (sra:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR64ri_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
43568 /* 122239 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR64ri_ND),
43569 /* 122242 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43570 /* 122244 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43571 /* 122246 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
43572 /* 122249 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43573 /* 122252 */ GIR_RootConstrainSelectedInstOperands,
43574 /* 122253 */ // GIR_Coverage, 732,
43575 /* 122253 */ GIR_EraseRootFromParent_Done,
43576 /* 122254 */ // Label 2649: @122254
43577 /* 122254 */ GIM_Try, /*On fail goto*//*Label 2650*/ GIMT_Encode4(122333), // Rule ID 17653 //
43578 /* 122259 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
43579 /* 122262 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43580 /* 122266 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
43581 /* 122270 */ // (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] }))
43582 /* 122270 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
43583 /* 122273 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43584 /* 122277 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
43585 /* 122282 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
43586 /* 122284 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
43587 /* 122287 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43588 /* 122291 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
43589 /* 122296 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
43590 /* 122299 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
43591 /* 122303 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
43592 /* 122306 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
43593 /* 122311 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
43594 /* 122316 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
43595 /* 122321 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX64rr),
43596 /* 122324 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43597 /* 122326 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43598 /* 122328 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
43599 /* 122331 */ GIR_RootConstrainSelectedInstOperands,
43600 /* 122332 */ // GIR_Coverage, 17653,
43601 /* 122332 */ GIR_EraseRootFromParent_Done,
43602 /* 122333 */ // Label 2650: @122333
43603 /* 122333 */ GIM_Try, /*On fail goto*//*Label 2651*/ GIMT_Encode4(122412), // Rule ID 17685 //
43604 /* 122338 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
43605 /* 122341 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43606 /* 122345 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
43607 /* 122349 */ // (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] }))
43608 /* 122349 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
43609 /* 122352 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43610 /* 122356 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
43611 /* 122361 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
43612 /* 122363 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
43613 /* 122366 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43614 /* 122370 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
43615 /* 122375 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
43616 /* 122378 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
43617 /* 122382 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
43618 /* 122385 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
43619 /* 122390 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
43620 /* 122395 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
43621 /* 122400 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX64rr_EVEX),
43622 /* 122403 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43623 /* 122405 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43624 /* 122407 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
43625 /* 122410 */ GIR_RootConstrainSelectedInstOperands,
43626 /* 122411 */ // GIR_Coverage, 17685,
43627 /* 122411 */ GIR_EraseRootFromParent_Done,
43628 /* 122412 */ // Label 2651: @122412
43629 /* 122412 */ GIM_Try, /*On fail goto*//*Label 2652*/ GIMT_Encode4(122454), // Rule ID 744 //
43630 /* 122417 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
43631 /* 122420 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43632 /* 122424 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43633 /* 122428 */ // (sra:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SAR64rCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
43634 /* 122428 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43635 /* 122432 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
43636 /* 122438 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
43637 /* 122442 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR64rCL),
43638 /* 122445 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43639 /* 122447 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43640 /* 122449 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43641 /* 122452 */ GIR_RootConstrainSelectedInstOperands,
43642 /* 122453 */ // GIR_Coverage, 744,
43643 /* 122453 */ GIR_EraseRootFromParent_Done,
43644 /* 122454 */ // Label 2652: @122454
43645 /* 122454 */ GIM_Try, /*On fail goto*//*Label 2653*/ GIMT_Encode4(122496), // Rule ID 748 //
43646 /* 122459 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43647 /* 122462 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43648 /* 122466 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43649 /* 122470 */ // (sra:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SAR64rCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
43650 /* 122470 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43651 /* 122474 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
43652 /* 122480 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
43653 /* 122484 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR64rCL_ND),
43654 /* 122487 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43655 /* 122489 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43656 /* 122491 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43657 /* 122494 */ GIR_RootConstrainSelectedInstOperands,
43658 /* 122495 */ // GIR_Coverage, 748,
43659 /* 122495 */ GIR_EraseRootFromParent_Done,
43660 /* 122496 */ // Label 2653: @122496
43661 /* 122496 */ GIM_Reject,
43662 /* 122497 */ // Label 2643: @122497
43663 /* 122497 */ GIM_Reject,
43664 /* 122498 */ // Label 2617: @122498
43665 /* 122498 */ GIM_Reject,
43666 /* 122499 */ // Label 29: @122499
43667 /* 122499 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(5), /*)*//*default:*//*Label 2656*/ GIMT_Encode4(123226),
43668 /* 122510 */ /*GILLT_s32*//*Label 2654*/ GIMT_Encode4(122518),
43669 /* 122514 */ /*GILLT_s64*//*Label 2655*/ GIMT_Encode4(122872),
43670 /* 122518 */ // Label 2654: @122518
43671 /* 122518 */ GIM_Try, /*On fail goto*//*Label 2657*/ GIMT_Encode4(122871),
43672 /* 122523 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
43673 /* 122526 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
43674 /* 122529 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
43675 /* 122532 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43676 /* 122536 */ GIM_Try, /*On fail goto*//*Label 2658*/ GIMT_Encode4(122609), // Rule ID 840 //
43677 /* 122541 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43678 /* 122544 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
43679 /* 122548 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43680 /* 122552 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43681 /* 122555 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43682 /* 122559 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
43683 /* 122563 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43684 /* 122567 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
43685 /* 122571 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43686 /* 122575 */ // MIs[2] Operand 1
43687 /* 122575 */ // No operand predicates
43688 /* 122575 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
43689 /* 122577 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43690 /* 122584 */ // (fshl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3) => (SHLD32mri8_ND:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3)
43691 /* 122584 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD32mri8_ND),
43692 /* 122587 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43693 /* 122589 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
43694 /* 122593 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
43695 /* 122595 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src3
43696 /* 122598 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43697 /* 122601 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
43698 /* 122607 */ GIR_RootConstrainSelectedInstOperands,
43699 /* 122608 */ // GIR_Coverage, 840,
43700 /* 122608 */ GIR_EraseRootFromParent_Done,
43701 /* 122609 */ // Label 2658: @122609
43702 /* 122609 */ GIM_Try, /*On fail goto*//*Label 2659*/ GIMT_Encode4(122688), // Rule ID 843 //
43703 /* 122614 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43704 /* 122617 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
43705 /* 122621 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43706 /* 122625 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43707 /* 122628 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43708 /* 122632 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
43709 /* 122636 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43710 /* 122640 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43711 /* 122644 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43712 /* 122646 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43713 /* 122653 */ // (fshl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, GR32:{ *:[i32] }:$src2, CL:{ *:[i8] }) => (SHLD32mrCL_ND:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR32:{ *:[i32] }:$src2)
43714 /* 122653 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43715 /* 122657 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
43716 /* 122663 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
43717 /* 122667 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD32mrCL_ND),
43718 /* 122670 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43719 /* 122672 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
43720 /* 122676 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
43721 /* 122678 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43722 /* 122681 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43723 /* 122686 */ GIR_RootConstrainSelectedInstOperands,
43724 /* 122687 */ // GIR_Coverage, 843,
43725 /* 122687 */ GIR_EraseRootFromParent_Done,
43726 /* 122688 */ // Label 2659: @122688
43727 /* 122688 */ GIM_Try, /*On fail goto*//*Label 2660*/ GIMT_Encode4(122731), // Rule ID 822 //
43728 /* 122693 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
43729 /* 122696 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43730 /* 122700 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43731 /* 122704 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43732 /* 122708 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43733 /* 122712 */ // MIs[1] Operand 1
43734 /* 122712 */ // No operand predicates
43735 /* 122712 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43736 /* 122714 */ // (fshl:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3) => (SHLD32rri8:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3)
43737 /* 122714 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD32rri8),
43738 /* 122717 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43739 /* 122719 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43740 /* 122721 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
43741 /* 122723 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
43742 /* 122726 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43743 /* 122729 */ GIR_RootConstrainSelectedInstOperands,
43744 /* 122730 */ // GIR_Coverage, 822,
43745 /* 122730 */ GIR_EraseRootFromParent_Done,
43746 /* 122731 */ // Label 2660: @122731
43747 /* 122731 */ GIM_Try, /*On fail goto*//*Label 2661*/ GIMT_Encode4(122774), // Rule ID 828 //
43748 /* 122736 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43749 /* 122739 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43750 /* 122743 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43751 /* 122747 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43752 /* 122751 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43753 /* 122755 */ // MIs[1] Operand 1
43754 /* 122755 */ // No operand predicates
43755 /* 122755 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43756 /* 122757 */ // (fshl:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3) => (SHLD32rri8_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3)
43757 /* 122757 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD32rri8_ND),
43758 /* 122760 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43759 /* 122762 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43760 /* 122764 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
43761 /* 122766 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
43762 /* 122769 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43763 /* 122772 */ GIR_RootConstrainSelectedInstOperands,
43764 /* 122773 */ // GIR_Coverage, 828,
43765 /* 122773 */ GIR_EraseRootFromParent_Done,
43766 /* 122774 */ // Label 2661: @122774
43767 /* 122774 */ GIM_Try, /*On fail goto*//*Label 2662*/ GIMT_Encode4(122822), // Rule ID 825 //
43768 /* 122779 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
43769 /* 122782 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43770 /* 122786 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43771 /* 122790 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43772 /* 122794 */ // (fshl:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, CL:{ *:[i8] }) => (SHLD32rrCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
43773 /* 122794 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43774 /* 122798 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
43775 /* 122804 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
43776 /* 122808 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD32rrCL),
43777 /* 122811 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43778 /* 122813 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43779 /* 122815 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
43780 /* 122817 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43781 /* 122820 */ GIR_RootConstrainSelectedInstOperands,
43782 /* 122821 */ // GIR_Coverage, 825,
43783 /* 122821 */ GIR_EraseRootFromParent_Done,
43784 /* 122822 */ // Label 2662: @122822
43785 /* 122822 */ GIM_Try, /*On fail goto*//*Label 2663*/ GIMT_Encode4(122870), // Rule ID 831 //
43786 /* 122827 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43787 /* 122830 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43788 /* 122834 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43789 /* 122838 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43790 /* 122842 */ // (fshl:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, CL:{ *:[i8] }) => (SHLD32rrCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
43791 /* 122842 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43792 /* 122846 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
43793 /* 122852 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
43794 /* 122856 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD32rrCL_ND),
43795 /* 122859 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43796 /* 122861 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43797 /* 122863 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
43798 /* 122865 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43799 /* 122868 */ GIR_RootConstrainSelectedInstOperands,
43800 /* 122869 */ // GIR_Coverage, 831,
43801 /* 122869 */ GIR_EraseRootFromParent_Done,
43802 /* 122870 */ // Label 2663: @122870
43803 /* 122870 */ GIM_Reject,
43804 /* 122871 */ // Label 2657: @122871
43805 /* 122871 */ GIM_Reject,
43806 /* 122872 */ // Label 2655: @122872
43807 /* 122872 */ GIM_Try, /*On fail goto*//*Label 2664*/ GIMT_Encode4(123225),
43808 /* 122877 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
43809 /* 122880 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
43810 /* 122883 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
43811 /* 122886 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43812 /* 122890 */ GIM_Try, /*On fail goto*//*Label 2665*/ GIMT_Encode4(122963), // Rule ID 841 //
43813 /* 122895 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43814 /* 122898 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
43815 /* 122902 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43816 /* 122906 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43817 /* 122909 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43818 /* 122913 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43819 /* 122917 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43820 /* 122921 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
43821 /* 122925 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43822 /* 122929 */ // MIs[2] Operand 1
43823 /* 122929 */ // No operand predicates
43824 /* 122929 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
43825 /* 122931 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43826 /* 122938 */ // (fshl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3) => (SHLD64mri8_ND:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3)
43827 /* 122938 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD64mri8_ND),
43828 /* 122941 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43829 /* 122943 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
43830 /* 122947 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
43831 /* 122949 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src3
43832 /* 122952 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43833 /* 122955 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
43834 /* 122961 */ GIR_RootConstrainSelectedInstOperands,
43835 /* 122962 */ // GIR_Coverage, 841,
43836 /* 122962 */ GIR_EraseRootFromParent_Done,
43837 /* 122963 */ // Label 2665: @122963
43838 /* 122963 */ GIM_Try, /*On fail goto*//*Label 2666*/ GIMT_Encode4(123042), // Rule ID 844 //
43839 /* 122968 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43840 /* 122971 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
43841 /* 122975 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43842 /* 122979 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43843 /* 122982 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43844 /* 122986 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43845 /* 122990 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43846 /* 122994 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43847 /* 122998 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43848 /* 123000 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43849 /* 123007 */ // (fshl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR64:{ *:[i64] }:$src2, CL:{ *:[i8] }) => (SHLD64mrCL_ND:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR64:{ *:[i64] }:$src2)
43850 /* 123007 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43851 /* 123011 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
43852 /* 123017 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
43853 /* 123021 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD64mrCL_ND),
43854 /* 123024 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43855 /* 123026 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
43856 /* 123030 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
43857 /* 123032 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43858 /* 123035 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43859 /* 123040 */ GIR_RootConstrainSelectedInstOperands,
43860 /* 123041 */ // GIR_Coverage, 844,
43861 /* 123041 */ GIR_EraseRootFromParent_Done,
43862 /* 123042 */ // Label 2666: @123042
43863 /* 123042 */ GIM_Try, /*On fail goto*//*Label 2667*/ GIMT_Encode4(123085), // Rule ID 823 //
43864 /* 123047 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
43865 /* 123050 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43866 /* 123054 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43867 /* 123058 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43868 /* 123062 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43869 /* 123066 */ // MIs[1] Operand 1
43870 /* 123066 */ // No operand predicates
43871 /* 123066 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43872 /* 123068 */ // (fshl:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3) => (SHLD64rri8:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3)
43873 /* 123068 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD64rri8),
43874 /* 123071 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43875 /* 123073 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43876 /* 123075 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
43877 /* 123077 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
43878 /* 123080 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43879 /* 123083 */ GIR_RootConstrainSelectedInstOperands,
43880 /* 123084 */ // GIR_Coverage, 823,
43881 /* 123084 */ GIR_EraseRootFromParent_Done,
43882 /* 123085 */ // Label 2667: @123085
43883 /* 123085 */ GIM_Try, /*On fail goto*//*Label 2668*/ GIMT_Encode4(123128), // Rule ID 829 //
43884 /* 123090 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43885 /* 123093 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43886 /* 123097 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43887 /* 123101 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43888 /* 123105 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43889 /* 123109 */ // MIs[1] Operand 1
43890 /* 123109 */ // No operand predicates
43891 /* 123109 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43892 /* 123111 */ // (fshl:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3) => (SHLD64rri8_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3)
43893 /* 123111 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD64rri8_ND),
43894 /* 123114 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43895 /* 123116 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43896 /* 123118 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
43897 /* 123120 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
43898 /* 123123 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43899 /* 123126 */ GIR_RootConstrainSelectedInstOperands,
43900 /* 123127 */ // GIR_Coverage, 829,
43901 /* 123127 */ GIR_EraseRootFromParent_Done,
43902 /* 123128 */ // Label 2668: @123128
43903 /* 123128 */ GIM_Try, /*On fail goto*//*Label 2669*/ GIMT_Encode4(123176), // Rule ID 826 //
43904 /* 123133 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
43905 /* 123136 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43906 /* 123140 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43907 /* 123144 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43908 /* 123148 */ // (fshl:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, CL:{ *:[i8] }) => (SHLD64rrCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
43909 /* 123148 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43910 /* 123152 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
43911 /* 123158 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
43912 /* 123162 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD64rrCL),
43913 /* 123165 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43914 /* 123167 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43915 /* 123169 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
43916 /* 123171 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43917 /* 123174 */ GIR_RootConstrainSelectedInstOperands,
43918 /* 123175 */ // GIR_Coverage, 826,
43919 /* 123175 */ GIR_EraseRootFromParent_Done,
43920 /* 123176 */ // Label 2669: @123176
43921 /* 123176 */ GIM_Try, /*On fail goto*//*Label 2670*/ GIMT_Encode4(123224), // Rule ID 832 //
43922 /* 123181 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43923 /* 123184 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43924 /* 123188 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43925 /* 123192 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43926 /* 123196 */ // (fshl:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, CL:{ *:[i8] }) => (SHLD64rrCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
43927 /* 123196 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43928 /* 123200 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
43929 /* 123206 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
43930 /* 123210 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD64rrCL_ND),
43931 /* 123213 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43932 /* 123215 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43933 /* 123217 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
43934 /* 123219 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43935 /* 123222 */ GIR_RootConstrainSelectedInstOperands,
43936 /* 123223 */ // GIR_Coverage, 832,
43937 /* 123223 */ GIR_EraseRootFromParent_Done,
43938 /* 123224 */ // Label 2670: @123224
43939 /* 123224 */ GIM_Reject,
43940 /* 123225 */ // Label 2664: @123225
43941 /* 123225 */ GIM_Reject,
43942 /* 123226 */ // Label 2656: @123226
43943 /* 123226 */ GIM_Reject,
43944 /* 123227 */ // Label 30: @123227
43945 /* 123227 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(5), /*)*//*default:*//*Label 2673*/ GIMT_Encode4(123914),
43946 /* 123238 */ /*GILLT_s32*//*Label 2671*/ GIMT_Encode4(123246),
43947 /* 123242 */ /*GILLT_s64*//*Label 2672*/ GIMT_Encode4(123580),
43948 /* 123246 */ // Label 2671: @123246
43949 /* 123246 */ GIM_Try, /*On fail goto*//*Label 2674*/ GIMT_Encode4(123579),
43950 /* 123251 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
43951 /* 123254 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
43952 /* 123257 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
43953 /* 123260 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43954 /* 123264 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43955 /* 123268 */ GIM_Try, /*On fail goto*//*Label 2675*/ GIMT_Encode4(123337), // Rule ID 864 //
43956 /* 123273 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43957 /* 123276 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43958 /* 123280 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43959 /* 123284 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43960 /* 123287 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43961 /* 123291 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
43962 /* 123295 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
43963 /* 123299 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43964 /* 123303 */ // MIs[2] Operand 1
43965 /* 123303 */ // No operand predicates
43966 /* 123303 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
43967 /* 123305 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43968 /* 123312 */ // (fshr:{ *:[i32] } GR32:{ *:[i32] }:$src2, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, (imm:{ *:[i8] }):$src3) => (SHRD32mri8_ND:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3)
43969 /* 123312 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD32mri8_ND),
43970 /* 123315 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43971 /* 123317 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
43972 /* 123321 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43973 /* 123323 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src3
43974 /* 123326 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43975 /* 123329 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
43976 /* 123335 */ GIR_RootConstrainSelectedInstOperands,
43977 /* 123336 */ // GIR_Coverage, 864,
43978 /* 123336 */ GIR_EraseRootFromParent_Done,
43979 /* 123337 */ // Label 2675: @123337
43980 /* 123337 */ GIM_Try, /*On fail goto*//*Label 2676*/ GIMT_Encode4(123412), // Rule ID 867 //
43981 /* 123342 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43982 /* 123345 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43983 /* 123349 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43984 /* 123353 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43985 /* 123356 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43986 /* 123360 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
43987 /* 123364 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43988 /* 123368 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43989 /* 123370 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43990 /* 123377 */ // (fshr:{ *:[i32] } GR32:{ *:[i32] }:$src2, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, CL:{ *:[i8] }) => (SHRD32mrCL_ND:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR32:{ *:[i32] }:$src2)
43991 /* 123377 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43992 /* 123381 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
43993 /* 123387 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
43994 /* 123391 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD32mrCL_ND),
43995 /* 123394 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43996 /* 123396 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
43997 /* 123400 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43998 /* 123402 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43999 /* 123405 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44000 /* 123410 */ GIR_RootConstrainSelectedInstOperands,
44001 /* 123411 */ // GIR_Coverage, 867,
44002 /* 123411 */ GIR_EraseRootFromParent_Done,
44003 /* 123412 */ // Label 2676: @123412
44004 /* 123412 */ GIM_Try, /*On fail goto*//*Label 2677*/ GIMT_Encode4(123451), // Rule ID 846 //
44005 /* 123417 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
44006 /* 123420 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44007 /* 123424 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
44008 /* 123428 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44009 /* 123432 */ // MIs[1] Operand 1
44010 /* 123432 */ // No operand predicates
44011 /* 123432 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44012 /* 123434 */ // (fshr:{ *:[i32] } GR32:{ *:[i32] }:$src2, GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src3) => (SHRD32rri8:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3)
44013 /* 123434 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD32rri8),
44014 /* 123437 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44015 /* 123439 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
44016 /* 123441 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
44017 /* 123443 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
44018 /* 123446 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44019 /* 123449 */ GIR_RootConstrainSelectedInstOperands,
44020 /* 123450 */ // GIR_Coverage, 846,
44021 /* 123450 */ GIR_EraseRootFromParent_Done,
44022 /* 123451 */ // Label 2677: @123451
44023 /* 123451 */ GIM_Try, /*On fail goto*//*Label 2678*/ GIMT_Encode4(123490), // Rule ID 852 //
44024 /* 123456 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44025 /* 123459 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44026 /* 123463 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
44027 /* 123467 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44028 /* 123471 */ // MIs[1] Operand 1
44029 /* 123471 */ // No operand predicates
44030 /* 123471 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44031 /* 123473 */ // (fshr:{ *:[i32] } GR32:{ *:[i32] }:$src2, GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src3) => (SHRD32rri8_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3)
44032 /* 123473 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD32rri8_ND),
44033 /* 123476 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44034 /* 123478 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
44035 /* 123480 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
44036 /* 123482 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
44037 /* 123485 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44038 /* 123488 */ GIR_RootConstrainSelectedInstOperands,
44039 /* 123489 */ // GIR_Coverage, 852,
44040 /* 123489 */ GIR_EraseRootFromParent_Done,
44041 /* 123490 */ // Label 2678: @123490
44042 /* 123490 */ GIM_Try, /*On fail goto*//*Label 2679*/ GIMT_Encode4(123534), // Rule ID 849 //
44043 /* 123495 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
44044 /* 123498 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44045 /* 123502 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44046 /* 123506 */ // (fshr:{ *:[i32] } GR32:{ *:[i32] }:$src2, GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SHRD32rrCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
44047 /* 123506 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44048 /* 123510 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
44049 /* 123516 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
44050 /* 123520 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD32rrCL),
44051 /* 123523 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44052 /* 123525 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
44053 /* 123527 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
44054 /* 123529 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44055 /* 123532 */ GIR_RootConstrainSelectedInstOperands,
44056 /* 123533 */ // GIR_Coverage, 849,
44057 /* 123533 */ GIR_EraseRootFromParent_Done,
44058 /* 123534 */ // Label 2679: @123534
44059 /* 123534 */ GIM_Try, /*On fail goto*//*Label 2680*/ GIMT_Encode4(123578), // Rule ID 855 //
44060 /* 123539 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44061 /* 123542 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44062 /* 123546 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44063 /* 123550 */ // (fshr:{ *:[i32] } GR32:{ *:[i32] }:$src2, GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SHRD32rrCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
44064 /* 123550 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44065 /* 123554 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
44066 /* 123560 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
44067 /* 123564 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD32rrCL_ND),
44068 /* 123567 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44069 /* 123569 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
44070 /* 123571 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
44071 /* 123573 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44072 /* 123576 */ GIR_RootConstrainSelectedInstOperands,
44073 /* 123577 */ // GIR_Coverage, 855,
44074 /* 123577 */ GIR_EraseRootFromParent_Done,
44075 /* 123578 */ // Label 2680: @123578
44076 /* 123578 */ GIM_Reject,
44077 /* 123579 */ // Label 2674: @123579
44078 /* 123579 */ GIM_Reject,
44079 /* 123580 */ // Label 2672: @123580
44080 /* 123580 */ GIM_Try, /*On fail goto*//*Label 2681*/ GIMT_Encode4(123913),
44081 /* 123585 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
44082 /* 123588 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
44083 /* 123591 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
44084 /* 123594 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44085 /* 123598 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44086 /* 123602 */ GIM_Try, /*On fail goto*//*Label 2682*/ GIMT_Encode4(123671), // Rule ID 865 //
44087 /* 123607 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44088 /* 123610 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44089 /* 123614 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44090 /* 123618 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44091 /* 123621 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44092 /* 123625 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44093 /* 123629 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
44094 /* 123633 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44095 /* 123637 */ // MIs[2] Operand 1
44096 /* 123637 */ // No operand predicates
44097 /* 123637 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
44098 /* 123639 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44099 /* 123646 */ // (fshr:{ *:[i64] } GR64:{ *:[i64] }:$src2, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i8] }):$src3) => (SHRD64mri8_ND:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3)
44100 /* 123646 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD64mri8_ND),
44101 /* 123649 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44102 /* 123651 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
44103 /* 123655 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
44104 /* 123657 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src3
44105 /* 123660 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44106 /* 123663 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
44107 /* 123669 */ GIR_RootConstrainSelectedInstOperands,
44108 /* 123670 */ // GIR_Coverage, 865,
44109 /* 123670 */ GIR_EraseRootFromParent_Done,
44110 /* 123671 */ // Label 2682: @123671
44111 /* 123671 */ GIM_Try, /*On fail goto*//*Label 2683*/ GIMT_Encode4(123746), // Rule ID 868 //
44112 /* 123676 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44113 /* 123679 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44114 /* 123683 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44115 /* 123687 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44116 /* 123690 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44117 /* 123694 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44118 /* 123698 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44119 /* 123702 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44120 /* 123704 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44121 /* 123711 */ // (fshr:{ *:[i64] } GR64:{ *:[i64] }:$src2, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, CL:{ *:[i8] }) => (SHRD64mrCL_ND:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR64:{ *:[i64] }:$src2)
44122 /* 123711 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44123 /* 123715 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
44124 /* 123721 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
44125 /* 123725 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD64mrCL_ND),
44126 /* 123728 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44127 /* 123730 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
44128 /* 123734 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
44129 /* 123736 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44130 /* 123739 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44131 /* 123744 */ GIR_RootConstrainSelectedInstOperands,
44132 /* 123745 */ // GIR_Coverage, 868,
44133 /* 123745 */ GIR_EraseRootFromParent_Done,
44134 /* 123746 */ // Label 2683: @123746
44135 /* 123746 */ GIM_Try, /*On fail goto*//*Label 2684*/ GIMT_Encode4(123785), // Rule ID 847 //
44136 /* 123751 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
44137 /* 123754 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44138 /* 123758 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
44139 /* 123762 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44140 /* 123766 */ // MIs[1] Operand 1
44141 /* 123766 */ // No operand predicates
44142 /* 123766 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44143 /* 123768 */ // (fshr:{ *:[i64] } GR64:{ *:[i64] }:$src2, GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src3) => (SHRD64rri8:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3)
44144 /* 123768 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD64rri8),
44145 /* 123771 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44146 /* 123773 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
44147 /* 123775 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
44148 /* 123777 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
44149 /* 123780 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44150 /* 123783 */ GIR_RootConstrainSelectedInstOperands,
44151 /* 123784 */ // GIR_Coverage, 847,
44152 /* 123784 */ GIR_EraseRootFromParent_Done,
44153 /* 123785 */ // Label 2684: @123785
44154 /* 123785 */ GIM_Try, /*On fail goto*//*Label 2685*/ GIMT_Encode4(123824), // Rule ID 853 //
44155 /* 123790 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44156 /* 123793 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44157 /* 123797 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
44158 /* 123801 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44159 /* 123805 */ // MIs[1] Operand 1
44160 /* 123805 */ // No operand predicates
44161 /* 123805 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44162 /* 123807 */ // (fshr:{ *:[i64] } GR64:{ *:[i64] }:$src2, GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src3) => (SHRD64rri8_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3)
44163 /* 123807 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD64rri8_ND),
44164 /* 123810 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44165 /* 123812 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
44166 /* 123814 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
44167 /* 123816 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
44168 /* 123819 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44169 /* 123822 */ GIR_RootConstrainSelectedInstOperands,
44170 /* 123823 */ // GIR_Coverage, 853,
44171 /* 123823 */ GIR_EraseRootFromParent_Done,
44172 /* 123824 */ // Label 2685: @123824
44173 /* 123824 */ GIM_Try, /*On fail goto*//*Label 2686*/ GIMT_Encode4(123868), // Rule ID 850 //
44174 /* 123829 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
44175 /* 123832 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44176 /* 123836 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44177 /* 123840 */ // (fshr:{ *:[i64] } GR64:{ *:[i64] }:$src2, GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SHRD64rrCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
44178 /* 123840 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44179 /* 123844 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
44180 /* 123850 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
44181 /* 123854 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD64rrCL),
44182 /* 123857 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44183 /* 123859 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
44184 /* 123861 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
44185 /* 123863 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44186 /* 123866 */ GIR_RootConstrainSelectedInstOperands,
44187 /* 123867 */ // GIR_Coverage, 850,
44188 /* 123867 */ GIR_EraseRootFromParent_Done,
44189 /* 123868 */ // Label 2686: @123868
44190 /* 123868 */ GIM_Try, /*On fail goto*//*Label 2687*/ GIMT_Encode4(123912), // Rule ID 856 //
44191 /* 123873 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44192 /* 123876 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44193 /* 123880 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44194 /* 123884 */ // (fshr:{ *:[i64] } GR64:{ *:[i64] }:$src2, GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SHRD64rrCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
44195 /* 123884 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44196 /* 123888 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
44197 /* 123894 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
44198 /* 123898 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD64rrCL_ND),
44199 /* 123901 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44200 /* 123903 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
44201 /* 123905 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
44202 /* 123907 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44203 /* 123910 */ GIR_RootConstrainSelectedInstOperands,
44204 /* 123911 */ // GIR_Coverage, 856,
44205 /* 123911 */ GIR_EraseRootFromParent_Done,
44206 /* 123912 */ // Label 2687: @123912
44207 /* 123912 */ GIM_Reject,
44208 /* 123913 */ // Label 2681: @123913
44209 /* 123913 */ GIM_Reject,
44210 /* 123914 */ // Label 2673: @123914
44211 /* 123914 */ GIM_Reject,
44212 /* 123915 */ // Label 31: @123915
44213 /* 123915 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(20), /*)*//*default:*//*Label 2698*/ GIMT_Encode4(127412),
44214 /* 123926 */ /*GILLT_s8*//*Label 2688*/ GIMT_Encode4(124002),
44215 /* 123930 */ /*GILLT_s16*//*Label 2689*/ GIMT_Encode4(124432),
44216 /* 123934 */ /*GILLT_s32*//*Label 2690*/ GIMT_Encode4(124862),
44217 /* 123938 */ /*GILLT_s64*//*Label 2691*/ GIMT_Encode4(125525), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
44218 /* 123954 */ /*GILLT_v2s64*//*Label 2692*/ GIMT_Encode4(126188), GIMT_Encode4(0),
44219 /* 123962 */ /*GILLT_v4s32*//*Label 2693*/ GIMT_Encode4(126455),
44220 /* 123966 */ /*GILLT_v4s64*//*Label 2694*/ GIMT_Encode4(126722), GIMT_Encode4(0), GIMT_Encode4(0),
44221 /* 123978 */ /*GILLT_v8s32*//*Label 2695*/ GIMT_Encode4(126973),
44222 /* 123982 */ /*GILLT_v8s64*//*Label 2696*/ GIMT_Encode4(127224), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
44223 /* 123998 */ /*GILLT_v16s32*//*Label 2697*/ GIMT_Encode4(127318),
44224 /* 124002 */ // Label 2688: @124002
44225 /* 124002 */ GIM_Try, /*On fail goto*//*Label 2699*/ GIMT_Encode4(124431),
44226 /* 124007 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
44227 /* 124010 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
44228 /* 124013 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
44229 /* 124017 */ GIM_Try, /*On fail goto*//*Label 2700*/ GIMT_Encode4(124076), // Rule ID 17624 //
44230 /* 124022 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
44231 /* 124025 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
44232 /* 124029 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44233 /* 124033 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44234 /* 124036 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44235 /* 124040 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
44236 /* 124044 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 7,
44237 /* 124048 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44238 /* 124050 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44239 /* 124057 */ // (rotr:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, 7:{ *:[i8] }) => (ROL8m1_ND:{ *:[i8] }:{ *:[i32] } addr:{ *:[iPTR] }:$src)
44240 /* 124057 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8m1_ND),
44241 /* 124060 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44242 /* 124062 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
44243 /* 124066 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44244 /* 124069 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44245 /* 124074 */ GIR_RootConstrainSelectedInstOperands,
44246 /* 124075 */ // GIR_Coverage, 17624,
44247 /* 124075 */ GIR_EraseRootFromParent_Done,
44248 /* 124076 */ // Label 2700: @124076
44249 /* 124076 */ GIM_Try, /*On fail goto*//*Label 2701*/ GIMT_Encode4(124143), // Rule ID 801 //
44250 /* 124081 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44251 /* 124084 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
44252 /* 124088 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44253 /* 124092 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44254 /* 124095 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44255 /* 124099 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
44256 /* 124103 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
44257 /* 124107 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44258 /* 124111 */ // MIs[2] Operand 1
44259 /* 124111 */ // No operand predicates
44260 /* 124111 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
44261 /* 124113 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44262 /* 124120 */ // (rotr:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, (imm:{ *:[i8] }):$src2) => (ROR8mi_ND:{ *:[i8] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
44263 /* 124120 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8mi_ND),
44264 /* 124123 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44265 /* 124125 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
44266 /* 124129 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
44267 /* 124132 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44268 /* 124135 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
44269 /* 124141 */ GIR_RootConstrainSelectedInstOperands,
44270 /* 124142 */ // GIR_Coverage, 801,
44271 /* 124142 */ GIR_EraseRootFromParent_Done,
44272 /* 124143 */ // Label 2701: @124143
44273 /* 124143 */ GIM_Try, /*On fail goto*//*Label 2702*/ GIMT_Encode4(124216), // Rule ID 817 //
44274 /* 124148 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44275 /* 124151 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
44276 /* 124155 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44277 /* 124159 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44278 /* 124162 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44279 /* 124166 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
44280 /* 124170 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44281 /* 124174 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44282 /* 124176 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44283 /* 124183 */ // (rotr:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, CL:{ *:[i8] }) => (ROR8mCL_ND:{ *:[i8] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
44284 /* 124183 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44285 /* 124187 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
44286 /* 124193 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44287 /* 124197 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8mCL_ND),
44288 /* 124200 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44289 /* 124202 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
44290 /* 124206 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44291 /* 124209 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44292 /* 124214 */ GIR_RootConstrainSelectedInstOperands,
44293 /* 124215 */ // GIR_Coverage, 817,
44294 /* 124215 */ GIR_EraseRootFromParent_Done,
44295 /* 124216 */ // Label 2702: @124216
44296 /* 124216 */ GIM_Try, /*On fail goto*//*Label 2703*/ GIMT_Encode4(124244), // Rule ID 17600 //
44297 /* 124221 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
44298 /* 124224 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
44299 /* 124228 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 7,
44300 /* 124232 */ // (rotr:{ *:[i8] } GR8:{ *:[i8] }:$src1, 7:{ *:[i8] }) => (ROL8r1:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
44301 /* 124232 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8r1),
44302 /* 124235 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44303 /* 124237 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44304 /* 124239 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44305 /* 124242 */ GIR_RootConstrainSelectedInstOperands,
44306 /* 124243 */ // GIR_Coverage, 17600,
44307 /* 124243 */ GIR_EraseRootFromParent_Done,
44308 /* 124244 */ // Label 2703: @124244
44309 /* 124244 */ GIM_Try, /*On fail goto*//*Label 2704*/ GIMT_Encode4(124272), // Rule ID 17608 //
44310 /* 124249 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
44311 /* 124252 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
44312 /* 124256 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 7,
44313 /* 124260 */ // (rotr:{ *:[i8] } GR8:{ *:[i8] }:$src1, 7:{ *:[i8] }) => (ROL8r1_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
44314 /* 124260 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8r1_ND),
44315 /* 124263 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44316 /* 124265 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44317 /* 124267 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44318 /* 124270 */ GIR_RootConstrainSelectedInstOperands,
44319 /* 124271 */ // GIR_Coverage, 17608,
44320 /* 124271 */ GIR_EraseRootFromParent_Done,
44321 /* 124272 */ // Label 2704: @124272
44322 /* 124272 */ GIM_Try, /*On fail goto*//*Label 2705*/ GIMT_Encode4(124309), // Rule ID 789 //
44323 /* 124277 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
44324 /* 124280 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
44325 /* 124284 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44326 /* 124288 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44327 /* 124292 */ // MIs[1] Operand 1
44328 /* 124292 */ // No operand predicates
44329 /* 124292 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44330 /* 124294 */ // (rotr:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
44331 /* 124294 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8ri),
44332 /* 124297 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44333 /* 124299 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44334 /* 124301 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
44335 /* 124304 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44336 /* 124307 */ GIR_RootConstrainSelectedInstOperands,
44337 /* 124308 */ // GIR_Coverage, 789,
44338 /* 124308 */ GIR_EraseRootFromParent_Done,
44339 /* 124309 */ // Label 2705: @124309
44340 /* 124309 */ GIM_Try, /*On fail goto*//*Label 2706*/ GIMT_Encode4(124346), // Rule ID 793 //
44341 /* 124314 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44342 /* 124317 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
44343 /* 124321 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44344 /* 124325 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44345 /* 124329 */ // MIs[1] Operand 1
44346 /* 124329 */ // No operand predicates
44347 /* 124329 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44348 /* 124331 */ // (rotr:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
44349 /* 124331 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8ri_ND),
44350 /* 124334 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44351 /* 124336 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44352 /* 124338 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
44353 /* 124341 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44354 /* 124344 */ GIR_RootConstrainSelectedInstOperands,
44355 /* 124345 */ // GIR_Coverage, 793,
44356 /* 124345 */ GIR_EraseRootFromParent_Done,
44357 /* 124346 */ // Label 2706: @124346
44358 /* 124346 */ GIM_Try, /*On fail goto*//*Label 2707*/ GIMT_Encode4(124388), // Rule ID 805 //
44359 /* 124351 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
44360 /* 124354 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
44361 /* 124358 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44362 /* 124362 */ // (rotr:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (ROR8rCL:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
44363 /* 124362 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44364 /* 124366 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
44365 /* 124372 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44366 /* 124376 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8rCL),
44367 /* 124379 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44368 /* 124381 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44369 /* 124383 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44370 /* 124386 */ GIR_RootConstrainSelectedInstOperands,
44371 /* 124387 */ // GIR_Coverage, 805,
44372 /* 124387 */ GIR_EraseRootFromParent_Done,
44373 /* 124388 */ // Label 2707: @124388
44374 /* 124388 */ GIM_Try, /*On fail goto*//*Label 2708*/ GIMT_Encode4(124430), // Rule ID 809 //
44375 /* 124393 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44376 /* 124396 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
44377 /* 124400 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44378 /* 124404 */ // (rotr:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (ROR8rCL_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
44379 /* 124404 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44380 /* 124408 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
44381 /* 124414 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44382 /* 124418 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8rCL_ND),
44383 /* 124421 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44384 /* 124423 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44385 /* 124425 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44386 /* 124428 */ GIR_RootConstrainSelectedInstOperands,
44387 /* 124429 */ // GIR_Coverage, 809,
44388 /* 124429 */ GIR_EraseRootFromParent_Done,
44389 /* 124430 */ // Label 2708: @124430
44390 /* 124430 */ GIM_Reject,
44391 /* 124431 */ // Label 2699: @124431
44392 /* 124431 */ GIM_Reject,
44393 /* 124432 */ // Label 2689: @124432
44394 /* 124432 */ GIM_Try, /*On fail goto*//*Label 2709*/ GIMT_Encode4(124861),
44395 /* 124437 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
44396 /* 124440 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
44397 /* 124443 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
44398 /* 124447 */ GIM_Try, /*On fail goto*//*Label 2710*/ GIMT_Encode4(124506), // Rule ID 17625 //
44399 /* 124452 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
44400 /* 124455 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
44401 /* 124459 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44402 /* 124463 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44403 /* 124466 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44404 /* 124470 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
44405 /* 124474 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 15,
44406 /* 124478 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44407 /* 124480 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44408 /* 124487 */ // (rotr:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, 15:{ *:[i8] }) => (ROL16m1_ND:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src)
44409 /* 124487 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16m1_ND),
44410 /* 124490 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44411 /* 124492 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
44412 /* 124496 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44413 /* 124499 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44414 /* 124504 */ GIR_RootConstrainSelectedInstOperands,
44415 /* 124505 */ // GIR_Coverage, 17625,
44416 /* 124505 */ GIR_EraseRootFromParent_Done,
44417 /* 124506 */ // Label 2710: @124506
44418 /* 124506 */ GIM_Try, /*On fail goto*//*Label 2711*/ GIMT_Encode4(124573), // Rule ID 802 //
44419 /* 124511 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44420 /* 124514 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
44421 /* 124518 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44422 /* 124522 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44423 /* 124525 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44424 /* 124529 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
44425 /* 124533 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
44426 /* 124537 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44427 /* 124541 */ // MIs[2] Operand 1
44428 /* 124541 */ // No operand predicates
44429 /* 124541 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
44430 /* 124543 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44431 /* 124550 */ // (rotr:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, (imm:{ *:[i8] }):$src2) => (ROR16mi_ND:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
44432 /* 124550 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16mi_ND),
44433 /* 124553 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44434 /* 124555 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
44435 /* 124559 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
44436 /* 124562 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44437 /* 124565 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
44438 /* 124571 */ GIR_RootConstrainSelectedInstOperands,
44439 /* 124572 */ // GIR_Coverage, 802,
44440 /* 124572 */ GIR_EraseRootFromParent_Done,
44441 /* 124573 */ // Label 2711: @124573
44442 /* 124573 */ GIM_Try, /*On fail goto*//*Label 2712*/ GIMT_Encode4(124646), // Rule ID 818 //
44443 /* 124578 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44444 /* 124581 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
44445 /* 124585 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44446 /* 124589 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44447 /* 124592 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44448 /* 124596 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
44449 /* 124600 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44450 /* 124604 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44451 /* 124606 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44452 /* 124613 */ // (rotr:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, CL:{ *:[i8] }) => (ROR16mCL_ND:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
44453 /* 124613 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44454 /* 124617 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
44455 /* 124623 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44456 /* 124627 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16mCL_ND),
44457 /* 124630 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44458 /* 124632 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
44459 /* 124636 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44460 /* 124639 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44461 /* 124644 */ GIR_RootConstrainSelectedInstOperands,
44462 /* 124645 */ // GIR_Coverage, 818,
44463 /* 124645 */ GIR_EraseRootFromParent_Done,
44464 /* 124646 */ // Label 2712: @124646
44465 /* 124646 */ GIM_Try, /*On fail goto*//*Label 2713*/ GIMT_Encode4(124674), // Rule ID 17601 //
44466 /* 124651 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
44467 /* 124654 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
44468 /* 124658 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 15,
44469 /* 124662 */ // (rotr:{ *:[i16] } GR16:{ *:[i16] }:$src1, 15:{ *:[i8] }) => (ROL16r1:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
44470 /* 124662 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16r1),
44471 /* 124665 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44472 /* 124667 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44473 /* 124669 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44474 /* 124672 */ GIR_RootConstrainSelectedInstOperands,
44475 /* 124673 */ // GIR_Coverage, 17601,
44476 /* 124673 */ GIR_EraseRootFromParent_Done,
44477 /* 124674 */ // Label 2713: @124674
44478 /* 124674 */ GIM_Try, /*On fail goto*//*Label 2714*/ GIMT_Encode4(124702), // Rule ID 17609 //
44479 /* 124679 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
44480 /* 124682 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
44481 /* 124686 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 15,
44482 /* 124690 */ // (rotr:{ *:[i16] } GR16:{ *:[i16] }:$src1, 15:{ *:[i8] }) => (ROL16r1_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
44483 /* 124690 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16r1_ND),
44484 /* 124693 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44485 /* 124695 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44486 /* 124697 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44487 /* 124700 */ GIR_RootConstrainSelectedInstOperands,
44488 /* 124701 */ // GIR_Coverage, 17609,
44489 /* 124701 */ GIR_EraseRootFromParent_Done,
44490 /* 124702 */ // Label 2714: @124702
44491 /* 124702 */ GIM_Try, /*On fail goto*//*Label 2715*/ GIMT_Encode4(124739), // Rule ID 790 //
44492 /* 124707 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
44493 /* 124710 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
44494 /* 124714 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44495 /* 124718 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44496 /* 124722 */ // MIs[1] Operand 1
44497 /* 124722 */ // No operand predicates
44498 /* 124722 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44499 /* 124724 */ // (rotr:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
44500 /* 124724 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16ri),
44501 /* 124727 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44502 /* 124729 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44503 /* 124731 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
44504 /* 124734 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44505 /* 124737 */ GIR_RootConstrainSelectedInstOperands,
44506 /* 124738 */ // GIR_Coverage, 790,
44507 /* 124738 */ GIR_EraseRootFromParent_Done,
44508 /* 124739 */ // Label 2715: @124739
44509 /* 124739 */ GIM_Try, /*On fail goto*//*Label 2716*/ GIMT_Encode4(124776), // Rule ID 794 //
44510 /* 124744 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44511 /* 124747 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
44512 /* 124751 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44513 /* 124755 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44514 /* 124759 */ // MIs[1] Operand 1
44515 /* 124759 */ // No operand predicates
44516 /* 124759 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44517 /* 124761 */ // (rotr:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
44518 /* 124761 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16ri_ND),
44519 /* 124764 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44520 /* 124766 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44521 /* 124768 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
44522 /* 124771 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44523 /* 124774 */ GIR_RootConstrainSelectedInstOperands,
44524 /* 124775 */ // GIR_Coverage, 794,
44525 /* 124775 */ GIR_EraseRootFromParent_Done,
44526 /* 124776 */ // Label 2716: @124776
44527 /* 124776 */ GIM_Try, /*On fail goto*//*Label 2717*/ GIMT_Encode4(124818), // Rule ID 806 //
44528 /* 124781 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
44529 /* 124784 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
44530 /* 124788 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44531 /* 124792 */ // (rotr:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (ROR16rCL:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
44532 /* 124792 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44533 /* 124796 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
44534 /* 124802 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44535 /* 124806 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16rCL),
44536 /* 124809 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44537 /* 124811 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44538 /* 124813 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44539 /* 124816 */ GIR_RootConstrainSelectedInstOperands,
44540 /* 124817 */ // GIR_Coverage, 806,
44541 /* 124817 */ GIR_EraseRootFromParent_Done,
44542 /* 124818 */ // Label 2717: @124818
44543 /* 124818 */ GIM_Try, /*On fail goto*//*Label 2718*/ GIMT_Encode4(124860), // Rule ID 810 //
44544 /* 124823 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44545 /* 124826 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
44546 /* 124830 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44547 /* 124834 */ // (rotr:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (ROR16rCL_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
44548 /* 124834 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44549 /* 124838 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
44550 /* 124844 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44551 /* 124848 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16rCL_ND),
44552 /* 124851 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44553 /* 124853 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44554 /* 124855 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44555 /* 124858 */ GIR_RootConstrainSelectedInstOperands,
44556 /* 124859 */ // GIR_Coverage, 810,
44557 /* 124859 */ GIR_EraseRootFromParent_Done,
44558 /* 124860 */ // Label 2718: @124860
44559 /* 124860 */ GIM_Reject,
44560 /* 124861 */ // Label 2709: @124861
44561 /* 124861 */ GIM_Reject,
44562 /* 124862 */ // Label 2690: @124862
44563 /* 124862 */ GIM_Try, /*On fail goto*//*Label 2719*/ GIMT_Encode4(125524),
44564 /* 124867 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
44565 /* 124870 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
44566 /* 124873 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44567 /* 124877 */ GIM_Try, /*On fail goto*//*Label 2720*/ GIMT_Encode4(124936), // Rule ID 17626 //
44568 /* 124882 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
44569 /* 124885 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
44570 /* 124889 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44571 /* 124893 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44572 /* 124896 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44573 /* 124900 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
44574 /* 124904 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 31,
44575 /* 124908 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44576 /* 124910 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44577 /* 124917 */ // (rotr:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, 31:{ *:[i8] }) => (ROL32m1_ND:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src)
44578 /* 124917 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32m1_ND),
44579 /* 124920 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44580 /* 124922 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
44581 /* 124926 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44582 /* 124929 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44583 /* 124934 */ GIR_RootConstrainSelectedInstOperands,
44584 /* 124935 */ // GIR_Coverage, 17626,
44585 /* 124935 */ GIR_EraseRootFromParent_Done,
44586 /* 124936 */ // Label 2720: @124936
44587 /* 124936 */ GIM_Try, /*On fail goto*//*Label 2721*/ GIMT_Encode4(125003), // Rule ID 803 //
44588 /* 124941 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44589 /* 124944 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
44590 /* 124948 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44591 /* 124952 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44592 /* 124955 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44593 /* 124959 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
44594 /* 124963 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
44595 /* 124967 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44596 /* 124971 */ // MIs[2] Operand 1
44597 /* 124971 */ // No operand predicates
44598 /* 124971 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
44599 /* 124973 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44600 /* 124980 */ // (rotr:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, (imm:{ *:[i8] }):$src2) => (ROR32mi_ND:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
44601 /* 124980 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32mi_ND),
44602 /* 124983 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44603 /* 124985 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
44604 /* 124989 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
44605 /* 124992 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44606 /* 124995 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
44607 /* 125001 */ GIR_RootConstrainSelectedInstOperands,
44608 /* 125002 */ // GIR_Coverage, 803,
44609 /* 125002 */ GIR_EraseRootFromParent_Done,
44610 /* 125003 */ // Label 2721: @125003
44611 /* 125003 */ GIM_Try, /*On fail goto*//*Label 2722*/ GIMT_Encode4(125067), // Rule ID 17648 //
44612 /* 125008 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
44613 /* 125011 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
44614 /* 125015 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44615 /* 125019 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44616 /* 125022 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44617 /* 125026 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
44618 /* 125030 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
44619 /* 125034 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44620 /* 125038 */ // MIs[2] Operand 1
44621 /* 125038 */ // No operand predicates
44622 /* 125038 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
44623 /* 125040 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44624 /* 125047 */ // (rotr:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, (imm:{ *:[i8] }):$shamt) => (RORX32mi:{ *:[i32] } addr:{ *:[iPTR] }:$src, (imm:{ *:[i8] }):$shamt)
44625 /* 125047 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX32mi),
44626 /* 125050 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44627 /* 125052 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
44628 /* 125056 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // shamt
44629 /* 125059 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
44630 /* 125065 */ GIR_RootConstrainSelectedInstOperands,
44631 /* 125066 */ // GIR_Coverage, 17648,
44632 /* 125066 */ GIR_EraseRootFromParent_Done,
44633 /* 125067 */ // Label 2722: @125067
44634 /* 125067 */ GIM_Try, /*On fail goto*//*Label 2723*/ GIMT_Encode4(125131), // Rule ID 17680 //
44635 /* 125072 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
44636 /* 125075 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
44637 /* 125079 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44638 /* 125083 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44639 /* 125086 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44640 /* 125090 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
44641 /* 125094 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
44642 /* 125098 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44643 /* 125102 */ // MIs[2] Operand 1
44644 /* 125102 */ // No operand predicates
44645 /* 125102 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
44646 /* 125104 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44647 /* 125111 */ // (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)
44648 /* 125111 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX32mi_EVEX),
44649 /* 125114 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44650 /* 125116 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
44651 /* 125120 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // shamt
44652 /* 125123 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
44653 /* 125129 */ GIR_RootConstrainSelectedInstOperands,
44654 /* 125130 */ // GIR_Coverage, 17680,
44655 /* 125130 */ GIR_EraseRootFromParent_Done,
44656 /* 125131 */ // Label 2723: @125131
44657 /* 125131 */ GIM_Try, /*On fail goto*//*Label 2724*/ GIMT_Encode4(125204), // Rule ID 819 //
44658 /* 125136 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44659 /* 125139 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
44660 /* 125143 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44661 /* 125147 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44662 /* 125150 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44663 /* 125154 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
44664 /* 125158 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44665 /* 125162 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44666 /* 125164 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44667 /* 125171 */ // (rotr:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, CL:{ *:[i8] }) => (ROR32mCL_ND:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
44668 /* 125171 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44669 /* 125175 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
44670 /* 125181 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44671 /* 125185 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32mCL_ND),
44672 /* 125188 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44673 /* 125190 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
44674 /* 125194 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44675 /* 125197 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44676 /* 125202 */ GIR_RootConstrainSelectedInstOperands,
44677 /* 125203 */ // GIR_Coverage, 819,
44678 /* 125203 */ GIR_EraseRootFromParent_Done,
44679 /* 125204 */ // Label 2724: @125204
44680 /* 125204 */ GIM_Try, /*On fail goto*//*Label 2725*/ GIMT_Encode4(125238), // Rule ID 17644 //
44681 /* 125209 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
44682 /* 125212 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44683 /* 125216 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44684 /* 125220 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44685 /* 125224 */ // MIs[1] Operand 1
44686 /* 125224 */ // No operand predicates
44687 /* 125224 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44688 /* 125226 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src, (imm:{ *:[i8] }):$shamt) => (RORX32ri:{ *:[i32] } GR32:{ *:[i32] }:$src, (imm:{ *:[i8] }):$shamt)
44689 /* 125226 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX32ri),
44690 /* 125229 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44691 /* 125231 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
44692 /* 125233 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
44693 /* 125236 */ GIR_RootConstrainSelectedInstOperands,
44694 /* 125237 */ // GIR_Coverage, 17644,
44695 /* 125237 */ GIR_EraseRootFromParent_Done,
44696 /* 125238 */ // Label 2725: @125238
44697 /* 125238 */ GIM_Try, /*On fail goto*//*Label 2726*/ GIMT_Encode4(125272), // Rule ID 17676 //
44698 /* 125243 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
44699 /* 125246 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44700 /* 125250 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44701 /* 125254 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44702 /* 125258 */ // MIs[1] Operand 1
44703 /* 125258 */ // No operand predicates
44704 /* 125258 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44705 /* 125260 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src, (imm:{ *:[i8] }):$shamt) => (RORX32ri_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src, (imm:{ *:[i8] }):$shamt)
44706 /* 125260 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX32ri_EVEX),
44707 /* 125263 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44708 /* 125265 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
44709 /* 125267 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
44710 /* 125270 */ GIR_RootConstrainSelectedInstOperands,
44711 /* 125271 */ // GIR_Coverage, 17676,
44712 /* 125271 */ GIR_EraseRootFromParent_Done,
44713 /* 125272 */ // Label 2726: @125272
44714 /* 125272 */ GIM_Try, /*On fail goto*//*Label 2727*/ GIMT_Encode4(125309), // Rule ID 871 //
44715 /* 125277 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFastSHLDRotate),
44716 /* 125280 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44717 /* 125284 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44718 /* 125288 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44719 /* 125292 */ // MIs[1] Operand 1
44720 /* 125292 */ // No operand predicates
44721 /* 125292 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44722 /* 125294 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$shamt) => (SHRDROT32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$shamt)
44723 /* 125294 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRDROT32ri),
44724 /* 125297 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44725 /* 125299 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44726 /* 125301 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
44727 /* 125304 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44728 /* 125307 */ GIR_RootConstrainSelectedInstOperands,
44729 /* 125308 */ // GIR_Coverage, 871,
44730 /* 125308 */ GIR_EraseRootFromParent_Done,
44731 /* 125309 */ // Label 2727: @125309
44732 /* 125309 */ GIM_Try, /*On fail goto*//*Label 2728*/ GIMT_Encode4(125337), // Rule ID 17602 //
44733 /* 125314 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
44734 /* 125317 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44735 /* 125321 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 31,
44736 /* 125325 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, 31:{ *:[i8] }) => (ROL32r1:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
44737 /* 125325 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32r1),
44738 /* 125328 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44739 /* 125330 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44740 /* 125332 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44741 /* 125335 */ GIR_RootConstrainSelectedInstOperands,
44742 /* 125336 */ // GIR_Coverage, 17602,
44743 /* 125336 */ GIR_EraseRootFromParent_Done,
44744 /* 125337 */ // Label 2728: @125337
44745 /* 125337 */ GIM_Try, /*On fail goto*//*Label 2729*/ GIMT_Encode4(125365), // Rule ID 17610 //
44746 /* 125342 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
44747 /* 125345 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44748 /* 125349 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 31,
44749 /* 125353 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, 31:{ *:[i8] }) => (ROL32r1_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
44750 /* 125353 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32r1_ND),
44751 /* 125356 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44752 /* 125358 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44753 /* 125360 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44754 /* 125363 */ GIR_RootConstrainSelectedInstOperands,
44755 /* 125364 */ // GIR_Coverage, 17610,
44756 /* 125364 */ GIR_EraseRootFromParent_Done,
44757 /* 125365 */ // Label 2729: @125365
44758 /* 125365 */ GIM_Try, /*On fail goto*//*Label 2730*/ GIMT_Encode4(125402), // Rule ID 791 //
44759 /* 125370 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
44760 /* 125373 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44761 /* 125377 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44762 /* 125381 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44763 /* 125385 */ // MIs[1] Operand 1
44764 /* 125385 */ // No operand predicates
44765 /* 125385 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44766 /* 125387 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
44767 /* 125387 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32ri),
44768 /* 125390 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44769 /* 125392 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44770 /* 125394 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
44771 /* 125397 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44772 /* 125400 */ GIR_RootConstrainSelectedInstOperands,
44773 /* 125401 */ // GIR_Coverage, 791,
44774 /* 125401 */ GIR_EraseRootFromParent_Done,
44775 /* 125402 */ // Label 2730: @125402
44776 /* 125402 */ GIM_Try, /*On fail goto*//*Label 2731*/ GIMT_Encode4(125439), // Rule ID 795 //
44777 /* 125407 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44778 /* 125410 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44779 /* 125414 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44780 /* 125418 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44781 /* 125422 */ // MIs[1] Operand 1
44782 /* 125422 */ // No operand predicates
44783 /* 125422 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44784 /* 125424 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
44785 /* 125424 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32ri_ND),
44786 /* 125427 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44787 /* 125429 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44788 /* 125431 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
44789 /* 125434 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44790 /* 125437 */ GIR_RootConstrainSelectedInstOperands,
44791 /* 125438 */ // GIR_Coverage, 795,
44792 /* 125438 */ GIR_EraseRootFromParent_Done,
44793 /* 125439 */ // Label 2731: @125439
44794 /* 125439 */ GIM_Try, /*On fail goto*//*Label 2732*/ GIMT_Encode4(125481), // Rule ID 807 //
44795 /* 125444 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
44796 /* 125447 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44797 /* 125451 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44798 /* 125455 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (ROR32rCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
44799 /* 125455 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44800 /* 125459 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
44801 /* 125465 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44802 /* 125469 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32rCL),
44803 /* 125472 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44804 /* 125474 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44805 /* 125476 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44806 /* 125479 */ GIR_RootConstrainSelectedInstOperands,
44807 /* 125480 */ // GIR_Coverage, 807,
44808 /* 125480 */ GIR_EraseRootFromParent_Done,
44809 /* 125481 */ // Label 2732: @125481
44810 /* 125481 */ GIM_Try, /*On fail goto*//*Label 2733*/ GIMT_Encode4(125523), // Rule ID 811 //
44811 /* 125486 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44812 /* 125489 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44813 /* 125493 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44814 /* 125497 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (ROR32rCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
44815 /* 125497 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44816 /* 125501 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
44817 /* 125507 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44818 /* 125511 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32rCL_ND),
44819 /* 125514 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44820 /* 125516 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44821 /* 125518 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44822 /* 125521 */ GIR_RootConstrainSelectedInstOperands,
44823 /* 125522 */ // GIR_Coverage, 811,
44824 /* 125522 */ GIR_EraseRootFromParent_Done,
44825 /* 125523 */ // Label 2733: @125523
44826 /* 125523 */ GIM_Reject,
44827 /* 125524 */ // Label 2719: @125524
44828 /* 125524 */ GIM_Reject,
44829 /* 125525 */ // Label 2691: @125525
44830 /* 125525 */ GIM_Try, /*On fail goto*//*Label 2734*/ GIMT_Encode4(126187),
44831 /* 125530 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
44832 /* 125533 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
44833 /* 125536 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44834 /* 125540 */ GIM_Try, /*On fail goto*//*Label 2735*/ GIMT_Encode4(125599), // Rule ID 17627 //
44835 /* 125545 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
44836 /* 125548 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
44837 /* 125552 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44838 /* 125556 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44839 /* 125559 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44840 /* 125563 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44841 /* 125567 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 63,
44842 /* 125571 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44843 /* 125573 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44844 /* 125580 */ // (rotr:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>, 63:{ *:[i8] }) => (ROL64m1_ND:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src)
44845 /* 125580 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64m1_ND),
44846 /* 125583 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44847 /* 125585 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
44848 /* 125589 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44849 /* 125592 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44850 /* 125597 */ GIR_RootConstrainSelectedInstOperands,
44851 /* 125598 */ // GIR_Coverage, 17627,
44852 /* 125598 */ GIR_EraseRootFromParent_Done,
44853 /* 125599 */ // Label 2735: @125599
44854 /* 125599 */ GIM_Try, /*On fail goto*//*Label 2736*/ GIMT_Encode4(125666), // Rule ID 804 //
44855 /* 125604 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44856 /* 125607 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
44857 /* 125611 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44858 /* 125615 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44859 /* 125618 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44860 /* 125622 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44861 /* 125626 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
44862 /* 125630 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44863 /* 125634 */ // MIs[2] Operand 1
44864 /* 125634 */ // No operand predicates
44865 /* 125634 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
44866 /* 125636 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44867 /* 125643 */ // (rotr:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i8] }):$src2) => (ROR64mi_ND:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
44868 /* 125643 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64mi_ND),
44869 /* 125646 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44870 /* 125648 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
44871 /* 125652 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
44872 /* 125655 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44873 /* 125658 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
44874 /* 125664 */ GIR_RootConstrainSelectedInstOperands,
44875 /* 125665 */ // GIR_Coverage, 804,
44876 /* 125665 */ GIR_EraseRootFromParent_Done,
44877 /* 125666 */ // Label 2736: @125666
44878 /* 125666 */ GIM_Try, /*On fail goto*//*Label 2737*/ GIMT_Encode4(125730), // Rule ID 17649 //
44879 /* 125671 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
44880 /* 125674 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
44881 /* 125678 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44882 /* 125682 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44883 /* 125685 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44884 /* 125689 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44885 /* 125693 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
44886 /* 125697 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44887 /* 125701 */ // MIs[2] Operand 1
44888 /* 125701 */ // No operand predicates
44889 /* 125701 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
44890 /* 125703 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44891 /* 125710 */ // (rotr:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i8] }):$shamt) => (RORX64mi:{ *:[i64] } addr:{ *:[iPTR] }:$src, (imm:{ *:[i8] }):$shamt)
44892 /* 125710 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX64mi),
44893 /* 125713 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44894 /* 125715 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
44895 /* 125719 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // shamt
44896 /* 125722 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
44897 /* 125728 */ GIR_RootConstrainSelectedInstOperands,
44898 /* 125729 */ // GIR_Coverage, 17649,
44899 /* 125729 */ GIR_EraseRootFromParent_Done,
44900 /* 125730 */ // Label 2737: @125730
44901 /* 125730 */ GIM_Try, /*On fail goto*//*Label 2738*/ GIMT_Encode4(125794), // Rule ID 17681 //
44902 /* 125735 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
44903 /* 125738 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
44904 /* 125742 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44905 /* 125746 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44906 /* 125749 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44907 /* 125753 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44908 /* 125757 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
44909 /* 125761 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44910 /* 125765 */ // MIs[2] Operand 1
44911 /* 125765 */ // No operand predicates
44912 /* 125765 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
44913 /* 125767 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44914 /* 125774 */ // (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)
44915 /* 125774 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX64mi_EVEX),
44916 /* 125777 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44917 /* 125779 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
44918 /* 125783 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // shamt
44919 /* 125786 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
44920 /* 125792 */ GIR_RootConstrainSelectedInstOperands,
44921 /* 125793 */ // GIR_Coverage, 17681,
44922 /* 125793 */ GIR_EraseRootFromParent_Done,
44923 /* 125794 */ // Label 2738: @125794
44924 /* 125794 */ GIM_Try, /*On fail goto*//*Label 2739*/ GIMT_Encode4(125867), // Rule ID 820 //
44925 /* 125799 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44926 /* 125802 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
44927 /* 125806 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44928 /* 125810 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44929 /* 125813 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44930 /* 125817 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44931 /* 125821 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44932 /* 125825 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44933 /* 125827 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44934 /* 125834 */ // (rotr:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, CL:{ *:[i8] }) => (ROR64mCL_ND:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
44935 /* 125834 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44936 /* 125838 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
44937 /* 125844 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44938 /* 125848 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64mCL_ND),
44939 /* 125851 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44940 /* 125853 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
44941 /* 125857 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44942 /* 125860 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44943 /* 125865 */ GIR_RootConstrainSelectedInstOperands,
44944 /* 125866 */ // GIR_Coverage, 820,
44945 /* 125866 */ GIR_EraseRootFromParent_Done,
44946 /* 125867 */ // Label 2739: @125867
44947 /* 125867 */ GIM_Try, /*On fail goto*//*Label 2740*/ GIMT_Encode4(125901), // Rule ID 17645 //
44948 /* 125872 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
44949 /* 125875 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44950 /* 125879 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44951 /* 125883 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44952 /* 125887 */ // MIs[1] Operand 1
44953 /* 125887 */ // No operand predicates
44954 /* 125887 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44955 /* 125889 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src, (imm:{ *:[i8] }):$shamt) => (RORX64ri:{ *:[i64] } GR64:{ *:[i64] }:$src, (imm:{ *:[i8] }):$shamt)
44956 /* 125889 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX64ri),
44957 /* 125892 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44958 /* 125894 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
44959 /* 125896 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
44960 /* 125899 */ GIR_RootConstrainSelectedInstOperands,
44961 /* 125900 */ // GIR_Coverage, 17645,
44962 /* 125900 */ GIR_EraseRootFromParent_Done,
44963 /* 125901 */ // Label 2740: @125901
44964 /* 125901 */ GIM_Try, /*On fail goto*//*Label 2741*/ GIMT_Encode4(125935), // Rule ID 17677 //
44965 /* 125906 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
44966 /* 125909 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44967 /* 125913 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44968 /* 125917 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44969 /* 125921 */ // MIs[1] Operand 1
44970 /* 125921 */ // No operand predicates
44971 /* 125921 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44972 /* 125923 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src, (imm:{ *:[i8] }):$shamt) => (RORX64ri_EVEX:{ *:[i64] } GR64:{ *:[i64] }:$src, (imm:{ *:[i8] }):$shamt)
44973 /* 125923 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX64ri_EVEX),
44974 /* 125926 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44975 /* 125928 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
44976 /* 125930 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
44977 /* 125933 */ GIR_RootConstrainSelectedInstOperands,
44978 /* 125934 */ // GIR_Coverage, 17677,
44979 /* 125934 */ GIR_EraseRootFromParent_Done,
44980 /* 125935 */ // Label 2741: @125935
44981 /* 125935 */ GIM_Try, /*On fail goto*//*Label 2742*/ GIMT_Encode4(125972), // Rule ID 872 //
44982 /* 125940 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFastSHLDRotate),
44983 /* 125943 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44984 /* 125947 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44985 /* 125951 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44986 /* 125955 */ // MIs[1] Operand 1
44987 /* 125955 */ // No operand predicates
44988 /* 125955 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44989 /* 125957 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$shamt) => (SHRDROT64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$shamt)
44990 /* 125957 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRDROT64ri),
44991 /* 125960 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44992 /* 125962 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44993 /* 125964 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
44994 /* 125967 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44995 /* 125970 */ GIR_RootConstrainSelectedInstOperands,
44996 /* 125971 */ // GIR_Coverage, 872,
44997 /* 125971 */ GIR_EraseRootFromParent_Done,
44998 /* 125972 */ // Label 2742: @125972
44999 /* 125972 */ GIM_Try, /*On fail goto*//*Label 2743*/ GIMT_Encode4(126000), // Rule ID 17603 //
45000 /* 125977 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45001 /* 125980 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
45002 /* 125984 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 63,
45003 /* 125988 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, 63:{ *:[i8] }) => (ROL64r1:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
45004 /* 125988 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64r1),
45005 /* 125991 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45006 /* 125993 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45007 /* 125995 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45008 /* 125998 */ GIR_RootConstrainSelectedInstOperands,
45009 /* 125999 */ // GIR_Coverage, 17603,
45010 /* 125999 */ GIR_EraseRootFromParent_Done,
45011 /* 126000 */ // Label 2743: @126000
45012 /* 126000 */ GIM_Try, /*On fail goto*//*Label 2744*/ GIMT_Encode4(126028), // Rule ID 17611 //
45013 /* 126005 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
45014 /* 126008 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
45015 /* 126012 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 63,
45016 /* 126016 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, 63:{ *:[i8] }) => (ROL64r1_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
45017 /* 126016 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64r1_ND),
45018 /* 126019 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45019 /* 126021 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45020 /* 126023 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45021 /* 126026 */ GIR_RootConstrainSelectedInstOperands,
45022 /* 126027 */ // GIR_Coverage, 17611,
45023 /* 126027 */ GIR_EraseRootFromParent_Done,
45024 /* 126028 */ // Label 2744: @126028
45025 /* 126028 */ GIM_Try, /*On fail goto*//*Label 2745*/ GIMT_Encode4(126065), // Rule ID 792 //
45026 /* 126033 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45027 /* 126036 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
45028 /* 126040 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45029 /* 126044 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45030 /* 126048 */ // MIs[1] Operand 1
45031 /* 126048 */ // No operand predicates
45032 /* 126048 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45033 /* 126050 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
45034 /* 126050 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64ri),
45035 /* 126053 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45036 /* 126055 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45037 /* 126057 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
45038 /* 126060 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45039 /* 126063 */ GIR_RootConstrainSelectedInstOperands,
45040 /* 126064 */ // GIR_Coverage, 792,
45041 /* 126064 */ GIR_EraseRootFromParent_Done,
45042 /* 126065 */ // Label 2745: @126065
45043 /* 126065 */ GIM_Try, /*On fail goto*//*Label 2746*/ GIMT_Encode4(126102), // Rule ID 796 //
45044 /* 126070 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45045 /* 126073 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
45046 /* 126077 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45047 /* 126081 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45048 /* 126085 */ // MIs[1] Operand 1
45049 /* 126085 */ // No operand predicates
45050 /* 126085 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45051 /* 126087 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR64ri_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
45052 /* 126087 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64ri_ND),
45053 /* 126090 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45054 /* 126092 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45055 /* 126094 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
45056 /* 126097 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45057 /* 126100 */ GIR_RootConstrainSelectedInstOperands,
45058 /* 126101 */ // GIR_Coverage, 796,
45059 /* 126101 */ GIR_EraseRootFromParent_Done,
45060 /* 126102 */ // Label 2746: @126102
45061 /* 126102 */ GIM_Try, /*On fail goto*//*Label 2747*/ GIMT_Encode4(126144), // Rule ID 808 //
45062 /* 126107 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45063 /* 126110 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
45064 /* 126114 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
45065 /* 126118 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (ROR64rCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
45066 /* 126118 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45067 /* 126122 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
45068 /* 126128 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
45069 /* 126132 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64rCL),
45070 /* 126135 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45071 /* 126137 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45072 /* 126139 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45073 /* 126142 */ GIR_RootConstrainSelectedInstOperands,
45074 /* 126143 */ // GIR_Coverage, 808,
45075 /* 126143 */ GIR_EraseRootFromParent_Done,
45076 /* 126144 */ // Label 2747: @126144
45077 /* 126144 */ GIM_Try, /*On fail goto*//*Label 2748*/ GIMT_Encode4(126186), // Rule ID 812 //
45078 /* 126149 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45079 /* 126152 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
45080 /* 126156 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
45081 /* 126160 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (ROR64rCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
45082 /* 126160 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45083 /* 126164 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
45084 /* 126170 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
45085 /* 126174 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64rCL_ND),
45086 /* 126177 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45087 /* 126179 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45088 /* 126181 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45089 /* 126184 */ GIR_RootConstrainSelectedInstOperands,
45090 /* 126185 */ // GIR_Coverage, 812,
45091 /* 126185 */ GIR_EraseRootFromParent_Done,
45092 /* 126186 */ // Label 2748: @126186
45093 /* 126186 */ GIM_Reject,
45094 /* 126187 */ // Label 2734: @126187
45095 /* 126187 */ GIM_Reject,
45096 /* 126188 */ // Label 2692: @126188
45097 /* 126188 */ GIM_Try, /*On fail goto*//*Label 2749*/ GIMT_Encode4(126454),
45098 /* 126193 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
45099 /* 126196 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
45100 /* 126199 */ GIM_Try, /*On fail goto*//*Label 2750*/ GIMT_Encode4(126261), // Rule ID 8005 //
45101 /* 126204 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
45102 /* 126207 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45103 /* 126211 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45104 /* 126215 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45105 /* 126219 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45106 /* 126223 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45107 /* 126226 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45108 /* 126230 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45109 /* 126234 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45110 /* 126236 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45111 /* 126243 */ // (rotr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPRORVQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
45112 /* 126243 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPRORVQZ128rm),
45113 /* 126246 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45114 /* 126248 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45115 /* 126250 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
45116 /* 126254 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45117 /* 126259 */ GIR_RootConstrainSelectedInstOperands,
45118 /* 126260 */ // GIR_Coverage, 8005,
45119 /* 126260 */ GIR_EraseRootFromParent_Done,
45120 /* 126261 */ // Label 2750: @126261
45121 /* 126261 */ GIM_Try, /*On fail goto*//*Label 2751*/ GIMT_Encode4(126288), // Rule ID 8002 //
45122 /* 126266 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
45123 /* 126269 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45124 /* 126273 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45125 /* 126277 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45126 /* 126281 */ // (rotr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPRORVQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
45127 /* 126281 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPRORVQZ128rr),
45128 /* 126286 */ GIR_RootConstrainSelectedInstOperands,
45129 /* 126287 */ // GIR_Coverage, 8002,
45130 /* 126287 */ GIR_Done,
45131 /* 126288 */ // Label 2751: @126288
45132 /* 126288 */ GIM_Try, /*On fail goto*//*Label 2752*/ GIMT_Encode4(126453), // Rule ID 20804 //
45133 /* 126293 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
45134 /* 126296 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
45135 /* 126300 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45136 /* 126304 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45137 /* 126308 */ // (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] })
45138 /* 126308 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
45139 /* 126311 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45140 /* 126315 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
45141 /* 126320 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
45142 /* 126322 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
45143 /* 126325 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45144 /* 126329 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
45145 /* 126334 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
45146 /* 126337 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
45147 /* 126341 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/11,
45148 /* 126344 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45149 /* 126349 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45150 /* 126354 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
45151 /* 126359 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
45152 /* 126362 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45153 /* 126366 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
45154 /* 126371 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
45155 /* 126373 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
45156 /* 126376 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45157 /* 126380 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
45158 /* 126385 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
45159 /* 126388 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
45160 /* 126392 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/11,
45161 /* 126395 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45162 /* 126400 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45163 /* 126405 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
45164 /* 126410 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
45165 /* 126413 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPRORVQZrr),
45166 /* 126417 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
45167 /* 126422 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
45168 /* 126425 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
45169 /* 126428 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
45170 /* 126430 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45171 /* 126433 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45172 /* 126435 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
45173 /* 126442 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
45174 /* 126447 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45175 /* 126452 */ // GIR_Coverage, 20804,
45176 /* 126452 */ GIR_EraseRootFromParent_Done,
45177 /* 126453 */ // Label 2752: @126453
45178 /* 126453 */ GIM_Reject,
45179 /* 126454 */ // Label 2749: @126454
45180 /* 126454 */ GIM_Reject,
45181 /* 126455 */ // Label 2693: @126455
45182 /* 126455 */ GIM_Try, /*On fail goto*//*Label 2753*/ GIMT_Encode4(126721),
45183 /* 126460 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
45184 /* 126463 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
45185 /* 126466 */ GIM_Try, /*On fail goto*//*Label 2754*/ GIMT_Encode4(126528), // Rule ID 7978 //
45186 /* 126471 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
45187 /* 126474 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45188 /* 126478 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45189 /* 126482 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45190 /* 126486 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45191 /* 126490 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45192 /* 126493 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45193 /* 126497 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45194 /* 126501 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45195 /* 126503 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45196 /* 126510 */ // (rotr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPRORVDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
45197 /* 126510 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPRORVDZ128rm),
45198 /* 126513 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45199 /* 126515 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45200 /* 126517 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
45201 /* 126521 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45202 /* 126526 */ GIR_RootConstrainSelectedInstOperands,
45203 /* 126527 */ // GIR_Coverage, 7978,
45204 /* 126527 */ GIR_EraseRootFromParent_Done,
45205 /* 126528 */ // Label 2754: @126528
45206 /* 126528 */ GIM_Try, /*On fail goto*//*Label 2755*/ GIMT_Encode4(126555), // Rule ID 7975 //
45207 /* 126533 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
45208 /* 126536 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45209 /* 126540 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45210 /* 126544 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45211 /* 126548 */ // (rotr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPRORVDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
45212 /* 126548 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPRORVDZ128rr),
45213 /* 126553 */ GIR_RootConstrainSelectedInstOperands,
45214 /* 126554 */ // GIR_Coverage, 7975,
45215 /* 126554 */ GIR_Done,
45216 /* 126555 */ // Label 2755: @126555
45217 /* 126555 */ GIM_Try, /*On fail goto*//*Label 2756*/ GIMT_Encode4(126720), // Rule ID 20806 //
45218 /* 126560 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
45219 /* 126563 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
45220 /* 126567 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45221 /* 126571 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45222 /* 126575 */ // (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] })
45223 /* 126575 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
45224 /* 126578 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45225 /* 126582 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
45226 /* 126587 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
45227 /* 126589 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
45228 /* 126592 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45229 /* 126596 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
45230 /* 126601 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
45231 /* 126604 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
45232 /* 126608 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/11,
45233 /* 126611 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45234 /* 126616 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45235 /* 126621 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
45236 /* 126626 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
45237 /* 126629 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45238 /* 126633 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
45239 /* 126638 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
45240 /* 126640 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
45241 /* 126643 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45242 /* 126647 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
45243 /* 126652 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
45244 /* 126655 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
45245 /* 126659 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/11,
45246 /* 126662 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45247 /* 126667 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45248 /* 126672 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
45249 /* 126677 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
45250 /* 126680 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPRORVDZrr),
45251 /* 126684 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
45252 /* 126689 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
45253 /* 126692 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
45254 /* 126695 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
45255 /* 126697 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45256 /* 126700 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45257 /* 126702 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
45258 /* 126709 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
45259 /* 126714 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45260 /* 126719 */ // GIR_Coverage, 20806,
45261 /* 126719 */ GIR_EraseRootFromParent_Done,
45262 /* 126720 */ // Label 2756: @126720
45263 /* 126720 */ GIM_Reject,
45264 /* 126721 */ // Label 2753: @126721
45265 /* 126721 */ GIM_Reject,
45266 /* 126722 */ // Label 2694: @126722
45267 /* 126722 */ GIM_Try, /*On fail goto*//*Label 2757*/ GIMT_Encode4(126972),
45268 /* 126727 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
45269 /* 126730 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
45270 /* 126733 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45271 /* 126737 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45272 /* 126741 */ GIM_Try, /*On fail goto*//*Label 2758*/ GIMT_Encode4(126795), // Rule ID 7996 //
45273 /* 126746 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
45274 /* 126749 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45275 /* 126753 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45276 /* 126757 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45277 /* 126760 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45278 /* 126764 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45279 /* 126768 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45280 /* 126770 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45281 /* 126777 */ // (rotr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPRORVQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
45282 /* 126777 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPRORVQZ256rm),
45283 /* 126780 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45284 /* 126782 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45285 /* 126784 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
45286 /* 126788 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45287 /* 126793 */ GIR_RootConstrainSelectedInstOperands,
45288 /* 126794 */ // GIR_Coverage, 7996,
45289 /* 126794 */ GIR_EraseRootFromParent_Done,
45290 /* 126795 */ // Label 2758: @126795
45291 /* 126795 */ GIM_Try, /*On fail goto*//*Label 2759*/ GIMT_Encode4(126814), // Rule ID 7993 //
45292 /* 126800 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
45293 /* 126803 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45294 /* 126807 */ // (rotr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPRORVQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
45295 /* 126807 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPRORVQZ256rr),
45296 /* 126812 */ GIR_RootConstrainSelectedInstOperands,
45297 /* 126813 */ // GIR_Coverage, 7993,
45298 /* 126813 */ GIR_Done,
45299 /* 126814 */ // Label 2759: @126814
45300 /* 126814 */ GIM_Try, /*On fail goto*//*Label 2760*/ GIMT_Encode4(126971), // Rule ID 20805 //
45301 /* 126819 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
45302 /* 126822 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45303 /* 126826 */ // (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] })
45304 /* 126826 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
45305 /* 126829 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45306 /* 126833 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
45307 /* 126838 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
45308 /* 126840 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
45309 /* 126843 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45310 /* 126847 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
45311 /* 126852 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
45312 /* 126855 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
45313 /* 126859 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/12,
45314 /* 126862 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45315 /* 126867 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45316 /* 126872 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
45317 /* 126877 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
45318 /* 126880 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45319 /* 126884 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
45320 /* 126889 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
45321 /* 126891 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
45322 /* 126894 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45323 /* 126898 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
45324 /* 126903 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
45325 /* 126906 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
45326 /* 126910 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/12,
45327 /* 126913 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45328 /* 126918 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45329 /* 126923 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
45330 /* 126928 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
45331 /* 126931 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPRORVQZrr),
45332 /* 126935 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
45333 /* 126940 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
45334 /* 126943 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
45335 /* 126946 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
45336 /* 126948 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45337 /* 126951 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45338 /* 126953 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
45339 /* 126960 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
45340 /* 126965 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45341 /* 126970 */ // GIR_Coverage, 20805,
45342 /* 126970 */ GIR_EraseRootFromParent_Done,
45343 /* 126971 */ // Label 2760: @126971
45344 /* 126971 */ GIM_Reject,
45345 /* 126972 */ // Label 2757: @126972
45346 /* 126972 */ GIM_Reject,
45347 /* 126973 */ // Label 2695: @126973
45348 /* 126973 */ GIM_Try, /*On fail goto*//*Label 2761*/ GIMT_Encode4(127223),
45349 /* 126978 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
45350 /* 126981 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
45351 /* 126984 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45352 /* 126988 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45353 /* 126992 */ GIM_Try, /*On fail goto*//*Label 2762*/ GIMT_Encode4(127046), // Rule ID 7969 //
45354 /* 126997 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
45355 /* 127000 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45356 /* 127004 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45357 /* 127008 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45358 /* 127011 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45359 /* 127015 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45360 /* 127019 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45361 /* 127021 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45362 /* 127028 */ // (rotr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPRORVDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
45363 /* 127028 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPRORVDZ256rm),
45364 /* 127031 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45365 /* 127033 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45366 /* 127035 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
45367 /* 127039 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45368 /* 127044 */ GIR_RootConstrainSelectedInstOperands,
45369 /* 127045 */ // GIR_Coverage, 7969,
45370 /* 127045 */ GIR_EraseRootFromParent_Done,
45371 /* 127046 */ // Label 2762: @127046
45372 /* 127046 */ GIM_Try, /*On fail goto*//*Label 2763*/ GIMT_Encode4(127065), // Rule ID 7966 //
45373 /* 127051 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
45374 /* 127054 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45375 /* 127058 */ // (rotr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPRORVDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
45376 /* 127058 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPRORVDZ256rr),
45377 /* 127063 */ GIR_RootConstrainSelectedInstOperands,
45378 /* 127064 */ // GIR_Coverage, 7966,
45379 /* 127064 */ GIR_Done,
45380 /* 127065 */ // Label 2763: @127065
45381 /* 127065 */ GIM_Try, /*On fail goto*//*Label 2764*/ GIMT_Encode4(127222), // Rule ID 20807 //
45382 /* 127070 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
45383 /* 127073 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45384 /* 127077 */ // (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] })
45385 /* 127077 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
45386 /* 127080 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45387 /* 127084 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
45388 /* 127089 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
45389 /* 127091 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
45390 /* 127094 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45391 /* 127098 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
45392 /* 127103 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
45393 /* 127106 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
45394 /* 127110 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/12,
45395 /* 127113 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45396 /* 127118 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45397 /* 127123 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
45398 /* 127128 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
45399 /* 127131 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45400 /* 127135 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
45401 /* 127140 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
45402 /* 127142 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
45403 /* 127145 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45404 /* 127149 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
45405 /* 127154 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
45406 /* 127157 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
45407 /* 127161 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/12,
45408 /* 127164 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45409 /* 127169 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45410 /* 127174 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
45411 /* 127179 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
45412 /* 127182 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPRORVDZrr),
45413 /* 127186 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
45414 /* 127191 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
45415 /* 127194 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
45416 /* 127197 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
45417 /* 127199 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45418 /* 127202 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45419 /* 127204 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
45420 /* 127211 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
45421 /* 127216 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45422 /* 127221 */ // GIR_Coverage, 20807,
45423 /* 127221 */ GIR_EraseRootFromParent_Done,
45424 /* 127222 */ // Label 2764: @127222
45425 /* 127222 */ GIM_Reject,
45426 /* 127223 */ // Label 2761: @127223
45427 /* 127223 */ GIM_Reject,
45428 /* 127224 */ // Label 2696: @127224
45429 /* 127224 */ GIM_Try, /*On fail goto*//*Label 2765*/ GIMT_Encode4(127317),
45430 /* 127229 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
45431 /* 127232 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
45432 /* 127235 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45433 /* 127239 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45434 /* 127243 */ GIM_Try, /*On fail goto*//*Label 2766*/ GIMT_Encode4(127297), // Rule ID 7987 //
45435 /* 127248 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
45436 /* 127251 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45437 /* 127255 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45438 /* 127259 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45439 /* 127262 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45440 /* 127266 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45441 /* 127270 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45442 /* 127272 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45443 /* 127279 */ // (rotr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPRORVQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
45444 /* 127279 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPRORVQZrm),
45445 /* 127282 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45446 /* 127284 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45447 /* 127286 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
45448 /* 127290 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45449 /* 127295 */ GIR_RootConstrainSelectedInstOperands,
45450 /* 127296 */ // GIR_Coverage, 7987,
45451 /* 127296 */ GIR_EraseRootFromParent_Done,
45452 /* 127297 */ // Label 2766: @127297
45453 /* 127297 */ GIM_Try, /*On fail goto*//*Label 2767*/ GIMT_Encode4(127316), // Rule ID 7984 //
45454 /* 127302 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
45455 /* 127305 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45456 /* 127309 */ // (rotr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPRORVQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
45457 /* 127309 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPRORVQZrr),
45458 /* 127314 */ GIR_RootConstrainSelectedInstOperands,
45459 /* 127315 */ // GIR_Coverage, 7984,
45460 /* 127315 */ GIR_Done,
45461 /* 127316 */ // Label 2767: @127316
45462 /* 127316 */ GIM_Reject,
45463 /* 127317 */ // Label 2765: @127317
45464 /* 127317 */ GIM_Reject,
45465 /* 127318 */ // Label 2697: @127318
45466 /* 127318 */ GIM_Try, /*On fail goto*//*Label 2768*/ GIMT_Encode4(127411),
45467 /* 127323 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
45468 /* 127326 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
45469 /* 127329 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45470 /* 127333 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45471 /* 127337 */ GIM_Try, /*On fail goto*//*Label 2769*/ GIMT_Encode4(127391), // Rule ID 7960 //
45472 /* 127342 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
45473 /* 127345 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45474 /* 127349 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45475 /* 127353 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45476 /* 127356 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45477 /* 127360 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45478 /* 127364 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45479 /* 127366 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45480 /* 127373 */ // (rotr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPRORVDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
45481 /* 127373 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPRORVDZrm),
45482 /* 127376 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45483 /* 127378 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45484 /* 127380 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
45485 /* 127384 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45486 /* 127389 */ GIR_RootConstrainSelectedInstOperands,
45487 /* 127390 */ // GIR_Coverage, 7960,
45488 /* 127390 */ GIR_EraseRootFromParent_Done,
45489 /* 127391 */ // Label 2769: @127391
45490 /* 127391 */ GIM_Try, /*On fail goto*//*Label 2770*/ GIMT_Encode4(127410), // Rule ID 7957 //
45491 /* 127396 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
45492 /* 127399 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45493 /* 127403 */ // (rotr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPRORVDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
45494 /* 127403 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPRORVDZrr),
45495 /* 127408 */ GIR_RootConstrainSelectedInstOperands,
45496 /* 127409 */ // GIR_Coverage, 7957,
45497 /* 127409 */ GIR_Done,
45498 /* 127410 */ // Label 2770: @127410
45499 /* 127410 */ GIM_Reject,
45500 /* 127411 */ // Label 2768: @127411
45501 /* 127411 */ GIM_Reject,
45502 /* 127412 */ // Label 2698: @127412
45503 /* 127412 */ GIM_Reject,
45504 /* 127413 */ // Label 32: @127413
45505 /* 127413 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(20), /*)*//*default:*//*Label 2783*/ GIMT_Encode4(131132),
45506 /* 127424 */ /*GILLT_s8*//*Label 2771*/ GIMT_Encode4(127500),
45507 /* 127428 */ /*GILLT_s16*//*Label 2772*/ GIMT_Encode4(127930),
45508 /* 127432 */ /*GILLT_s32*//*Label 2773*/ GIMT_Encode4(128360),
45509 /* 127436 */ /*GILLT_s64*//*Label 2774*/ GIMT_Encode4(128827), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
45510 /* 127452 */ /*GILLT_v2s64*//*Label 2775*/ GIMT_Encode4(129294), GIMT_Encode4(0),
45511 /* 127460 */ /*GILLT_v4s32*//*Label 2776*/ GIMT_Encode4(129712),
45512 /* 127464 */ /*GILLT_v4s64*//*Label 2777*/ GIMT_Encode4(130130), GIMT_Encode4(0),
45513 /* 127472 */ /*GILLT_v8s16*//*Label 2778*/ GIMT_Encode4(130381),
45514 /* 127476 */ /*GILLT_v8s32*//*Label 2779*/ GIMT_Encode4(130537),
45515 /* 127480 */ /*GILLT_v8s64*//*Label 2780*/ GIMT_Encode4(130788), GIMT_Encode4(0),
45516 /* 127488 */ /*GILLT_v16s8*//*Label 2781*/ GIMT_Encode4(130882), GIMT_Encode4(0),
45517 /* 127496 */ /*GILLT_v16s32*//*Label 2782*/ GIMT_Encode4(131038),
45518 /* 127500 */ // Label 2771: @127500
45519 /* 127500 */ GIM_Try, /*On fail goto*//*Label 2784*/ GIMT_Encode4(127929),
45520 /* 127505 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
45521 /* 127508 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
45522 /* 127511 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
45523 /* 127515 */ GIM_Try, /*On fail goto*//*Label 2785*/ GIMT_Encode4(127574), // Rule ID 17620 //
45524 /* 127520 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
45525 /* 127523 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
45526 /* 127527 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45527 /* 127531 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45528 /* 127534 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45529 /* 127538 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
45530 /* 127542 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 7,
45531 /* 127546 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45532 /* 127548 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45533 /* 127555 */ // (rotl:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, 7:{ *:[i8] }) => (ROR8m1_ND:{ *:[i8] }:{ *:[i32] } addr:{ *:[iPTR] }:$src)
45534 /* 127555 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8m1_ND),
45535 /* 127558 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45536 /* 127560 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
45537 /* 127564 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45538 /* 127567 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45539 /* 127572 */ GIR_RootConstrainSelectedInstOperands,
45540 /* 127573 */ // GIR_Coverage, 17620,
45541 /* 127573 */ GIR_EraseRootFromParent_Done,
45542 /* 127574 */ // Label 2785: @127574
45543 /* 127574 */ GIM_Try, /*On fail goto*//*Label 2786*/ GIMT_Encode4(127641), // Rule ID 769 //
45544 /* 127579 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45545 /* 127582 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
45546 /* 127586 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45547 /* 127590 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45548 /* 127593 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45549 /* 127597 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
45550 /* 127601 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
45551 /* 127605 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45552 /* 127609 */ // MIs[2] Operand 1
45553 /* 127609 */ // No operand predicates
45554 /* 127609 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
45555 /* 127611 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45556 /* 127618 */ // (rotl:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, (imm:{ *:[i8] }):$src2) => (ROL8mi_ND:{ *:[i8] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
45557 /* 127618 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8mi_ND),
45558 /* 127621 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45559 /* 127623 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
45560 /* 127627 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
45561 /* 127630 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45562 /* 127633 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
45563 /* 127639 */ GIR_RootConstrainSelectedInstOperands,
45564 /* 127640 */ // GIR_Coverage, 769,
45565 /* 127640 */ GIR_EraseRootFromParent_Done,
45566 /* 127641 */ // Label 2786: @127641
45567 /* 127641 */ GIM_Try, /*On fail goto*//*Label 2787*/ GIMT_Encode4(127714), // Rule ID 785 //
45568 /* 127646 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45569 /* 127649 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
45570 /* 127653 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45571 /* 127657 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45572 /* 127660 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45573 /* 127664 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
45574 /* 127668 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
45575 /* 127672 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45576 /* 127674 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45577 /* 127681 */ // (rotl:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, CL:{ *:[i8] }) => (ROL8mCL_ND:{ *:[i8] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
45578 /* 127681 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45579 /* 127685 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
45580 /* 127691 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
45581 /* 127695 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8mCL_ND),
45582 /* 127698 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45583 /* 127700 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
45584 /* 127704 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45585 /* 127707 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45586 /* 127712 */ GIR_RootConstrainSelectedInstOperands,
45587 /* 127713 */ // GIR_Coverage, 785,
45588 /* 127713 */ GIR_EraseRootFromParent_Done,
45589 /* 127714 */ // Label 2787: @127714
45590 /* 127714 */ GIM_Try, /*On fail goto*//*Label 2788*/ GIMT_Encode4(127742), // Rule ID 17596 //
45591 /* 127719 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45592 /* 127722 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
45593 /* 127726 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 7,
45594 /* 127730 */ // (rotl:{ *:[i8] } GR8:{ *:[i8] }:$src1, 7:{ *:[i8] }) => (ROR8r1:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
45595 /* 127730 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8r1),
45596 /* 127733 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45597 /* 127735 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45598 /* 127737 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45599 /* 127740 */ GIR_RootConstrainSelectedInstOperands,
45600 /* 127741 */ // GIR_Coverage, 17596,
45601 /* 127741 */ GIR_EraseRootFromParent_Done,
45602 /* 127742 */ // Label 2788: @127742
45603 /* 127742 */ GIM_Try, /*On fail goto*//*Label 2789*/ GIMT_Encode4(127770), // Rule ID 17604 //
45604 /* 127747 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
45605 /* 127750 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
45606 /* 127754 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 7,
45607 /* 127758 */ // (rotl:{ *:[i8] } GR8:{ *:[i8] }:$src1, 7:{ *:[i8] }) => (ROR8r1_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
45608 /* 127758 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8r1_ND),
45609 /* 127761 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45610 /* 127763 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45611 /* 127765 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45612 /* 127768 */ GIR_RootConstrainSelectedInstOperands,
45613 /* 127769 */ // GIR_Coverage, 17604,
45614 /* 127769 */ GIR_EraseRootFromParent_Done,
45615 /* 127770 */ // Label 2789: @127770
45616 /* 127770 */ GIM_Try, /*On fail goto*//*Label 2790*/ GIMT_Encode4(127807), // Rule ID 757 //
45617 /* 127775 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45618 /* 127778 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
45619 /* 127782 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45620 /* 127786 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45621 /* 127790 */ // MIs[1] Operand 1
45622 /* 127790 */ // No operand predicates
45623 /* 127790 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45624 /* 127792 */ // (rotl:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
45625 /* 127792 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8ri),
45626 /* 127795 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45627 /* 127797 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45628 /* 127799 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
45629 /* 127802 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45630 /* 127805 */ GIR_RootConstrainSelectedInstOperands,
45631 /* 127806 */ // GIR_Coverage, 757,
45632 /* 127806 */ GIR_EraseRootFromParent_Done,
45633 /* 127807 */ // Label 2790: @127807
45634 /* 127807 */ GIM_Try, /*On fail goto*//*Label 2791*/ GIMT_Encode4(127844), // Rule ID 761 //
45635 /* 127812 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45636 /* 127815 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
45637 /* 127819 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45638 /* 127823 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45639 /* 127827 */ // MIs[1] Operand 1
45640 /* 127827 */ // No operand predicates
45641 /* 127827 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45642 /* 127829 */ // (rotl:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
45643 /* 127829 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8ri_ND),
45644 /* 127832 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45645 /* 127834 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45646 /* 127836 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
45647 /* 127839 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45648 /* 127842 */ GIR_RootConstrainSelectedInstOperands,
45649 /* 127843 */ // GIR_Coverage, 761,
45650 /* 127843 */ GIR_EraseRootFromParent_Done,
45651 /* 127844 */ // Label 2791: @127844
45652 /* 127844 */ GIM_Try, /*On fail goto*//*Label 2792*/ GIMT_Encode4(127886), // Rule ID 773 //
45653 /* 127849 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45654 /* 127852 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
45655 /* 127856 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
45656 /* 127860 */ // (rotl:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (ROL8rCL:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
45657 /* 127860 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45658 /* 127864 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
45659 /* 127870 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
45660 /* 127874 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8rCL),
45661 /* 127877 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45662 /* 127879 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45663 /* 127881 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45664 /* 127884 */ GIR_RootConstrainSelectedInstOperands,
45665 /* 127885 */ // GIR_Coverage, 773,
45666 /* 127885 */ GIR_EraseRootFromParent_Done,
45667 /* 127886 */ // Label 2792: @127886
45668 /* 127886 */ GIM_Try, /*On fail goto*//*Label 2793*/ GIMT_Encode4(127928), // Rule ID 777 //
45669 /* 127891 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45670 /* 127894 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
45671 /* 127898 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
45672 /* 127902 */ // (rotl:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (ROL8rCL_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
45673 /* 127902 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45674 /* 127906 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
45675 /* 127912 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
45676 /* 127916 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8rCL_ND),
45677 /* 127919 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45678 /* 127921 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45679 /* 127923 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45680 /* 127926 */ GIR_RootConstrainSelectedInstOperands,
45681 /* 127927 */ // GIR_Coverage, 777,
45682 /* 127927 */ GIR_EraseRootFromParent_Done,
45683 /* 127928 */ // Label 2793: @127928
45684 /* 127928 */ GIM_Reject,
45685 /* 127929 */ // Label 2784: @127929
45686 /* 127929 */ GIM_Reject,
45687 /* 127930 */ // Label 2772: @127930
45688 /* 127930 */ GIM_Try, /*On fail goto*//*Label 2794*/ GIMT_Encode4(128359),
45689 /* 127935 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
45690 /* 127938 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
45691 /* 127941 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
45692 /* 127945 */ GIM_Try, /*On fail goto*//*Label 2795*/ GIMT_Encode4(128004), // Rule ID 17621 //
45693 /* 127950 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
45694 /* 127953 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
45695 /* 127957 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45696 /* 127961 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45697 /* 127964 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45698 /* 127968 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
45699 /* 127972 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 15,
45700 /* 127976 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45701 /* 127978 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45702 /* 127985 */ // (rotl:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, 15:{ *:[i8] }) => (ROR16m1_ND:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src)
45703 /* 127985 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16m1_ND),
45704 /* 127988 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45705 /* 127990 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
45706 /* 127994 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45707 /* 127997 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45708 /* 128002 */ GIR_RootConstrainSelectedInstOperands,
45709 /* 128003 */ // GIR_Coverage, 17621,
45710 /* 128003 */ GIR_EraseRootFromParent_Done,
45711 /* 128004 */ // Label 2795: @128004
45712 /* 128004 */ GIM_Try, /*On fail goto*//*Label 2796*/ GIMT_Encode4(128071), // Rule ID 770 //
45713 /* 128009 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45714 /* 128012 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
45715 /* 128016 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45716 /* 128020 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45717 /* 128023 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45718 /* 128027 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
45719 /* 128031 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
45720 /* 128035 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45721 /* 128039 */ // MIs[2] Operand 1
45722 /* 128039 */ // No operand predicates
45723 /* 128039 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
45724 /* 128041 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45725 /* 128048 */ // (rotl:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, (imm:{ *:[i8] }):$src2) => (ROL16mi_ND:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
45726 /* 128048 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16mi_ND),
45727 /* 128051 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45728 /* 128053 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
45729 /* 128057 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
45730 /* 128060 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45731 /* 128063 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
45732 /* 128069 */ GIR_RootConstrainSelectedInstOperands,
45733 /* 128070 */ // GIR_Coverage, 770,
45734 /* 128070 */ GIR_EraseRootFromParent_Done,
45735 /* 128071 */ // Label 2796: @128071
45736 /* 128071 */ GIM_Try, /*On fail goto*//*Label 2797*/ GIMT_Encode4(128144), // Rule ID 786 //
45737 /* 128076 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45738 /* 128079 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
45739 /* 128083 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45740 /* 128087 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45741 /* 128090 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45742 /* 128094 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
45743 /* 128098 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
45744 /* 128102 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45745 /* 128104 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45746 /* 128111 */ // (rotl:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, CL:{ *:[i8] }) => (ROL16mCL_ND:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
45747 /* 128111 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45748 /* 128115 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
45749 /* 128121 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
45750 /* 128125 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16mCL_ND),
45751 /* 128128 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45752 /* 128130 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
45753 /* 128134 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45754 /* 128137 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45755 /* 128142 */ GIR_RootConstrainSelectedInstOperands,
45756 /* 128143 */ // GIR_Coverage, 786,
45757 /* 128143 */ GIR_EraseRootFromParent_Done,
45758 /* 128144 */ // Label 2797: @128144
45759 /* 128144 */ GIM_Try, /*On fail goto*//*Label 2798*/ GIMT_Encode4(128172), // Rule ID 17597 //
45760 /* 128149 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45761 /* 128152 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
45762 /* 128156 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 15,
45763 /* 128160 */ // (rotl:{ *:[i16] } GR16:{ *:[i16] }:$src1, 15:{ *:[i8] }) => (ROR16r1:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
45764 /* 128160 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16r1),
45765 /* 128163 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45766 /* 128165 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45767 /* 128167 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45768 /* 128170 */ GIR_RootConstrainSelectedInstOperands,
45769 /* 128171 */ // GIR_Coverage, 17597,
45770 /* 128171 */ GIR_EraseRootFromParent_Done,
45771 /* 128172 */ // Label 2798: @128172
45772 /* 128172 */ GIM_Try, /*On fail goto*//*Label 2799*/ GIMT_Encode4(128200), // Rule ID 17605 //
45773 /* 128177 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
45774 /* 128180 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
45775 /* 128184 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 15,
45776 /* 128188 */ // (rotl:{ *:[i16] } GR16:{ *:[i16] }:$src1, 15:{ *:[i8] }) => (ROR16r1_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
45777 /* 128188 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16r1_ND),
45778 /* 128191 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45779 /* 128193 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45780 /* 128195 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45781 /* 128198 */ GIR_RootConstrainSelectedInstOperands,
45782 /* 128199 */ // GIR_Coverage, 17605,
45783 /* 128199 */ GIR_EraseRootFromParent_Done,
45784 /* 128200 */ // Label 2799: @128200
45785 /* 128200 */ GIM_Try, /*On fail goto*//*Label 2800*/ GIMT_Encode4(128237), // Rule ID 758 //
45786 /* 128205 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45787 /* 128208 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
45788 /* 128212 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45789 /* 128216 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45790 /* 128220 */ // MIs[1] Operand 1
45791 /* 128220 */ // No operand predicates
45792 /* 128220 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45793 /* 128222 */ // (rotl:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
45794 /* 128222 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16ri),
45795 /* 128225 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45796 /* 128227 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45797 /* 128229 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
45798 /* 128232 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45799 /* 128235 */ GIR_RootConstrainSelectedInstOperands,
45800 /* 128236 */ // GIR_Coverage, 758,
45801 /* 128236 */ GIR_EraseRootFromParent_Done,
45802 /* 128237 */ // Label 2800: @128237
45803 /* 128237 */ GIM_Try, /*On fail goto*//*Label 2801*/ GIMT_Encode4(128274), // Rule ID 762 //
45804 /* 128242 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45805 /* 128245 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
45806 /* 128249 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45807 /* 128253 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45808 /* 128257 */ // MIs[1] Operand 1
45809 /* 128257 */ // No operand predicates
45810 /* 128257 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45811 /* 128259 */ // (rotl:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
45812 /* 128259 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16ri_ND),
45813 /* 128262 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45814 /* 128264 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45815 /* 128266 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
45816 /* 128269 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45817 /* 128272 */ GIR_RootConstrainSelectedInstOperands,
45818 /* 128273 */ // GIR_Coverage, 762,
45819 /* 128273 */ GIR_EraseRootFromParent_Done,
45820 /* 128274 */ // Label 2801: @128274
45821 /* 128274 */ GIM_Try, /*On fail goto*//*Label 2802*/ GIMT_Encode4(128316), // Rule ID 774 //
45822 /* 128279 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45823 /* 128282 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
45824 /* 128286 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
45825 /* 128290 */ // (rotl:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (ROL16rCL:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
45826 /* 128290 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45827 /* 128294 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
45828 /* 128300 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
45829 /* 128304 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16rCL),
45830 /* 128307 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45831 /* 128309 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45832 /* 128311 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45833 /* 128314 */ GIR_RootConstrainSelectedInstOperands,
45834 /* 128315 */ // GIR_Coverage, 774,
45835 /* 128315 */ GIR_EraseRootFromParent_Done,
45836 /* 128316 */ // Label 2802: @128316
45837 /* 128316 */ GIM_Try, /*On fail goto*//*Label 2803*/ GIMT_Encode4(128358), // Rule ID 778 //
45838 /* 128321 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45839 /* 128324 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
45840 /* 128328 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
45841 /* 128332 */ // (rotl:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (ROL16rCL_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
45842 /* 128332 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45843 /* 128336 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
45844 /* 128342 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
45845 /* 128346 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16rCL_ND),
45846 /* 128349 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45847 /* 128351 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45848 /* 128353 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45849 /* 128356 */ GIR_RootConstrainSelectedInstOperands,
45850 /* 128357 */ // GIR_Coverage, 778,
45851 /* 128357 */ GIR_EraseRootFromParent_Done,
45852 /* 128358 */ // Label 2803: @128358
45853 /* 128358 */ GIM_Reject,
45854 /* 128359 */ // Label 2794: @128359
45855 /* 128359 */ GIM_Reject,
45856 /* 128360 */ // Label 2773: @128360
45857 /* 128360 */ GIM_Try, /*On fail goto*//*Label 2804*/ GIMT_Encode4(128826),
45858 /* 128365 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
45859 /* 128368 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
45860 /* 128371 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
45861 /* 128375 */ GIM_Try, /*On fail goto*//*Label 2805*/ GIMT_Encode4(128434), // Rule ID 17622 //
45862 /* 128380 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
45863 /* 128383 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
45864 /* 128387 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45865 /* 128391 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45866 /* 128394 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45867 /* 128398 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
45868 /* 128402 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 31,
45869 /* 128406 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45870 /* 128408 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45871 /* 128415 */ // (rotl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, 31:{ *:[i8] }) => (ROR32m1_ND:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src)
45872 /* 128415 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32m1_ND),
45873 /* 128418 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45874 /* 128420 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
45875 /* 128424 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45876 /* 128427 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45877 /* 128432 */ GIR_RootConstrainSelectedInstOperands,
45878 /* 128433 */ // GIR_Coverage, 17622,
45879 /* 128433 */ GIR_EraseRootFromParent_Done,
45880 /* 128434 */ // Label 2805: @128434
45881 /* 128434 */ GIM_Try, /*On fail goto*//*Label 2806*/ GIMT_Encode4(128501), // Rule ID 771 //
45882 /* 128439 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45883 /* 128442 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
45884 /* 128446 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45885 /* 128450 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45886 /* 128453 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45887 /* 128457 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
45888 /* 128461 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
45889 /* 128465 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45890 /* 128469 */ // MIs[2] Operand 1
45891 /* 128469 */ // No operand predicates
45892 /* 128469 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
45893 /* 128471 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45894 /* 128478 */ // (rotl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, (imm:{ *:[i8] }):$src2) => (ROL32mi_ND:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
45895 /* 128478 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32mi_ND),
45896 /* 128481 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45897 /* 128483 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
45898 /* 128487 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
45899 /* 128490 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45900 /* 128493 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
45901 /* 128499 */ GIR_RootConstrainSelectedInstOperands,
45902 /* 128500 */ // GIR_Coverage, 771,
45903 /* 128500 */ GIR_EraseRootFromParent_Done,
45904 /* 128501 */ // Label 2806: @128501
45905 /* 128501 */ GIM_Try, /*On fail goto*//*Label 2807*/ GIMT_Encode4(128574), // Rule ID 787 //
45906 /* 128506 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45907 /* 128509 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
45908 /* 128513 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45909 /* 128517 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45910 /* 128520 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45911 /* 128524 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
45912 /* 128528 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
45913 /* 128532 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45914 /* 128534 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45915 /* 128541 */ // (rotl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, CL:{ *:[i8] }) => (ROL32mCL_ND:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
45916 /* 128541 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45917 /* 128545 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
45918 /* 128551 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
45919 /* 128555 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32mCL_ND),
45920 /* 128558 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45921 /* 128560 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
45922 /* 128564 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45923 /* 128567 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45924 /* 128572 */ GIR_RootConstrainSelectedInstOperands,
45925 /* 128573 */ // GIR_Coverage, 787,
45926 /* 128573 */ GIR_EraseRootFromParent_Done,
45927 /* 128574 */ // Label 2807: @128574
45928 /* 128574 */ GIM_Try, /*On fail goto*//*Label 2808*/ GIMT_Encode4(128611), // Rule ID 869 //
45929 /* 128579 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFastSHLDRotate),
45930 /* 128582 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
45931 /* 128586 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45932 /* 128590 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45933 /* 128594 */ // MIs[1] Operand 1
45934 /* 128594 */ // No operand predicates
45935 /* 128594 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45936 /* 128596 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$shamt) => (SHLDROT32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$shamt)
45937 /* 128596 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLDROT32ri),
45938 /* 128599 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45939 /* 128601 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45940 /* 128603 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
45941 /* 128606 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45942 /* 128609 */ GIR_RootConstrainSelectedInstOperands,
45943 /* 128610 */ // GIR_Coverage, 869,
45944 /* 128610 */ GIR_EraseRootFromParent_Done,
45945 /* 128611 */ // Label 2808: @128611
45946 /* 128611 */ GIM_Try, /*On fail goto*//*Label 2809*/ GIMT_Encode4(128639), // Rule ID 17598 //
45947 /* 128616 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45948 /* 128619 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
45949 /* 128623 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 31,
45950 /* 128627 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, 31:{ *:[i8] }) => (ROR32r1:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
45951 /* 128627 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32r1),
45952 /* 128630 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45953 /* 128632 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45954 /* 128634 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45955 /* 128637 */ GIR_RootConstrainSelectedInstOperands,
45956 /* 128638 */ // GIR_Coverage, 17598,
45957 /* 128638 */ GIR_EraseRootFromParent_Done,
45958 /* 128639 */ // Label 2809: @128639
45959 /* 128639 */ GIM_Try, /*On fail goto*//*Label 2810*/ GIMT_Encode4(128667), // Rule ID 17606 //
45960 /* 128644 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
45961 /* 128647 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
45962 /* 128651 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 31,
45963 /* 128655 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, 31:{ *:[i8] }) => (ROR32r1_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
45964 /* 128655 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32r1_ND),
45965 /* 128658 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45966 /* 128660 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45967 /* 128662 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45968 /* 128665 */ GIR_RootConstrainSelectedInstOperands,
45969 /* 128666 */ // GIR_Coverage, 17606,
45970 /* 128666 */ GIR_EraseRootFromParent_Done,
45971 /* 128667 */ // Label 2810: @128667
45972 /* 128667 */ GIM_Try, /*On fail goto*//*Label 2811*/ GIMT_Encode4(128704), // Rule ID 759 //
45973 /* 128672 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45974 /* 128675 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
45975 /* 128679 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45976 /* 128683 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45977 /* 128687 */ // MIs[1] Operand 1
45978 /* 128687 */ // No operand predicates
45979 /* 128687 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45980 /* 128689 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
45981 /* 128689 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32ri),
45982 /* 128692 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45983 /* 128694 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45984 /* 128696 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
45985 /* 128699 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45986 /* 128702 */ GIR_RootConstrainSelectedInstOperands,
45987 /* 128703 */ // GIR_Coverage, 759,
45988 /* 128703 */ GIR_EraseRootFromParent_Done,
45989 /* 128704 */ // Label 2811: @128704
45990 /* 128704 */ GIM_Try, /*On fail goto*//*Label 2812*/ GIMT_Encode4(128741), // Rule ID 763 //
45991 /* 128709 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45992 /* 128712 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
45993 /* 128716 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45994 /* 128720 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45995 /* 128724 */ // MIs[1] Operand 1
45996 /* 128724 */ // No operand predicates
45997 /* 128724 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45998 /* 128726 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
45999 /* 128726 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32ri_ND),
46000 /* 128729 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46001 /* 128731 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46002 /* 128733 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
46003 /* 128736 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46004 /* 128739 */ GIR_RootConstrainSelectedInstOperands,
46005 /* 128740 */ // GIR_Coverage, 763,
46006 /* 128740 */ GIR_EraseRootFromParent_Done,
46007 /* 128741 */ // Label 2812: @128741
46008 /* 128741 */ GIM_Try, /*On fail goto*//*Label 2813*/ GIMT_Encode4(128783), // Rule ID 775 //
46009 /* 128746 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
46010 /* 128749 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
46011 /* 128753 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
46012 /* 128757 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (ROL32rCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
46013 /* 128757 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46014 /* 128761 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
46015 /* 128767 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
46016 /* 128771 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32rCL),
46017 /* 128774 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46018 /* 128776 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46019 /* 128778 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46020 /* 128781 */ GIR_RootConstrainSelectedInstOperands,
46021 /* 128782 */ // GIR_Coverage, 775,
46022 /* 128782 */ GIR_EraseRootFromParent_Done,
46023 /* 128783 */ // Label 2813: @128783
46024 /* 128783 */ GIM_Try, /*On fail goto*//*Label 2814*/ GIMT_Encode4(128825), // Rule ID 779 //
46025 /* 128788 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
46026 /* 128791 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
46027 /* 128795 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
46028 /* 128799 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (ROL32rCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
46029 /* 128799 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46030 /* 128803 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
46031 /* 128809 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
46032 /* 128813 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32rCL_ND),
46033 /* 128816 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46034 /* 128818 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46035 /* 128820 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46036 /* 128823 */ GIR_RootConstrainSelectedInstOperands,
46037 /* 128824 */ // GIR_Coverage, 779,
46038 /* 128824 */ GIR_EraseRootFromParent_Done,
46039 /* 128825 */ // Label 2814: @128825
46040 /* 128825 */ GIM_Reject,
46041 /* 128826 */ // Label 2804: @128826
46042 /* 128826 */ GIM_Reject,
46043 /* 128827 */ // Label 2774: @128827
46044 /* 128827 */ GIM_Try, /*On fail goto*//*Label 2815*/ GIMT_Encode4(129293),
46045 /* 128832 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
46046 /* 128835 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
46047 /* 128838 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
46048 /* 128842 */ GIM_Try, /*On fail goto*//*Label 2816*/ GIMT_Encode4(128901), // Rule ID 17623 //
46049 /* 128847 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
46050 /* 128850 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
46051 /* 128854 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46052 /* 128858 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46053 /* 128861 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46054 /* 128865 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46055 /* 128869 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 63,
46056 /* 128873 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46057 /* 128875 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46058 /* 128882 */ // (rotl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>, 63:{ *:[i8] }) => (ROR64m1_ND:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src)
46059 /* 128882 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64m1_ND),
46060 /* 128885 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46061 /* 128887 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
46062 /* 128891 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46063 /* 128894 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46064 /* 128899 */ GIR_RootConstrainSelectedInstOperands,
46065 /* 128900 */ // GIR_Coverage, 17623,
46066 /* 128900 */ GIR_EraseRootFromParent_Done,
46067 /* 128901 */ // Label 2816: @128901
46068 /* 128901 */ GIM_Try, /*On fail goto*//*Label 2817*/ GIMT_Encode4(128968), // Rule ID 772 //
46069 /* 128906 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
46070 /* 128909 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
46071 /* 128913 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46072 /* 128917 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46073 /* 128920 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46074 /* 128924 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46075 /* 128928 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
46076 /* 128932 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
46077 /* 128936 */ // MIs[2] Operand 1
46078 /* 128936 */ // No operand predicates
46079 /* 128936 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
46080 /* 128938 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46081 /* 128945 */ // (rotl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i8] }):$src2) => (ROL64mi_ND:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
46082 /* 128945 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64mi_ND),
46083 /* 128948 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46084 /* 128950 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
46085 /* 128954 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
46086 /* 128957 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46087 /* 128960 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
46088 /* 128966 */ GIR_RootConstrainSelectedInstOperands,
46089 /* 128967 */ // GIR_Coverage, 772,
46090 /* 128967 */ GIR_EraseRootFromParent_Done,
46091 /* 128968 */ // Label 2817: @128968
46092 /* 128968 */ GIM_Try, /*On fail goto*//*Label 2818*/ GIMT_Encode4(129041), // Rule ID 788 //
46093 /* 128973 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
46094 /* 128976 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
46095 /* 128980 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46096 /* 128984 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46097 /* 128987 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46098 /* 128991 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46099 /* 128995 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
46100 /* 128999 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46101 /* 129001 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46102 /* 129008 */ // (rotl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, CL:{ *:[i8] }) => (ROL64mCL_ND:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
46103 /* 129008 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46104 /* 129012 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
46105 /* 129018 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
46106 /* 129022 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64mCL_ND),
46107 /* 129025 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46108 /* 129027 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
46109 /* 129031 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46110 /* 129034 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46111 /* 129039 */ GIR_RootConstrainSelectedInstOperands,
46112 /* 129040 */ // GIR_Coverage, 788,
46113 /* 129040 */ GIR_EraseRootFromParent_Done,
46114 /* 129041 */ // Label 2818: @129041
46115 /* 129041 */ GIM_Try, /*On fail goto*//*Label 2819*/ GIMT_Encode4(129078), // Rule ID 870 //
46116 /* 129046 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFastSHLDRotate),
46117 /* 129049 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
46118 /* 129053 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46119 /* 129057 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
46120 /* 129061 */ // MIs[1] Operand 1
46121 /* 129061 */ // No operand predicates
46122 /* 129061 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46123 /* 129063 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$shamt) => (SHLDROT64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$shamt)
46124 /* 129063 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLDROT64ri),
46125 /* 129066 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46126 /* 129068 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46127 /* 129070 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
46128 /* 129073 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46129 /* 129076 */ GIR_RootConstrainSelectedInstOperands,
46130 /* 129077 */ // GIR_Coverage, 870,
46131 /* 129077 */ GIR_EraseRootFromParent_Done,
46132 /* 129078 */ // Label 2819: @129078
46133 /* 129078 */ GIM_Try, /*On fail goto*//*Label 2820*/ GIMT_Encode4(129106), // Rule ID 17599 //
46134 /* 129083 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
46135 /* 129086 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
46136 /* 129090 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 63,
46137 /* 129094 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, 63:{ *:[i8] }) => (ROR64r1:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
46138 /* 129094 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64r1),
46139 /* 129097 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46140 /* 129099 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46141 /* 129101 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46142 /* 129104 */ GIR_RootConstrainSelectedInstOperands,
46143 /* 129105 */ // GIR_Coverage, 17599,
46144 /* 129105 */ GIR_EraseRootFromParent_Done,
46145 /* 129106 */ // Label 2820: @129106
46146 /* 129106 */ GIM_Try, /*On fail goto*//*Label 2821*/ GIMT_Encode4(129134), // Rule ID 17607 //
46147 /* 129111 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
46148 /* 129114 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
46149 /* 129118 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 63,
46150 /* 129122 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, 63:{ *:[i8] }) => (ROR64r1_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
46151 /* 129122 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64r1_ND),
46152 /* 129125 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46153 /* 129127 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46154 /* 129129 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46155 /* 129132 */ GIR_RootConstrainSelectedInstOperands,
46156 /* 129133 */ // GIR_Coverage, 17607,
46157 /* 129133 */ GIR_EraseRootFromParent_Done,
46158 /* 129134 */ // Label 2821: @129134
46159 /* 129134 */ GIM_Try, /*On fail goto*//*Label 2822*/ GIMT_Encode4(129171), // Rule ID 760 //
46160 /* 129139 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
46161 /* 129142 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
46162 /* 129146 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46163 /* 129150 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
46164 /* 129154 */ // MIs[1] Operand 1
46165 /* 129154 */ // No operand predicates
46166 /* 129154 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46167 /* 129156 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
46168 /* 129156 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64ri),
46169 /* 129159 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46170 /* 129161 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46171 /* 129163 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
46172 /* 129166 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46173 /* 129169 */ GIR_RootConstrainSelectedInstOperands,
46174 /* 129170 */ // GIR_Coverage, 760,
46175 /* 129170 */ GIR_EraseRootFromParent_Done,
46176 /* 129171 */ // Label 2822: @129171
46177 /* 129171 */ GIM_Try, /*On fail goto*//*Label 2823*/ GIMT_Encode4(129208), // Rule ID 764 //
46178 /* 129176 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
46179 /* 129179 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
46180 /* 129183 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46181 /* 129187 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
46182 /* 129191 */ // MIs[1] Operand 1
46183 /* 129191 */ // No operand predicates
46184 /* 129191 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46185 /* 129193 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL64ri_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
46186 /* 129193 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64ri_ND),
46187 /* 129196 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46188 /* 129198 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46189 /* 129200 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
46190 /* 129203 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46191 /* 129206 */ GIR_RootConstrainSelectedInstOperands,
46192 /* 129207 */ // GIR_Coverage, 764,
46193 /* 129207 */ GIR_EraseRootFromParent_Done,
46194 /* 129208 */ // Label 2823: @129208
46195 /* 129208 */ GIM_Try, /*On fail goto*//*Label 2824*/ GIMT_Encode4(129250), // Rule ID 776 //
46196 /* 129213 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
46197 /* 129216 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
46198 /* 129220 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
46199 /* 129224 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (ROL64rCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
46200 /* 129224 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46201 /* 129228 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
46202 /* 129234 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
46203 /* 129238 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64rCL),
46204 /* 129241 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46205 /* 129243 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46206 /* 129245 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46207 /* 129248 */ GIR_RootConstrainSelectedInstOperands,
46208 /* 129249 */ // GIR_Coverage, 776,
46209 /* 129249 */ GIR_EraseRootFromParent_Done,
46210 /* 129250 */ // Label 2824: @129250
46211 /* 129250 */ GIM_Try, /*On fail goto*//*Label 2825*/ GIMT_Encode4(129292), // Rule ID 780 //
46212 /* 129255 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
46213 /* 129258 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
46214 /* 129262 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
46215 /* 129266 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (ROL64rCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
46216 /* 129266 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46217 /* 129270 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(RegState::Define),
46218 /* 129276 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
46219 /* 129280 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64rCL_ND),
46220 /* 129283 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46221 /* 129285 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46222 /* 129287 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46223 /* 129290 */ GIR_RootConstrainSelectedInstOperands,
46224 /* 129291 */ // GIR_Coverage, 780,
46225 /* 129291 */ GIR_EraseRootFromParent_Done,
46226 /* 129292 */ // Label 2825: @129292
46227 /* 129292 */ GIM_Reject,
46228 /* 129293 */ // Label 2815: @129293
46229 /* 129293 */ GIM_Reject,
46230 /* 129294 */ // Label 2775: @129294
46231 /* 129294 */ GIM_Try, /*On fail goto*//*Label 2826*/ GIMT_Encode4(129711),
46232 /* 129299 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
46233 /* 129302 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
46234 /* 129305 */ GIM_Try, /*On fail goto*//*Label 2827*/ GIMT_Encode4(129367), // Rule ID 1583 //
46235 /* 129310 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
46236 /* 129313 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46237 /* 129317 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
46238 /* 129321 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46239 /* 129325 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46240 /* 129328 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46241 /* 129332 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46242 /* 129336 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46243 /* 129340 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46244 /* 129342 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46245 /* 129349 */ // (rotl:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2i64] }:$src2) => (VPROTQmr:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1, VR128:{ *:[v2i64] }:$src2)
46246 /* 129349 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTQmr),
46247 /* 129352 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46248 /* 129354 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
46249 /* 129358 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
46250 /* 129360 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46251 /* 129365 */ GIR_RootConstrainSelectedInstOperands,
46252 /* 129366 */ // GIR_Coverage, 1583,
46253 /* 129366 */ GIR_EraseRootFromParent_Done,
46254 /* 129367 */ // Label 2827: @129367
46255 /* 129367 */ GIM_Try, /*On fail goto*//*Label 2828*/ GIMT_Encode4(129429), // Rule ID 1582 //
46256 /* 129372 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
46257 /* 129375 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46258 /* 129379 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46259 /* 129383 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46260 /* 129387 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46261 /* 129391 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46262 /* 129394 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46263 /* 129398 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46264 /* 129402 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46265 /* 129404 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46266 /* 129411 */ // (rotl:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROTQrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
46267 /* 129411 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTQrm),
46268 /* 129414 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46269 /* 129416 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46270 /* 129418 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
46271 /* 129422 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46272 /* 129427 */ GIR_RootConstrainSelectedInstOperands,
46273 /* 129428 */ // GIR_Coverage, 1582,
46274 /* 129428 */ GIR_EraseRootFromParent_Done,
46275 /* 129429 */ // Label 2828: @129429
46276 /* 129429 */ GIM_Try, /*On fail goto*//*Label 2829*/ GIMT_Encode4(129491), // Rule ID 8059 //
46277 /* 129434 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
46278 /* 129437 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46279 /* 129441 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46280 /* 129445 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46281 /* 129449 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46282 /* 129453 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46283 /* 129456 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46284 /* 129460 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46285 /* 129464 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46286 /* 129466 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46287 /* 129473 */ // (rotl:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROLVQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
46288 /* 129473 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROLVQZ128rm),
46289 /* 129476 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46290 /* 129478 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46291 /* 129480 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
46292 /* 129484 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46293 /* 129489 */ GIR_RootConstrainSelectedInstOperands,
46294 /* 129490 */ // GIR_Coverage, 8059,
46295 /* 129490 */ GIR_EraseRootFromParent_Done,
46296 /* 129491 */ // Label 2829: @129491
46297 /* 129491 */ GIM_Try, /*On fail goto*//*Label 2830*/ GIMT_Encode4(129518), // Rule ID 1581 //
46298 /* 129496 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
46299 /* 129499 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46300 /* 129503 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46301 /* 129507 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46302 /* 129511 */ // (rotl:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPROTQrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
46303 /* 129511 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROTQrr),
46304 /* 129516 */ GIR_RootConstrainSelectedInstOperands,
46305 /* 129517 */ // GIR_Coverage, 1581,
46306 /* 129517 */ GIR_Done,
46307 /* 129518 */ // Label 2830: @129518
46308 /* 129518 */ GIM_Try, /*On fail goto*//*Label 2831*/ GIMT_Encode4(129545), // Rule ID 8056 //
46309 /* 129523 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
46310 /* 129526 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46311 /* 129530 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46312 /* 129534 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46313 /* 129538 */ // (rotl:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPROLVQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
46314 /* 129538 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROLVQZ128rr),
46315 /* 129543 */ GIR_RootConstrainSelectedInstOperands,
46316 /* 129544 */ // GIR_Coverage, 8056,
46317 /* 129544 */ GIR_Done,
46318 /* 129545 */ // Label 2831: @129545
46319 /* 129545 */ GIM_Try, /*On fail goto*//*Label 2832*/ GIMT_Encode4(129710), // Rule ID 20796 //
46320 /* 129550 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
46321 /* 129553 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
46322 /* 129557 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46323 /* 129561 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46324 /* 129565 */ // (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] })
46325 /* 129565 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
46326 /* 129568 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46327 /* 129572 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
46328 /* 129577 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
46329 /* 129579 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
46330 /* 129582 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46331 /* 129586 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
46332 /* 129591 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
46333 /* 129594 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
46334 /* 129598 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/11,
46335 /* 129601 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46336 /* 129606 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46337 /* 129611 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46338 /* 129616 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
46339 /* 129619 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46340 /* 129623 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
46341 /* 129628 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46342 /* 129630 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
46343 /* 129633 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46344 /* 129637 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
46345 /* 129642 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46346 /* 129645 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
46347 /* 129649 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/11,
46348 /* 129652 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46349 /* 129657 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46350 /* 129662 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46351 /* 129667 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
46352 /* 129670 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPROLVQZrr),
46353 /* 129674 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
46354 /* 129679 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46355 /* 129682 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
46356 /* 129685 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46357 /* 129687 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46358 /* 129690 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46359 /* 129692 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
46360 /* 129699 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
46361 /* 129704 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46362 /* 129709 */ // GIR_Coverage, 20796,
46363 /* 129709 */ GIR_EraseRootFromParent_Done,
46364 /* 129710 */ // Label 2832: @129710
46365 /* 129710 */ GIM_Reject,
46366 /* 129711 */ // Label 2826: @129711
46367 /* 129711 */ GIM_Reject,
46368 /* 129712 */ // Label 2776: @129712
46369 /* 129712 */ GIM_Try, /*On fail goto*//*Label 2833*/ GIMT_Encode4(130129),
46370 /* 129717 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
46371 /* 129720 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
46372 /* 129723 */ GIM_Try, /*On fail goto*//*Label 2834*/ GIMT_Encode4(129785), // Rule ID 1580 //
46373 /* 129728 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
46374 /* 129731 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46375 /* 129735 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
46376 /* 129739 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46377 /* 129743 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46378 /* 129746 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46379 /* 129750 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46380 /* 129754 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46381 /* 129758 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46382 /* 129760 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46383 /* 129767 */ // (rotl:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src2) => (VPROTDmr:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1, VR128:{ *:[v4i32] }:$src2)
46384 /* 129767 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTDmr),
46385 /* 129770 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46386 /* 129772 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
46387 /* 129776 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
46388 /* 129778 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46389 /* 129783 */ GIR_RootConstrainSelectedInstOperands,
46390 /* 129784 */ // GIR_Coverage, 1580,
46391 /* 129784 */ GIR_EraseRootFromParent_Done,
46392 /* 129785 */ // Label 2834: @129785
46393 /* 129785 */ GIM_Try, /*On fail goto*//*Label 2835*/ GIMT_Encode4(129847), // Rule ID 1579 //
46394 /* 129790 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
46395 /* 129793 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46396 /* 129797 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46397 /* 129801 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46398 /* 129805 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46399 /* 129809 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46400 /* 129812 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46401 /* 129816 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46402 /* 129820 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46403 /* 129822 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46404 /* 129829 */ // (rotl:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROTDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
46405 /* 129829 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTDrm),
46406 /* 129832 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46407 /* 129834 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46408 /* 129836 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
46409 /* 129840 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46410 /* 129845 */ GIR_RootConstrainSelectedInstOperands,
46411 /* 129846 */ // GIR_Coverage, 1579,
46412 /* 129846 */ GIR_EraseRootFromParent_Done,
46413 /* 129847 */ // Label 2835: @129847
46414 /* 129847 */ GIM_Try, /*On fail goto*//*Label 2836*/ GIMT_Encode4(129909), // Rule ID 8032 //
46415 /* 129852 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
46416 /* 129855 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46417 /* 129859 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46418 /* 129863 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46419 /* 129867 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46420 /* 129871 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46421 /* 129874 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46422 /* 129878 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46423 /* 129882 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46424 /* 129884 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46425 /* 129891 */ // (rotl:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROLVDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
46426 /* 129891 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROLVDZ128rm),
46427 /* 129894 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46428 /* 129896 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46429 /* 129898 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
46430 /* 129902 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46431 /* 129907 */ GIR_RootConstrainSelectedInstOperands,
46432 /* 129908 */ // GIR_Coverage, 8032,
46433 /* 129908 */ GIR_EraseRootFromParent_Done,
46434 /* 129909 */ // Label 2836: @129909
46435 /* 129909 */ GIM_Try, /*On fail goto*//*Label 2837*/ GIMT_Encode4(129936), // Rule ID 1578 //
46436 /* 129914 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
46437 /* 129917 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46438 /* 129921 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46439 /* 129925 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46440 /* 129929 */ // (rotl:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPROTDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
46441 /* 129929 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROTDrr),
46442 /* 129934 */ GIR_RootConstrainSelectedInstOperands,
46443 /* 129935 */ // GIR_Coverage, 1578,
46444 /* 129935 */ GIR_Done,
46445 /* 129936 */ // Label 2837: @129936
46446 /* 129936 */ GIM_Try, /*On fail goto*//*Label 2838*/ GIMT_Encode4(129963), // Rule ID 8029 //
46447 /* 129941 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
46448 /* 129944 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46449 /* 129948 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46450 /* 129952 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46451 /* 129956 */ // (rotl:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPROLVDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
46452 /* 129956 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROLVDZ128rr),
46453 /* 129961 */ GIR_RootConstrainSelectedInstOperands,
46454 /* 129962 */ // GIR_Coverage, 8029,
46455 /* 129962 */ GIR_Done,
46456 /* 129963 */ // Label 2838: @129963
46457 /* 129963 */ GIM_Try, /*On fail goto*//*Label 2839*/ GIMT_Encode4(130128), // Rule ID 20798 //
46458 /* 129968 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
46459 /* 129971 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
46460 /* 129975 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46461 /* 129979 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46462 /* 129983 */ // (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] })
46463 /* 129983 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
46464 /* 129986 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46465 /* 129990 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
46466 /* 129995 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
46467 /* 129997 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
46468 /* 130000 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46469 /* 130004 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
46470 /* 130009 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
46471 /* 130012 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
46472 /* 130016 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/11,
46473 /* 130019 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46474 /* 130024 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46475 /* 130029 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46476 /* 130034 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
46477 /* 130037 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46478 /* 130041 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
46479 /* 130046 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46480 /* 130048 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
46481 /* 130051 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46482 /* 130055 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
46483 /* 130060 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46484 /* 130063 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
46485 /* 130067 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/11,
46486 /* 130070 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46487 /* 130075 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46488 /* 130080 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46489 /* 130085 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
46490 /* 130088 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPROLVDZrr),
46491 /* 130092 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
46492 /* 130097 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46493 /* 130100 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
46494 /* 130103 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46495 /* 130105 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46496 /* 130108 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46497 /* 130110 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
46498 /* 130117 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
46499 /* 130122 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46500 /* 130127 */ // GIR_Coverage, 20798,
46501 /* 130127 */ GIR_EraseRootFromParent_Done,
46502 /* 130128 */ // Label 2839: @130128
46503 /* 130128 */ GIM_Reject,
46504 /* 130129 */ // Label 2833: @130129
46505 /* 130129 */ GIM_Reject,
46506 /* 130130 */ // Label 2777: @130130
46507 /* 130130 */ GIM_Try, /*On fail goto*//*Label 2840*/ GIMT_Encode4(130380),
46508 /* 130135 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
46509 /* 130138 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
46510 /* 130141 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46511 /* 130145 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46512 /* 130149 */ GIM_Try, /*On fail goto*//*Label 2841*/ GIMT_Encode4(130203), // Rule ID 8050 //
46513 /* 130154 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
46514 /* 130157 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46515 /* 130161 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46516 /* 130165 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46517 /* 130168 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46518 /* 130172 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46519 /* 130176 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46520 /* 130178 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46521 /* 130185 */ // (rotl:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROLVQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
46522 /* 130185 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROLVQZ256rm),
46523 /* 130188 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46524 /* 130190 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46525 /* 130192 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
46526 /* 130196 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46527 /* 130201 */ GIR_RootConstrainSelectedInstOperands,
46528 /* 130202 */ // GIR_Coverage, 8050,
46529 /* 130202 */ GIR_EraseRootFromParent_Done,
46530 /* 130203 */ // Label 2841: @130203
46531 /* 130203 */ GIM_Try, /*On fail goto*//*Label 2842*/ GIMT_Encode4(130222), // Rule ID 8047 //
46532 /* 130208 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
46533 /* 130211 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46534 /* 130215 */ // (rotl:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPROLVQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
46535 /* 130215 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROLVQZ256rr),
46536 /* 130220 */ GIR_RootConstrainSelectedInstOperands,
46537 /* 130221 */ // GIR_Coverage, 8047,
46538 /* 130221 */ GIR_Done,
46539 /* 130222 */ // Label 2842: @130222
46540 /* 130222 */ GIM_Try, /*On fail goto*//*Label 2843*/ GIMT_Encode4(130379), // Rule ID 20797 //
46541 /* 130227 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
46542 /* 130230 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46543 /* 130234 */ // (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] })
46544 /* 130234 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
46545 /* 130237 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46546 /* 130241 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
46547 /* 130246 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
46548 /* 130248 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
46549 /* 130251 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46550 /* 130255 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
46551 /* 130260 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
46552 /* 130263 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
46553 /* 130267 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/12,
46554 /* 130270 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46555 /* 130275 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46556 /* 130280 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
46557 /* 130285 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
46558 /* 130288 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46559 /* 130292 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
46560 /* 130297 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46561 /* 130299 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
46562 /* 130302 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46563 /* 130306 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
46564 /* 130311 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46565 /* 130314 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
46566 /* 130318 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/12,
46567 /* 130321 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46568 /* 130326 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46569 /* 130331 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
46570 /* 130336 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
46571 /* 130339 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPROLVQZrr),
46572 /* 130343 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
46573 /* 130348 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46574 /* 130351 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
46575 /* 130354 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46576 /* 130356 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46577 /* 130359 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46578 /* 130361 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
46579 /* 130368 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
46580 /* 130373 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46581 /* 130378 */ // GIR_Coverage, 20797,
46582 /* 130378 */ GIR_EraseRootFromParent_Done,
46583 /* 130379 */ // Label 2843: @130379
46584 /* 130379 */ GIM_Reject,
46585 /* 130380 */ // Label 2840: @130380
46586 /* 130380 */ GIM_Reject,
46587 /* 130381 */ // Label 2778: @130381
46588 /* 130381 */ GIM_Try, /*On fail goto*//*Label 2844*/ GIMT_Encode4(130536),
46589 /* 130386 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
46590 /* 130389 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
46591 /* 130392 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46592 /* 130396 */ GIM_Try, /*On fail goto*//*Label 2845*/ GIMT_Encode4(130454), // Rule ID 1586 //
46593 /* 130401 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
46594 /* 130404 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
46595 /* 130408 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46596 /* 130412 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46597 /* 130415 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46598 /* 130419 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46599 /* 130423 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46600 /* 130427 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46601 /* 130429 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46602 /* 130436 */ // (rotl:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src2) => (VPROTWmr:{ *:[v8i16] } addr:{ *:[iPTR] }:$src1, VR128:{ *:[v8i16] }:$src2)
46603 /* 130436 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTWmr),
46604 /* 130439 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46605 /* 130441 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
46606 /* 130445 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
46607 /* 130447 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46608 /* 130452 */ GIR_RootConstrainSelectedInstOperands,
46609 /* 130453 */ // GIR_Coverage, 1586,
46610 /* 130453 */ GIR_EraseRootFromParent_Done,
46611 /* 130454 */ // Label 2845: @130454
46612 /* 130454 */ GIM_Try, /*On fail goto*//*Label 2846*/ GIMT_Encode4(130512), // Rule ID 1585 //
46613 /* 130459 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
46614 /* 130462 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46615 /* 130466 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46616 /* 130470 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46617 /* 130474 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46618 /* 130477 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46619 /* 130481 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46620 /* 130485 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46621 /* 130487 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46622 /* 130494 */ // (rotl:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROTWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
46623 /* 130494 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTWrm),
46624 /* 130497 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46625 /* 130499 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46626 /* 130501 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
46627 /* 130505 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46628 /* 130510 */ GIR_RootConstrainSelectedInstOperands,
46629 /* 130511 */ // GIR_Coverage, 1585,
46630 /* 130511 */ GIR_EraseRootFromParent_Done,
46631 /* 130512 */ // Label 2846: @130512
46632 /* 130512 */ GIM_Try, /*On fail goto*//*Label 2847*/ GIMT_Encode4(130535), // Rule ID 1584 //
46633 /* 130517 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
46634 /* 130520 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46635 /* 130524 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46636 /* 130528 */ // (rotl:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPROTWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
46637 /* 130528 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROTWrr),
46638 /* 130533 */ GIR_RootConstrainSelectedInstOperands,
46639 /* 130534 */ // GIR_Coverage, 1584,
46640 /* 130534 */ GIR_Done,
46641 /* 130535 */ // Label 2847: @130535
46642 /* 130535 */ GIM_Reject,
46643 /* 130536 */ // Label 2844: @130536
46644 /* 130536 */ GIM_Reject,
46645 /* 130537 */ // Label 2779: @130537
46646 /* 130537 */ GIM_Try, /*On fail goto*//*Label 2848*/ GIMT_Encode4(130787),
46647 /* 130542 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
46648 /* 130545 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
46649 /* 130548 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46650 /* 130552 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46651 /* 130556 */ GIM_Try, /*On fail goto*//*Label 2849*/ GIMT_Encode4(130610), // Rule ID 8023 //
46652 /* 130561 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
46653 /* 130564 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46654 /* 130568 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46655 /* 130572 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46656 /* 130575 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46657 /* 130579 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46658 /* 130583 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46659 /* 130585 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46660 /* 130592 */ // (rotl:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROLVDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
46661 /* 130592 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROLVDZ256rm),
46662 /* 130595 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46663 /* 130597 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46664 /* 130599 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
46665 /* 130603 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46666 /* 130608 */ GIR_RootConstrainSelectedInstOperands,
46667 /* 130609 */ // GIR_Coverage, 8023,
46668 /* 130609 */ GIR_EraseRootFromParent_Done,
46669 /* 130610 */ // Label 2849: @130610
46670 /* 130610 */ GIM_Try, /*On fail goto*//*Label 2850*/ GIMT_Encode4(130629), // Rule ID 8020 //
46671 /* 130615 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
46672 /* 130618 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46673 /* 130622 */ // (rotl:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPROLVDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
46674 /* 130622 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROLVDZ256rr),
46675 /* 130627 */ GIR_RootConstrainSelectedInstOperands,
46676 /* 130628 */ // GIR_Coverage, 8020,
46677 /* 130628 */ GIR_Done,
46678 /* 130629 */ // Label 2850: @130629
46679 /* 130629 */ GIM_Try, /*On fail goto*//*Label 2851*/ GIMT_Encode4(130786), // Rule ID 20799 //
46680 /* 130634 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
46681 /* 130637 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46682 /* 130641 */ // (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] })
46683 /* 130641 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
46684 /* 130644 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46685 /* 130648 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
46686 /* 130653 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
46687 /* 130655 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
46688 /* 130658 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46689 /* 130662 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
46690 /* 130667 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
46691 /* 130670 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
46692 /* 130674 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/12,
46693 /* 130677 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46694 /* 130682 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46695 /* 130687 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
46696 /* 130692 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
46697 /* 130695 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46698 /* 130699 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
46699 /* 130704 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46700 /* 130706 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
46701 /* 130709 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46702 /* 130713 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
46703 /* 130718 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46704 /* 130721 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
46705 /* 130725 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/12,
46706 /* 130728 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46707 /* 130733 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46708 /* 130738 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
46709 /* 130743 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
46710 /* 130746 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPROLVDZrr),
46711 /* 130750 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
46712 /* 130755 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46713 /* 130758 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
46714 /* 130761 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46715 /* 130763 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46716 /* 130766 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46717 /* 130768 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
46718 /* 130775 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
46719 /* 130780 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46720 /* 130785 */ // GIR_Coverage, 20799,
46721 /* 130785 */ GIR_EraseRootFromParent_Done,
46722 /* 130786 */ // Label 2851: @130786
46723 /* 130786 */ GIM_Reject,
46724 /* 130787 */ // Label 2848: @130787
46725 /* 130787 */ GIM_Reject,
46726 /* 130788 */ // Label 2780: @130788
46727 /* 130788 */ GIM_Try, /*On fail goto*//*Label 2852*/ GIMT_Encode4(130881),
46728 /* 130793 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
46729 /* 130796 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
46730 /* 130799 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46731 /* 130803 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46732 /* 130807 */ GIM_Try, /*On fail goto*//*Label 2853*/ GIMT_Encode4(130861), // Rule ID 8041 //
46733 /* 130812 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
46734 /* 130815 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46735 /* 130819 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46736 /* 130823 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46737 /* 130826 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46738 /* 130830 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46739 /* 130834 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46740 /* 130836 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46741 /* 130843 */ // (rotl:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROLVQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
46742 /* 130843 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROLVQZrm),
46743 /* 130846 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46744 /* 130848 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46745 /* 130850 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
46746 /* 130854 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46747 /* 130859 */ GIR_RootConstrainSelectedInstOperands,
46748 /* 130860 */ // GIR_Coverage, 8041,
46749 /* 130860 */ GIR_EraseRootFromParent_Done,
46750 /* 130861 */ // Label 2853: @130861
46751 /* 130861 */ GIM_Try, /*On fail goto*//*Label 2854*/ GIMT_Encode4(130880), // Rule ID 8038 //
46752 /* 130866 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
46753 /* 130869 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46754 /* 130873 */ // (rotl:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPROLVQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
46755 /* 130873 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROLVQZrr),
46756 /* 130878 */ GIR_RootConstrainSelectedInstOperands,
46757 /* 130879 */ // GIR_Coverage, 8038,
46758 /* 130879 */ GIR_Done,
46759 /* 130880 */ // Label 2854: @130880
46760 /* 130880 */ GIM_Reject,
46761 /* 130881 */ // Label 2852: @130881
46762 /* 130881 */ GIM_Reject,
46763 /* 130882 */ // Label 2781: @130882
46764 /* 130882 */ GIM_Try, /*On fail goto*//*Label 2855*/ GIMT_Encode4(131037),
46765 /* 130887 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
46766 /* 130890 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
46767 /* 130893 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46768 /* 130897 */ GIM_Try, /*On fail goto*//*Label 2856*/ GIMT_Encode4(130955), // Rule ID 1577 //
46769 /* 130902 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
46770 /* 130905 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
46771 /* 130909 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46772 /* 130913 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46773 /* 130916 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46774 /* 130920 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46775 /* 130924 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46776 /* 130928 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46777 /* 130930 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46778 /* 130937 */ // (rotl:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src2) => (VPROTBmr:{ *:[v16i8] } addr:{ *:[iPTR] }:$src1, VR128:{ *:[v16i8] }:$src2)
46779 /* 130937 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTBmr),
46780 /* 130940 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46781 /* 130942 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
46782 /* 130946 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
46783 /* 130948 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46784 /* 130953 */ GIR_RootConstrainSelectedInstOperands,
46785 /* 130954 */ // GIR_Coverage, 1577,
46786 /* 130954 */ GIR_EraseRootFromParent_Done,
46787 /* 130955 */ // Label 2856: @130955
46788 /* 130955 */ GIM_Try, /*On fail goto*//*Label 2857*/ GIMT_Encode4(131013), // Rule ID 1576 //
46789 /* 130960 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
46790 /* 130963 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46791 /* 130967 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46792 /* 130971 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46793 /* 130975 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46794 /* 130978 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46795 /* 130982 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46796 /* 130986 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46797 /* 130988 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46798 /* 130995 */ // (rotl:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROTBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
46799 /* 130995 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTBrm),
46800 /* 130998 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46801 /* 131000 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46802 /* 131002 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
46803 /* 131006 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46804 /* 131011 */ GIR_RootConstrainSelectedInstOperands,
46805 /* 131012 */ // GIR_Coverage, 1576,
46806 /* 131012 */ GIR_EraseRootFromParent_Done,
46807 /* 131013 */ // Label 2857: @131013
46808 /* 131013 */ GIM_Try, /*On fail goto*//*Label 2858*/ GIMT_Encode4(131036), // Rule ID 1575 //
46809 /* 131018 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
46810 /* 131021 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46811 /* 131025 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46812 /* 131029 */ // (rotl:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPROTBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
46813 /* 131029 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROTBrr),
46814 /* 131034 */ GIR_RootConstrainSelectedInstOperands,
46815 /* 131035 */ // GIR_Coverage, 1575,
46816 /* 131035 */ GIR_Done,
46817 /* 131036 */ // Label 2858: @131036
46818 /* 131036 */ GIM_Reject,
46819 /* 131037 */ // Label 2855: @131037
46820 /* 131037 */ GIM_Reject,
46821 /* 131038 */ // Label 2782: @131038
46822 /* 131038 */ GIM_Try, /*On fail goto*//*Label 2859*/ GIMT_Encode4(131131),
46823 /* 131043 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
46824 /* 131046 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
46825 /* 131049 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46826 /* 131053 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46827 /* 131057 */ GIM_Try, /*On fail goto*//*Label 2860*/ GIMT_Encode4(131111), // Rule ID 8014 //
46828 /* 131062 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
46829 /* 131065 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46830 /* 131069 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46831 /* 131073 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46832 /* 131076 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46833 /* 131080 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46834 /* 131084 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46835 /* 131086 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46836 /* 131093 */ // (rotl:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROLVDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
46837 /* 131093 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROLVDZrm),
46838 /* 131096 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46839 /* 131098 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46840 /* 131100 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
46841 /* 131104 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46842 /* 131109 */ GIR_RootConstrainSelectedInstOperands,
46843 /* 131110 */ // GIR_Coverage, 8014,
46844 /* 131110 */ GIR_EraseRootFromParent_Done,
46845 /* 131111 */ // Label 2860: @131111
46846 /* 131111 */ GIM_Try, /*On fail goto*//*Label 2861*/ GIMT_Encode4(131130), // Rule ID 8011 //
46847 /* 131116 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
46848 /* 131119 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46849 /* 131123 */ // (rotl:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPROLVDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
46850 /* 131123 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROLVDZrr),
46851 /* 131128 */ GIR_RootConstrainSelectedInstOperands,
46852 /* 131129 */ // GIR_Coverage, 8011,
46853 /* 131129 */ GIR_Done,
46854 /* 131130 */ // Label 2861: @131130
46855 /* 131130 */ GIM_Reject,
46856 /* 131131 */ // Label 2859: @131131
46857 /* 131131 */ GIM_Reject,
46858 /* 131132 */ // Label 2783: @131132
46859 /* 131132 */ GIM_Reject,
46860 /* 131133 */ // Label 33: @131133
46861 /* 131133 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(7), GIMT_Encode2(24), /*)*//*default:*//*Label 2868*/ GIMT_Encode4(132789),
46862 /* 131144 */ /*GILLT_v2s1*//*Label 2862*/ GIMT_Encode4(131212), GIMT_Encode4(0),
46863 /* 131152 */ /*GILLT_v4s1*//*Label 2863*/ GIMT_Encode4(131373), GIMT_Encode4(0), GIMT_Encode4(0),
46864 /* 131164 */ /*GILLT_v8s1*//*Label 2864*/ GIMT_Encode4(131720), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
46865 /* 131180 */ /*GILLT_v16s1*//*Label 2865*/ GIMT_Encode4(132117), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
46866 /* 131196 */ /*GILLT_v32s1*//*Label 2866*/ GIMT_Encode4(132514), GIMT_Encode4(0), GIMT_Encode4(0),
46867 /* 131208 */ /*GILLT_v64s1*//*Label 2867*/ GIMT_Encode4(132738),
46868 /* 131212 */ // Label 2862: @131212
46869 /* 131212 */ GIM_Try, /*On fail goto*//*Label 2869*/ GIMT_Encode4(131372),
46870 /* 131217 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
46871 /* 131220 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
46872 /* 131223 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
46873 /* 131227 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46874 /* 131232 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46875 /* 131236 */ GIM_Try, /*On fail goto*//*Label 2870*/ GIMT_Encode4(131267), // Rule ID 12606 //
46876 /* 131241 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
46877 /* 131244 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46878 /* 131248 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46879 /* 131254 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46880 /* 131256 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46881 /* 131258 */ // (setcc:{ *:[v2i1] } immAllZerosV:{ *:[v2i64] }, VR128X:{ *:[v2i64] }:$src, SETGT:{ *:[Other] }) => (VPMOVQ2MZ128kr:{ *:[v2i1] } VR128X:{ *:[v2i64] }:$src)
46882 /* 131258 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVQ2MZ128kr),
46883 /* 131261 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46884 /* 131263 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
46885 /* 131265 */ GIR_RootConstrainSelectedInstOperands,
46886 /* 131266 */ // GIR_Coverage, 12606,
46887 /* 131266 */ GIR_EraseRootFromParent_Done,
46888 /* 131267 */ // Label 2870: @131267
46889 /* 131267 */ GIM_Try, /*On fail goto*//*Label 2871*/ GIMT_Encode4(131371), // Rule ID 21658 //
46890 /* 131272 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasEVEX512_NoVLX),
46891 /* 131275 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46892 /* 131279 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46893 /* 131285 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46894 /* 131287 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46895 /* 131289 */ // (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] })
46896 /* 131289 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
46897 /* 131292 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46898 /* 131296 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
46899 /* 131301 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46900 /* 131303 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
46901 /* 131306 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46902 /* 131310 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
46903 /* 131315 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46904 /* 131318 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
46905 /* 131322 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/11,
46906 /* 131325 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46907 /* 131330 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46908 /* 131335 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46909 /* 131340 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
46910 /* 131343 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVQ2MZkr),
46911 /* 131347 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
46912 /* 131352 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46913 /* 131355 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46914 /* 131357 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46915 /* 131360 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46916 /* 131362 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
46917 /* 131365 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
46918 /* 131370 */ // GIR_Coverage, 21658,
46919 /* 131370 */ GIR_EraseRootFromParent_Done,
46920 /* 131371 */ // Label 2871: @131371
46921 /* 131371 */ GIM_Reject,
46922 /* 131372 */ // Label 2869: @131372
46923 /* 131372 */ GIM_Reject,
46924 /* 131373 */ // Label 2863: @131373
46925 /* 131373 */ GIM_Try, /*On fail goto*//*Label 2872*/ GIMT_Encode4(131423), // Rule ID 12603 //
46926 /* 131378 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
46927 /* 131381 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
46928 /* 131384 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
46929 /* 131387 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
46930 /* 131391 */ // MIs[0] Operand 1
46931 /* 131391 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46932 /* 131396 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46933 /* 131400 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46934 /* 131406 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46935 /* 131408 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46936 /* 131412 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46937 /* 131414 */ // (setcc:{ *:[v4i1] } immAllZerosV:{ *:[v4i32] }, VR128X:{ *:[v4i32] }:$src, SETGT:{ *:[Other] }) => (VPMOVD2MZ128kr:{ *:[v4i1] } VR128X:{ *:[v4i32] }:$src)
46938 /* 131414 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVD2MZ128kr),
46939 /* 131417 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46940 /* 131419 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
46941 /* 131421 */ GIR_RootConstrainSelectedInstOperands,
46942 /* 131422 */ // GIR_Coverage, 12603,
46943 /* 131422 */ GIR_EraseRootFromParent_Done,
46944 /* 131423 */ // Label 2872: @131423
46945 /* 131423 */ GIM_Try, /*On fail goto*//*Label 2873*/ GIMT_Encode4(131473), // Rule ID 12605 //
46946 /* 131428 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
46947 /* 131431 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
46948 /* 131434 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
46949 /* 131437 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
46950 /* 131441 */ // MIs[0] Operand 1
46951 /* 131441 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46952 /* 131446 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46953 /* 131450 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46954 /* 131456 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46955 /* 131458 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46956 /* 131462 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46957 /* 131464 */ // (setcc:{ *:[v4i1] } immAllZerosV:{ *:[v4i64] }, VR256X:{ *:[v4i64] }:$src, SETGT:{ *:[Other] }) => (VPMOVQ2MZ256kr:{ *:[v4i1] } VR256X:{ *:[v4i64] }:$src)
46958 /* 131464 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVQ2MZ256kr),
46959 /* 131467 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46960 /* 131469 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
46961 /* 131471 */ GIR_RootConstrainSelectedInstOperands,
46962 /* 131472 */ // GIR_Coverage, 12605,
46963 /* 131472 */ GIR_EraseRootFromParent_Done,
46964 /* 131473 */ // Label 2873: @131473
46965 /* 131473 */ GIM_Try, /*On fail goto*//*Label 2874*/ GIMT_Encode4(131596), // Rule ID 21656 //
46966 /* 131478 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasEVEX512_NoVLX),
46967 /* 131481 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
46968 /* 131484 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
46969 /* 131487 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
46970 /* 131491 */ // MIs[0] Operand 1
46971 /* 131491 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46972 /* 131496 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46973 /* 131500 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46974 /* 131506 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46975 /* 131508 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46976 /* 131512 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46977 /* 131514 */ // (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] })
46978 /* 131514 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
46979 /* 131517 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46980 /* 131521 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
46981 /* 131526 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46982 /* 131528 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
46983 /* 131531 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46984 /* 131535 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
46985 /* 131540 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46986 /* 131543 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
46987 /* 131547 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/11,
46988 /* 131550 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46989 /* 131555 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46990 /* 131560 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46991 /* 131565 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
46992 /* 131568 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVD2MZkr),
46993 /* 131572 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
46994 /* 131577 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46995 /* 131580 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46996 /* 131582 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46997 /* 131585 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46998 /* 131587 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
46999 /* 131590 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
47000 /* 131595 */ // GIR_Coverage, 21656,
47001 /* 131595 */ GIR_EraseRootFromParent_Done,
47002 /* 131596 */ // Label 2874: @131596
47003 /* 131596 */ GIM_Try, /*On fail goto*//*Label 2875*/ GIMT_Encode4(131719), // Rule ID 21657 //
47004 /* 131601 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasEVEX512_NoVLX),
47005 /* 131604 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
47006 /* 131607 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
47007 /* 131610 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
47008 /* 131614 */ // MIs[0] Operand 1
47009 /* 131614 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
47010 /* 131619 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47011 /* 131623 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47012 /* 131629 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47013 /* 131631 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47014 /* 131635 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47015 /* 131637 */ // (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] })
47016 /* 131637 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
47017 /* 131640 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47018 /* 131644 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47019 /* 131649 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47020 /* 131651 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
47021 /* 131654 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47022 /* 131658 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47023 /* 131663 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47024 /* 131666 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
47025 /* 131670 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/12,
47026 /* 131673 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47027 /* 131678 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47028 /* 131683 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47029 /* 131688 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
47030 /* 131691 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVQ2MZkr),
47031 /* 131695 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47032 /* 131700 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47033 /* 131703 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47034 /* 131705 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47035 /* 131708 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47036 /* 131710 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
47037 /* 131713 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
47038 /* 131718 */ // GIR_Coverage, 21657,
47039 /* 131718 */ GIR_EraseRootFromParent_Done,
47040 /* 131719 */ // Label 2875: @131719
47041 /* 131719 */ GIM_Reject,
47042 /* 131720 */ // Label 2864: @131720
47043 /* 131720 */ GIM_Try, /*On fail goto*//*Label 2876*/ GIMT_Encode4(131770), // Rule ID 12600 //
47044 /* 131725 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
47045 /* 131728 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
47046 /* 131731 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
47047 /* 131734 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
47048 /* 131738 */ // MIs[0] Operand 1
47049 /* 131738 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
47050 /* 131743 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47051 /* 131747 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47052 /* 131753 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47053 /* 131755 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47054 /* 131759 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47055 /* 131761 */ // (setcc:{ *:[v8i1] } immAllZerosV:{ *:[v8i16] }, VR128X:{ *:[v8i16] }:$src, SETGT:{ *:[Other] }) => (VPMOVW2MZ128kr:{ *:[v8i1] } VR128X:{ *:[v8i16] }:$src)
47056 /* 131761 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVW2MZ128kr),
47057 /* 131764 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47058 /* 131766 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
47059 /* 131768 */ GIR_RootConstrainSelectedInstOperands,
47060 /* 131769 */ // GIR_Coverage, 12600,
47061 /* 131769 */ GIR_EraseRootFromParent_Done,
47062 /* 131770 */ // Label 2876: @131770
47063 /* 131770 */ GIM_Try, /*On fail goto*//*Label 2877*/ GIMT_Encode4(131820), // Rule ID 12602 //
47064 /* 131775 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
47065 /* 131778 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
47066 /* 131781 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
47067 /* 131784 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
47068 /* 131788 */ // MIs[0] Operand 1
47069 /* 131788 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
47070 /* 131793 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47071 /* 131797 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47072 /* 131803 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47073 /* 131805 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47074 /* 131809 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47075 /* 131811 */ // (setcc:{ *:[v8i1] } immAllZerosV:{ *:[v8i32] }, VR256X:{ *:[v8i32] }:$src, SETGT:{ *:[Other] }) => (VPMOVD2MZ256kr:{ *:[v8i1] } VR256X:{ *:[v8i32] }:$src)
47076 /* 131811 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVD2MZ256kr),
47077 /* 131814 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47078 /* 131816 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
47079 /* 131818 */ GIR_RootConstrainSelectedInstOperands,
47080 /* 131819 */ // GIR_Coverage, 12602,
47081 /* 131819 */ GIR_EraseRootFromParent_Done,
47082 /* 131820 */ // Label 2877: @131820
47083 /* 131820 */ GIM_Try, /*On fail goto*//*Label 2878*/ GIMT_Encode4(131870), // Rule ID 12604 //
47084 /* 131825 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
47085 /* 131828 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
47086 /* 131831 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
47087 /* 131834 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
47088 /* 131838 */ // MIs[0] Operand 1
47089 /* 131838 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
47090 /* 131843 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47091 /* 131847 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47092 /* 131853 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47093 /* 131855 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
47094 /* 131859 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47095 /* 131861 */ // (setcc:{ *:[v8i1] } immAllZerosV:{ *:[v8i64] }, VR512:{ *:[v8i64] }:$src, SETGT:{ *:[Other] }) => (VPMOVQ2MZkr:{ *:[v8i1] } VR512:{ *:[v8i64] }:$src)
47096 /* 131861 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVQ2MZkr),
47097 /* 131864 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47098 /* 131866 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
47099 /* 131868 */ GIR_RootConstrainSelectedInstOperands,
47100 /* 131869 */ // GIR_Coverage, 12604,
47101 /* 131869 */ GIR_EraseRootFromParent_Done,
47102 /* 131870 */ // Label 2878: @131870
47103 /* 131870 */ GIM_Try, /*On fail goto*//*Label 2879*/ GIMT_Encode4(131993), // Rule ID 21654 //
47104 /* 131875 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasEVEX512_NoVLX),
47105 /* 131878 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
47106 /* 131881 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
47107 /* 131884 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
47108 /* 131888 */ // MIs[0] Operand 1
47109 /* 131888 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
47110 /* 131893 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47111 /* 131897 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47112 /* 131903 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47113 /* 131905 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47114 /* 131909 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47115 /* 131911 */ // (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] })
47116 /* 131911 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
47117 /* 131914 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47118 /* 131918 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47119 /* 131923 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47120 /* 131925 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
47121 /* 131928 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47122 /* 131932 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47123 /* 131937 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47124 /* 131940 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
47125 /* 131944 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/11,
47126 /* 131947 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47127 /* 131952 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47128 /* 131957 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47129 /* 131962 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s1,
47130 /* 131965 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVW2MZkr),
47131 /* 131969 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47132 /* 131974 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47133 /* 131977 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47134 /* 131979 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47135 /* 131982 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47136 /* 131984 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
47137 /* 131987 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
47138 /* 131992 */ // GIR_Coverage, 21654,
47139 /* 131992 */ GIR_EraseRootFromParent_Done,
47140 /* 131993 */ // Label 2879: @131993
47141 /* 131993 */ GIM_Try, /*On fail goto*//*Label 2880*/ GIMT_Encode4(132116), // Rule ID 21655 //
47142 /* 131998 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasEVEX512_NoVLX),
47143 /* 132001 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
47144 /* 132004 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
47145 /* 132007 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
47146 /* 132011 */ // MIs[0] Operand 1
47147 /* 132011 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
47148 /* 132016 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47149 /* 132020 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47150 /* 132026 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47151 /* 132028 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47152 /* 132032 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47153 /* 132034 */ // (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] })
47154 /* 132034 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
47155 /* 132037 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47156 /* 132041 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47157 /* 132046 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47158 /* 132048 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
47159 /* 132051 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47160 /* 132055 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47161 /* 132060 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47162 /* 132063 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
47163 /* 132067 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/12,
47164 /* 132070 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47165 /* 132075 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47166 /* 132080 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47167 /* 132085 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
47168 /* 132088 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVD2MZkr),
47169 /* 132092 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47170 /* 132097 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47171 /* 132100 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47172 /* 132102 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47173 /* 132105 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47174 /* 132107 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
47175 /* 132110 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
47176 /* 132115 */ // GIR_Coverage, 21655,
47177 /* 132115 */ GIR_EraseRootFromParent_Done,
47178 /* 132116 */ // Label 2880: @132116
47179 /* 132116 */ GIM_Reject,
47180 /* 132117 */ // Label 2865: @132117
47181 /* 132117 */ GIM_Try, /*On fail goto*//*Label 2881*/ GIMT_Encode4(132167), // Rule ID 12597 //
47182 /* 132122 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
47183 /* 132125 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
47184 /* 132128 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
47185 /* 132131 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
47186 /* 132135 */ // MIs[0] Operand 1
47187 /* 132135 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
47188 /* 132140 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47189 /* 132144 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47190 /* 132150 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47191 /* 132152 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47192 /* 132156 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47193 /* 132158 */ // (setcc:{ *:[v16i1] } immAllZerosV:{ *:[v16i8] }, VR128X:{ *:[v16i8] }:$src, SETGT:{ *:[Other] }) => (VPMOVB2MZ128kr:{ *:[v16i1] } VR128X:{ *:[v16i8] }:$src)
47194 /* 132158 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVB2MZ128kr),
47195 /* 132161 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47196 /* 132163 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
47197 /* 132165 */ GIR_RootConstrainSelectedInstOperands,
47198 /* 132166 */ // GIR_Coverage, 12597,
47199 /* 132166 */ GIR_EraseRootFromParent_Done,
47200 /* 132167 */ // Label 2881: @132167
47201 /* 132167 */ GIM_Try, /*On fail goto*//*Label 2882*/ GIMT_Encode4(132217), // Rule ID 12599 //
47202 /* 132172 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
47203 /* 132175 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
47204 /* 132178 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
47205 /* 132181 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
47206 /* 132185 */ // MIs[0] Operand 1
47207 /* 132185 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
47208 /* 132190 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47209 /* 132194 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47210 /* 132200 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47211 /* 132202 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47212 /* 132206 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47213 /* 132208 */ // (setcc:{ *:[v16i1] } immAllZerosV:{ *:[v16i16] }, VR256X:{ *:[v16i16] }:$src, SETGT:{ *:[Other] }) => (VPMOVW2MZ256kr:{ *:[v16i1] } VR256X:{ *:[v16i16] }:$src)
47214 /* 132208 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVW2MZ256kr),
47215 /* 132211 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47216 /* 132213 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
47217 /* 132215 */ GIR_RootConstrainSelectedInstOperands,
47218 /* 132216 */ // GIR_Coverage, 12599,
47219 /* 132216 */ GIR_EraseRootFromParent_Done,
47220 /* 132217 */ // Label 2882: @132217
47221 /* 132217 */ GIM_Try, /*On fail goto*//*Label 2883*/ GIMT_Encode4(132267), // Rule ID 12601 //
47222 /* 132222 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
47223 /* 132225 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
47224 /* 132228 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
47225 /* 132231 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
47226 /* 132235 */ // MIs[0] Operand 1
47227 /* 132235 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
47228 /* 132240 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47229 /* 132244 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47230 /* 132250 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47231 /* 132252 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
47232 /* 132256 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47233 /* 132258 */ // (setcc:{ *:[v16i1] } immAllZerosV:{ *:[v16i32] }, VR512:{ *:[v16i32] }:$src, SETGT:{ *:[Other] }) => (VPMOVD2MZkr:{ *:[v16i1] } VR512:{ *:[v16i32] }:$src)
47234 /* 132258 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVD2MZkr),
47235 /* 132261 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47236 /* 132263 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
47237 /* 132265 */ GIR_RootConstrainSelectedInstOperands,
47238 /* 132266 */ // GIR_Coverage, 12601,
47239 /* 132266 */ GIR_EraseRootFromParent_Done,
47240 /* 132267 */ // Label 2883: @132267
47241 /* 132267 */ GIM_Try, /*On fail goto*//*Label 2884*/ GIMT_Encode4(132390), // Rule ID 21652 //
47242 /* 132272 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasEVEX512_NoVLX),
47243 /* 132275 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
47244 /* 132278 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
47245 /* 132281 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
47246 /* 132285 */ // MIs[0] Operand 1
47247 /* 132285 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
47248 /* 132290 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47249 /* 132294 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47250 /* 132300 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47251 /* 132302 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47252 /* 132306 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47253 /* 132308 */ // (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] })
47254 /* 132308 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
47255 /* 132311 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47256 /* 132315 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47257 /* 132320 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47258 /* 132322 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s8,
47259 /* 132325 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47260 /* 132329 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47261 /* 132334 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47262 /* 132337 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
47263 /* 132341 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/11,
47264 /* 132344 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47265 /* 132349 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47266 /* 132354 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47267 /* 132359 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s1,
47268 /* 132362 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVB2MZkr),
47269 /* 132366 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47270 /* 132371 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47271 /* 132374 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47272 /* 132376 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47273 /* 132379 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47274 /* 132381 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
47275 /* 132384 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
47276 /* 132389 */ // GIR_Coverage, 21652,
47277 /* 132389 */ GIR_EraseRootFromParent_Done,
47278 /* 132390 */ // Label 2884: @132390
47279 /* 132390 */ GIM_Try, /*On fail goto*//*Label 2885*/ GIMT_Encode4(132513), // Rule ID 21653 //
47280 /* 132395 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasEVEX512_NoVLX),
47281 /* 132398 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
47282 /* 132401 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
47283 /* 132404 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
47284 /* 132408 */ // MIs[0] Operand 1
47285 /* 132408 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
47286 /* 132413 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47287 /* 132417 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47288 /* 132423 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47289 /* 132425 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47290 /* 132429 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47291 /* 132431 */ // (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] })
47292 /* 132431 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
47293 /* 132434 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47294 /* 132438 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47295 /* 132443 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47296 /* 132445 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
47297 /* 132448 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47298 /* 132452 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47299 /* 132457 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47300 /* 132460 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
47301 /* 132464 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/12,
47302 /* 132467 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47303 /* 132472 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47304 /* 132477 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47305 /* 132482 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s1,
47306 /* 132485 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVW2MZkr),
47307 /* 132489 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47308 /* 132494 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47309 /* 132497 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47310 /* 132499 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47311 /* 132502 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47312 /* 132504 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
47313 /* 132507 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
47314 /* 132512 */ // GIR_Coverage, 21653,
47315 /* 132512 */ GIR_EraseRootFromParent_Done,
47316 /* 132513 */ // Label 2885: @132513
47317 /* 132513 */ GIM_Reject,
47318 /* 132514 */ // Label 2866: @132514
47319 /* 132514 */ GIM_Try, /*On fail goto*//*Label 2886*/ GIMT_Encode4(132564), // Rule ID 12596 //
47320 /* 132519 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
47321 /* 132522 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
47322 /* 132525 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s8,
47323 /* 132528 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
47324 /* 132532 */ // MIs[0] Operand 1
47325 /* 132532 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
47326 /* 132537 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47327 /* 132541 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47328 /* 132547 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47329 /* 132549 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47330 /* 132553 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47331 /* 132555 */ // (setcc:{ *:[v32i1] } immAllZerosV:{ *:[v32i8] }, VR256X:{ *:[v32i8] }:$src, SETGT:{ *:[Other] }) => (VPMOVB2MZ256kr:{ *:[v32i1] } VR256X:{ *:[v32i8] }:$src)
47332 /* 132555 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVB2MZ256kr),
47333 /* 132558 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47334 /* 132560 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
47335 /* 132562 */ GIR_RootConstrainSelectedInstOperands,
47336 /* 132563 */ // GIR_Coverage, 12596,
47337 /* 132563 */ GIR_EraseRootFromParent_Done,
47338 /* 132564 */ // Label 2886: @132564
47339 /* 132564 */ GIM_Try, /*On fail goto*//*Label 2887*/ GIMT_Encode4(132614), // Rule ID 12598 //
47340 /* 132569 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
47341 /* 132572 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
47342 /* 132575 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s16,
47343 /* 132578 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
47344 /* 132582 */ // MIs[0] Operand 1
47345 /* 132582 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
47346 /* 132587 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47347 /* 132591 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47348 /* 132597 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47349 /* 132599 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
47350 /* 132603 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47351 /* 132605 */ // (setcc:{ *:[v32i1] } immAllZerosV:{ *:[v32i16] }, VR512:{ *:[v32i16] }:$src, SETGT:{ *:[Other] }) => (VPMOVW2MZkr:{ *:[v32i1] } VR512:{ *:[v32i16] }:$src)
47352 /* 132605 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVW2MZkr),
47353 /* 132608 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47354 /* 132610 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
47355 /* 132612 */ GIR_RootConstrainSelectedInstOperands,
47356 /* 132613 */ // GIR_Coverage, 12598,
47357 /* 132613 */ GIR_EraseRootFromParent_Done,
47358 /* 132614 */ // Label 2887: @132614
47359 /* 132614 */ GIM_Try, /*On fail goto*//*Label 2888*/ GIMT_Encode4(132737), // Rule ID 21651 //
47360 /* 132619 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasEVEX512_NoVLX),
47361 /* 132622 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
47362 /* 132625 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s8,
47363 /* 132628 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
47364 /* 132632 */ // MIs[0] Operand 1
47365 /* 132632 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
47366 /* 132637 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47367 /* 132641 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47368 /* 132647 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47369 /* 132649 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47370 /* 132653 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47371 /* 132655 */ // (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] })
47372 /* 132655 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
47373 /* 132658 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47374 /* 132662 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47375 /* 132667 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47376 /* 132669 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s8,
47377 /* 132672 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47378 /* 132676 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47379 /* 132681 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47380 /* 132684 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
47381 /* 132688 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/12,
47382 /* 132691 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47383 /* 132696 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47384 /* 132701 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47385 /* 132706 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s1,
47386 /* 132709 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVB2MZkr),
47387 /* 132713 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47388 /* 132718 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47389 /* 132721 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47390 /* 132723 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47391 /* 132726 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47392 /* 132728 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
47393 /* 132731 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK32RegClassID),
47394 /* 132736 */ // GIR_Coverage, 21651,
47395 /* 132736 */ GIR_EraseRootFromParent_Done,
47396 /* 132737 */ // Label 2888: @132737
47397 /* 132737 */ GIM_Reject,
47398 /* 132738 */ // Label 2867: @132738
47399 /* 132738 */ GIM_Try, /*On fail goto*//*Label 2889*/ GIMT_Encode4(132788), // Rule ID 12595 //
47400 /* 132743 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
47401 /* 132746 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
47402 /* 132749 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v64s8,
47403 /* 132752 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
47404 /* 132756 */ // MIs[0] Operand 1
47405 /* 132756 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
47406 /* 132761 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47407 /* 132765 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47408 /* 132771 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47409 /* 132773 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
47410 /* 132777 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47411 /* 132779 */ // (setcc:{ *:[v64i1] } immAllZerosV:{ *:[v64i8] }, VR512:{ *:[v64i8] }:$src, SETGT:{ *:[Other] }) => (VPMOVB2MZkr:{ *:[v64i1] } VR512:{ *:[v64i8] }:$src)
47412 /* 132779 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVB2MZkr),
47413 /* 132782 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47414 /* 132784 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
47415 /* 132786 */ GIR_RootConstrainSelectedInstOperands,
47416 /* 132787 */ // GIR_Coverage, 12595,
47417 /* 132787 */ GIR_EraseRootFromParent_Done,
47418 /* 132788 */ // Label 2889: @132788
47419 /* 132788 */ GIM_Reject,
47420 /* 132789 */ // Label 2868: @132789
47421 /* 132789 */ GIM_Reject,
47422 /* 132790 */ // Label 34: @132790
47423 /* 132790 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(8), GIMT_Encode2(25), /*)*//*default:*//*Label 2902*/ GIMT_Encode4(140455),
47424 /* 132801 */ /*GILLT_v2s64*//*Label 2890*/ GIMT_Encode4(132869), GIMT_Encode4(0),
47425 /* 132809 */ /*GILLT_v4s32*//*Label 2891*/ GIMT_Encode4(133733),
47426 /* 132813 */ /*GILLT_v4s64*//*Label 2892*/ GIMT_Encode4(134597), GIMT_Encode4(0),
47427 /* 132821 */ /*GILLT_v8s16*//*Label 2893*/ GIMT_Encode4(135377),
47428 /* 132825 */ /*GILLT_v8s32*//*Label 2894*/ GIMT_Encode4(136535),
47429 /* 132829 */ /*GILLT_v8s64*//*Label 2895*/ GIMT_Encode4(137315), GIMT_Encode4(0),
47430 /* 132837 */ /*GILLT_v16s8*//*Label 2896*/ GIMT_Encode4(137696),
47431 /* 132841 */ /*GILLT_v16s16*//*Label 2897*/ GIMT_Encode4(138136),
47432 /* 132845 */ /*GILLT_v16s32*//*Label 2898*/ GIMT_Encode4(139206), GIMT_Encode4(0),
47433 /* 132853 */ /*GILLT_v32s8*//*Label 2899*/ GIMT_Encode4(139547),
47434 /* 132857 */ /*GILLT_v32s16*//*Label 2900*/ GIMT_Encode4(139951), GIMT_Encode4(0),
47435 /* 132865 */ /*GILLT_v64s8*//*Label 2901*/ GIMT_Encode4(140369),
47436 /* 132869 */ // Label 2890: @132869
47437 /* 132869 */ GIM_Try, /*On fail goto*//*Label 2903*/ GIMT_Encode4(133732),
47438 /* 132874 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s1,
47439 /* 132877 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
47440 /* 132880 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
47441 /* 132883 */ GIM_Try, /*On fail goto*//*Label 2904*/ GIMT_Encode4(132928), // Rule ID 4489 //
47442 /* 132888 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
47443 /* 132891 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47444 /* 132895 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
47445 /* 132899 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47446 /* 132903 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47447 /* 132907 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47448 /* 132913 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47449 /* 132915 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47450 /* 132917 */ // (vselect:{ *:[v2f64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src, immAllZerosV:{ *:[v2f64] }) => (VMOVAPDZ128rrkz:{ *:[v2f64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src)
47451 /* 132917 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ128rrkz),
47452 /* 132920 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47453 /* 132922 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47454 /* 132924 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
47455 /* 132926 */ GIR_RootConstrainSelectedInstOperands,
47456 /* 132927 */ // GIR_Coverage, 4489,
47457 /* 132927 */ GIR_EraseRootFromParent_Done,
47458 /* 132928 */ // Label 2904: @132928
47459 /* 132928 */ GIM_Try, /*On fail goto*//*Label 2905*/ GIMT_Encode4(132973), // Rule ID 4543 //
47460 /* 132933 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
47461 /* 132936 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47462 /* 132940 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
47463 /* 132944 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47464 /* 132948 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47465 /* 132952 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47466 /* 132958 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47467 /* 132960 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47468 /* 132962 */ // (vselect:{ *:[v2i64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src, immAllZerosV:{ *:[v2i64] }) => (VMOVDQA64Z128rrkz:{ *:[v2i64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src)
47469 /* 132962 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128rrkz),
47470 /* 132965 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47471 /* 132967 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47472 /* 132969 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
47473 /* 132971 */ GIR_RootConstrainSelectedInstOperands,
47474 /* 132972 */ // GIR_Coverage, 4543,
47475 /* 132972 */ GIR_EraseRootFromParent_Done,
47476 /* 132973 */ // Label 2905: @132973
47477 /* 132973 */ GIM_Try, /*On fail goto*//*Label 2906*/ GIMT_Encode4(133122), // Rule ID 19777 //
47478 /* 132978 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
47479 /* 132981 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
47480 /* 132985 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
47481 /* 132989 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47482 /* 132993 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47483 /* 132997 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47484 /* 133003 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47485 /* 133005 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47486 /* 133007 */ // (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] })
47487 /* 133007 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
47488 /* 133010 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47489 /* 133014 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47490 /* 133019 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
47491 /* 133021 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
47492 /* 133024 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47493 /* 133028 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47494 /* 133033 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
47495 /* 133036 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
47496 /* 133040 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/11,
47497 /* 133043 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47498 /* 133048 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47499 /* 133053 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47500 /* 133058 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s1,
47501 /* 133061 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47502 /* 133065 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47503 /* 133070 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
47504 /* 133074 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
47505 /* 133079 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
47506 /* 133082 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrrkz),
47507 /* 133086 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47508 /* 133091 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47509 /* 133094 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
47510 /* 133097 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47511 /* 133099 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47512 /* 133102 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47513 /* 133104 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
47514 /* 133111 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
47515 /* 133116 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47516 /* 133121 */ // GIR_Coverage, 19777,
47517 /* 133121 */ GIR_EraseRootFromParent_Done,
47518 /* 133122 */ // Label 2906: @133122
47519 /* 133122 */ GIM_Try, /*On fail goto*//*Label 2907*/ GIMT_Encode4(133271), // Rule ID 19779 //
47520 /* 133127 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
47521 /* 133130 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
47522 /* 133134 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
47523 /* 133138 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47524 /* 133142 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47525 /* 133146 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47526 /* 133152 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47527 /* 133154 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47528 /* 133156 */ // (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] })
47529 /* 133156 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
47530 /* 133159 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47531 /* 133163 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47532 /* 133168 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
47533 /* 133170 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
47534 /* 133173 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47535 /* 133177 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47536 /* 133182 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
47537 /* 133185 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
47538 /* 133189 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/11,
47539 /* 133192 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47540 /* 133197 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47541 /* 133202 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47542 /* 133207 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s1,
47543 /* 133210 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47544 /* 133214 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47545 /* 133219 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
47546 /* 133223 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
47547 /* 133228 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
47548 /* 133231 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrkz),
47549 /* 133235 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47550 /* 133240 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47551 /* 133243 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
47552 /* 133246 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47553 /* 133248 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47554 /* 133251 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47555 /* 133253 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
47556 /* 133260 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
47557 /* 133265 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47558 /* 133270 */ // GIR_Coverage, 19779,
47559 /* 133270 */ GIR_EraseRootFromParent_Done,
47560 /* 133271 */ // Label 2907: @133271
47561 /* 133271 */ GIM_Try, /*On fail goto*//*Label 2908*/ GIMT_Encode4(133308), // Rule ID 4491 //
47562 /* 133276 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
47563 /* 133279 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47564 /* 133283 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
47565 /* 133287 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47566 /* 133291 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47567 /* 133295 */ // (vselect:{ *:[v2f64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src0) => (VMOVAPDZ128rrk:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src0, VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src1)
47568 /* 133295 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ128rrk),
47569 /* 133298 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47570 /* 133300 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47571 /* 133302 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47572 /* 133304 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47573 /* 133306 */ GIR_RootConstrainSelectedInstOperands,
47574 /* 133307 */ // GIR_Coverage, 4491,
47575 /* 133307 */ GIR_EraseRootFromParent_Done,
47576 /* 133308 */ // Label 2908: @133308
47577 /* 133308 */ GIM_Try, /*On fail goto*//*Label 2909*/ GIMT_Encode4(133345), // Rule ID 4545 //
47578 /* 133313 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
47579 /* 133316 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47580 /* 133320 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
47581 /* 133324 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47582 /* 133328 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47583 /* 133332 */ // (vselect:{ *:[v2i64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src0) => (VMOVDQA64Z128rrk:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src0, VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src1)
47584 /* 133332 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128rrk),
47585 /* 133335 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47586 /* 133337 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47587 /* 133339 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47588 /* 133341 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47589 /* 133343 */ GIR_RootConstrainSelectedInstOperands,
47590 /* 133344 */ // GIR_Coverage, 4545,
47591 /* 133344 */ GIR_EraseRootFromParent_Done,
47592 /* 133345 */ // Label 2909: @133345
47593 /* 133345 */ GIM_Try, /*On fail goto*//*Label 2910*/ GIMT_Encode4(133538), // Rule ID 19776 //
47594 /* 133350 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
47595 /* 133353 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
47596 /* 133357 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
47597 /* 133361 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47598 /* 133365 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47599 /* 133369 */ // (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] })
47600 /* 133369 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
47601 /* 133372 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47602 /* 133376 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47603 /* 133381 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
47604 /* 133383 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
47605 /* 133386 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47606 /* 133390 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47607 /* 133395 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
47608 /* 133398 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
47609 /* 133402 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/11,
47610 /* 133405 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47611 /* 133410 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47612 /* 133415 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47613 /* 133420 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s1,
47614 /* 133423 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47615 /* 133427 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47616 /* 133432 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
47617 /* 133436 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
47618 /* 133441 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
47619 /* 133444 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47620 /* 133448 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47621 /* 133453 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47622 /* 133455 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
47623 /* 133458 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47624 /* 133462 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47625 /* 133467 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47626 /* 133470 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
47627 /* 133474 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/11,
47628 /* 133477 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47629 /* 133482 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47630 /* 133487 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47631 /* 133492 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
47632 /* 133495 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrrk),
47633 /* 133499 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47634 /* 133504 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47635 /* 133507 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
47636 /* 133510 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
47637 /* 133513 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47638 /* 133515 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47639 /* 133518 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47640 /* 133520 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
47641 /* 133527 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
47642 /* 133532 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47643 /* 133537 */ // GIR_Coverage, 19776,
47644 /* 133537 */ GIR_EraseRootFromParent_Done,
47645 /* 133538 */ // Label 2910: @133538
47646 /* 133538 */ GIM_Try, /*On fail goto*//*Label 2911*/ GIMT_Encode4(133731), // Rule ID 19778 //
47647 /* 133543 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
47648 /* 133546 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
47649 /* 133550 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
47650 /* 133554 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47651 /* 133558 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47652 /* 133562 */ // (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] })
47653 /* 133562 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
47654 /* 133565 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47655 /* 133569 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47656 /* 133574 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
47657 /* 133576 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
47658 /* 133579 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47659 /* 133583 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47660 /* 133588 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
47661 /* 133591 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
47662 /* 133595 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/11,
47663 /* 133598 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47664 /* 133603 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47665 /* 133608 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47666 /* 133613 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s1,
47667 /* 133616 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47668 /* 133620 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47669 /* 133625 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
47670 /* 133629 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
47671 /* 133634 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
47672 /* 133637 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47673 /* 133641 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47674 /* 133646 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47675 /* 133648 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
47676 /* 133651 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47677 /* 133655 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47678 /* 133660 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47679 /* 133663 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
47680 /* 133667 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/11,
47681 /* 133670 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47682 /* 133675 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47683 /* 133680 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47684 /* 133685 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
47685 /* 133688 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrk),
47686 /* 133692 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47687 /* 133697 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47688 /* 133700 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
47689 /* 133703 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
47690 /* 133706 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47691 /* 133708 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47692 /* 133711 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47693 /* 133713 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
47694 /* 133720 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
47695 /* 133725 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47696 /* 133730 */ // GIR_Coverage, 19778,
47697 /* 133730 */ GIR_EraseRootFromParent_Done,
47698 /* 133731 */ // Label 2911: @133731
47699 /* 133731 */ GIM_Reject,
47700 /* 133732 */ // Label 2903: @133732
47701 /* 133732 */ GIM_Reject,
47702 /* 133733 */ // Label 2891: @133733
47703 /* 133733 */ GIM_Try, /*On fail goto*//*Label 2912*/ GIMT_Encode4(134596),
47704 /* 133738 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
47705 /* 133741 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
47706 /* 133744 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
47707 /* 133747 */ GIM_Try, /*On fail goto*//*Label 2913*/ GIMT_Encode4(133792), // Rule ID 4471 //
47708 /* 133752 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
47709 /* 133755 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47710 /* 133759 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
47711 /* 133763 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47712 /* 133767 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47713 /* 133771 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47714 /* 133777 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47715 /* 133779 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47716 /* 133781 */ // (vselect:{ *:[v4f32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src, immAllZerosV:{ *:[v4f32] }) => (VMOVAPSZ128rrkz:{ *:[v4f32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src)
47717 /* 133781 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128rrkz),
47718 /* 133784 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47719 /* 133786 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47720 /* 133788 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
47721 /* 133790 */ GIR_RootConstrainSelectedInstOperands,
47722 /* 133791 */ // GIR_Coverage, 4471,
47723 /* 133791 */ GIR_EraseRootFromParent_Done,
47724 /* 133792 */ // Label 2913: @133792
47725 /* 133792 */ GIM_Try, /*On fail goto*//*Label 2914*/ GIMT_Encode4(133837), // Rule ID 4529 //
47726 /* 133797 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
47727 /* 133800 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47728 /* 133804 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
47729 /* 133808 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47730 /* 133812 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47731 /* 133816 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47732 /* 133822 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47733 /* 133824 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47734 /* 133826 */ // (vselect:{ *:[v4i32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src, immAllZerosV:{ *:[v4i32] }) => (VMOVDQA32Z128rrkz:{ *:[v4i32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src)
47735 /* 133826 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Z128rrkz),
47736 /* 133829 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47737 /* 133831 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47738 /* 133833 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
47739 /* 133835 */ GIR_RootConstrainSelectedInstOperands,
47740 /* 133836 */ // GIR_Coverage, 4529,
47741 /* 133836 */ GIR_EraseRootFromParent_Done,
47742 /* 133837 */ // Label 2914: @133837
47743 /* 133837 */ GIM_Try, /*On fail goto*//*Label 2915*/ GIMT_Encode4(133986), // Rule ID 19769 //
47744 /* 133842 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
47745 /* 133845 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
47746 /* 133849 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
47747 /* 133853 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47748 /* 133857 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47749 /* 133861 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47750 /* 133867 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47751 /* 133869 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47752 /* 133871 */ // (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] })
47753 /* 133871 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
47754 /* 133874 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47755 /* 133878 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47756 /* 133883 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
47757 /* 133885 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
47758 /* 133888 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47759 /* 133892 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47760 /* 133897 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
47761 /* 133900 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
47762 /* 133904 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/11,
47763 /* 133907 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47764 /* 133912 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47765 /* 133917 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47766 /* 133922 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
47767 /* 133925 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47768 /* 133929 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47769 /* 133934 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
47770 /* 133938 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
47771 /* 133943 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
47772 /* 133946 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrrkz),
47773 /* 133950 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47774 /* 133955 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47775 /* 133958 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
47776 /* 133961 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47777 /* 133963 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47778 /* 133966 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47779 /* 133968 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
47780 /* 133975 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
47781 /* 133980 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47782 /* 133985 */ // GIR_Coverage, 19769,
47783 /* 133985 */ GIR_EraseRootFromParent_Done,
47784 /* 133986 */ // Label 2915: @133986
47785 /* 133986 */ GIM_Try, /*On fail goto*//*Label 2916*/ GIMT_Encode4(134135), // Rule ID 19771 //
47786 /* 133991 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
47787 /* 133994 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
47788 /* 133998 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
47789 /* 134002 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47790 /* 134006 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47791 /* 134010 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47792 /* 134016 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47793 /* 134018 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47794 /* 134020 */ // (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] })
47795 /* 134020 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
47796 /* 134023 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47797 /* 134027 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47798 /* 134032 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
47799 /* 134034 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
47800 /* 134037 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47801 /* 134041 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47802 /* 134046 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
47803 /* 134049 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
47804 /* 134053 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/11,
47805 /* 134056 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47806 /* 134061 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47807 /* 134066 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47808 /* 134071 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
47809 /* 134074 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47810 /* 134078 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47811 /* 134083 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
47812 /* 134087 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
47813 /* 134092 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
47814 /* 134095 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrkz),
47815 /* 134099 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47816 /* 134104 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47817 /* 134107 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
47818 /* 134110 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47819 /* 134112 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47820 /* 134115 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47821 /* 134117 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
47822 /* 134124 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
47823 /* 134129 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47824 /* 134134 */ // GIR_Coverage, 19771,
47825 /* 134134 */ GIR_EraseRootFromParent_Done,
47826 /* 134135 */ // Label 2916: @134135
47827 /* 134135 */ GIM_Try, /*On fail goto*//*Label 2917*/ GIMT_Encode4(134172), // Rule ID 4473 //
47828 /* 134140 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
47829 /* 134143 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47830 /* 134147 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
47831 /* 134151 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47832 /* 134155 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47833 /* 134159 */ // (vselect:{ *:[v4f32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src0) => (VMOVAPSZ128rrk:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src0, VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src1)
47834 /* 134159 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128rrk),
47835 /* 134162 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47836 /* 134164 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47837 /* 134166 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47838 /* 134168 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47839 /* 134170 */ GIR_RootConstrainSelectedInstOperands,
47840 /* 134171 */ // GIR_Coverage, 4473,
47841 /* 134171 */ GIR_EraseRootFromParent_Done,
47842 /* 134172 */ // Label 2917: @134172
47843 /* 134172 */ GIM_Try, /*On fail goto*//*Label 2918*/ GIMT_Encode4(134209), // Rule ID 4530 //
47844 /* 134177 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
47845 /* 134180 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47846 /* 134184 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
47847 /* 134188 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47848 /* 134192 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47849 /* 134196 */ // (vselect:{ *:[v4i32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src0) => (VMOVDQA32Z128rrk:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src0, VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src1)
47850 /* 134196 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Z128rrk),
47851 /* 134199 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47852 /* 134201 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47853 /* 134203 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47854 /* 134205 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47855 /* 134207 */ GIR_RootConstrainSelectedInstOperands,
47856 /* 134208 */ // GIR_Coverage, 4530,
47857 /* 134208 */ GIR_EraseRootFromParent_Done,
47858 /* 134209 */ // Label 2918: @134209
47859 /* 134209 */ GIM_Try, /*On fail goto*//*Label 2919*/ GIMT_Encode4(134402), // Rule ID 19768 //
47860 /* 134214 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
47861 /* 134217 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
47862 /* 134221 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
47863 /* 134225 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47864 /* 134229 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47865 /* 134233 */ // (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] })
47866 /* 134233 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v16s32,
47867 /* 134236 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47868 /* 134240 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47869 /* 134245 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
47870 /* 134247 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
47871 /* 134250 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47872 /* 134254 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47873 /* 134259 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
47874 /* 134262 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
47875 /* 134266 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/11,
47876 /* 134269 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47877 /* 134274 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47878 /* 134279 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47879 /* 134284 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s1,
47880 /* 134287 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47881 /* 134291 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47882 /* 134296 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
47883 /* 134300 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
47884 /* 134305 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
47885 /* 134308 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47886 /* 134312 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47887 /* 134317 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47888 /* 134319 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
47889 /* 134322 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47890 /* 134326 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47891 /* 134331 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47892 /* 134334 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
47893 /* 134338 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/11,
47894 /* 134341 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47895 /* 134346 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47896 /* 134351 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47897 /* 134356 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
47898 /* 134359 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrrk),
47899 /* 134363 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47900 /* 134368 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47901 /* 134371 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
47902 /* 134374 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
47903 /* 134377 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47904 /* 134379 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47905 /* 134382 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47906 /* 134384 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
47907 /* 134391 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
47908 /* 134396 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47909 /* 134401 */ // GIR_Coverage, 19768,
47910 /* 134401 */ GIR_EraseRootFromParent_Done,
47911 /* 134402 */ // Label 2919: @134402
47912 /* 134402 */ GIM_Try, /*On fail goto*//*Label 2920*/ GIMT_Encode4(134595), // Rule ID 19770 //
47913 /* 134407 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
47914 /* 134410 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
47915 /* 134414 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
47916 /* 134418 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47917 /* 134422 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47918 /* 134426 */ // (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] })
47919 /* 134426 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v16s32,
47920 /* 134429 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47921 /* 134433 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47922 /* 134438 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
47923 /* 134440 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
47924 /* 134443 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47925 /* 134447 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47926 /* 134452 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
47927 /* 134455 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
47928 /* 134459 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/11,
47929 /* 134462 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47930 /* 134467 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47931 /* 134472 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47932 /* 134477 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s1,
47933 /* 134480 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47934 /* 134484 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47935 /* 134489 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
47936 /* 134493 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
47937 /* 134498 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
47938 /* 134501 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47939 /* 134505 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47940 /* 134510 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47941 /* 134512 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
47942 /* 134515 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47943 /* 134519 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47944 /* 134524 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47945 /* 134527 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
47946 /* 134531 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/11,
47947 /* 134534 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47948 /* 134539 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47949 /* 134544 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47950 /* 134549 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
47951 /* 134552 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrk),
47952 /* 134556 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
47953 /* 134561 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47954 /* 134564 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
47955 /* 134567 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
47956 /* 134570 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47957 /* 134572 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47958 /* 134575 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47959 /* 134577 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
47960 /* 134584 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
47961 /* 134589 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47962 /* 134594 */ // GIR_Coverage, 19770,
47963 /* 134594 */ GIR_EraseRootFromParent_Done,
47964 /* 134595 */ // Label 2920: @134595
47965 /* 134595 */ GIM_Reject,
47966 /* 134596 */ // Label 2912: @134596
47967 /* 134596 */ GIM_Reject,
47968 /* 134597 */ // Label 2892: @134597
47969 /* 134597 */ GIM_Try, /*On fail goto*//*Label 2921*/ GIMT_Encode4(135376),
47970 /* 134602 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
47971 /* 134605 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
47972 /* 134608 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
47973 /* 134611 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47974 /* 134615 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
47975 /* 134619 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47976 /* 134623 */ GIM_Try, /*On fail goto*//*Label 2922*/ GIMT_Encode4(134656), // Rule ID 4484 //
47977 /* 134628 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
47978 /* 134631 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47979 /* 134635 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47980 /* 134641 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47981 /* 134643 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47982 /* 134645 */ // (vselect:{ *:[v4f64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src, immAllZerosV:{ *:[v4f64] }) => (VMOVAPDZ256rrkz:{ *:[v4f64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src)
47983 /* 134645 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ256rrkz),
47984 /* 134648 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47985 /* 134650 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47986 /* 134652 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
47987 /* 134654 */ GIR_RootConstrainSelectedInstOperands,
47988 /* 134655 */ // GIR_Coverage, 4484,
47989 /* 134655 */ GIR_EraseRootFromParent_Done,
47990 /* 134656 */ // Label 2922: @134656
47991 /* 134656 */ GIM_Try, /*On fail goto*//*Label 2923*/ GIMT_Encode4(134689), // Rule ID 4538 //
47992 /* 134661 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
47993 /* 134664 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47994 /* 134668 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47995 /* 134674 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47996 /* 134676 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47997 /* 134678 */ // (vselect:{ *:[v4i64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src, immAllZerosV:{ *:[v4i64] }) => (VMOVDQA64Z256rrkz:{ *:[v4i64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src)
47998 /* 134678 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256rrkz),
47999 /* 134681 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48000 /* 134683 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48001 /* 134685 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
48002 /* 134687 */ GIR_RootConstrainSelectedInstOperands,
48003 /* 134688 */ // GIR_Coverage, 4538,
48004 /* 134688 */ GIR_EraseRootFromParent_Done,
48005 /* 134689 */ // Label 2923: @134689
48006 /* 134689 */ GIM_Try, /*On fail goto*//*Label 2924*/ GIMT_Encode4(134826), // Rule ID 19781 //
48007 /* 134694 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
48008 /* 134697 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48009 /* 134701 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48010 /* 134707 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48011 /* 134709 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48012 /* 134711 */ // (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] })
48013 /* 134711 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
48014 /* 134714 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48015 /* 134718 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48016 /* 134723 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
48017 /* 134725 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
48018 /* 134728 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48019 /* 134732 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48020 /* 134737 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
48021 /* 134740 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
48022 /* 134744 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/12,
48023 /* 134747 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48024 /* 134752 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48025 /* 134757 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48026 /* 134762 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s1,
48027 /* 134765 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48028 /* 134769 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48029 /* 134774 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
48030 /* 134778 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
48031 /* 134783 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
48032 /* 134786 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrrkz),
48033 /* 134790 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48034 /* 134795 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48035 /* 134798 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
48036 /* 134801 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48037 /* 134803 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48038 /* 134806 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48039 /* 134808 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
48040 /* 134815 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
48041 /* 134820 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48042 /* 134825 */ // GIR_Coverage, 19781,
48043 /* 134825 */ GIR_EraseRootFromParent_Done,
48044 /* 134826 */ // Label 2924: @134826
48045 /* 134826 */ GIM_Try, /*On fail goto*//*Label 2925*/ GIMT_Encode4(134963), // Rule ID 19783 //
48046 /* 134831 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
48047 /* 134834 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48048 /* 134838 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48049 /* 134844 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48050 /* 134846 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48051 /* 134848 */ // (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] })
48052 /* 134848 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
48053 /* 134851 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48054 /* 134855 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48055 /* 134860 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
48056 /* 134862 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
48057 /* 134865 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48058 /* 134869 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48059 /* 134874 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
48060 /* 134877 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
48061 /* 134881 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/12,
48062 /* 134884 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48063 /* 134889 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48064 /* 134894 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48065 /* 134899 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s1,
48066 /* 134902 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48067 /* 134906 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48068 /* 134911 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
48069 /* 134915 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
48070 /* 134920 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
48071 /* 134923 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrkz),
48072 /* 134927 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48073 /* 134932 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48074 /* 134935 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
48075 /* 134938 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48076 /* 134940 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48077 /* 134943 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48078 /* 134945 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
48079 /* 134952 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
48080 /* 134957 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48081 /* 134962 */ // GIR_Coverage, 19783,
48082 /* 134962 */ GIR_EraseRootFromParent_Done,
48083 /* 134963 */ // Label 2925: @134963
48084 /* 134963 */ GIM_Try, /*On fail goto*//*Label 2926*/ GIMT_Encode4(134988), // Rule ID 4486 //
48085 /* 134968 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
48086 /* 134971 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48087 /* 134975 */ // (vselect:{ *:[v4f64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src0) => (VMOVAPDZ256rrk:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src0, VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src1)
48088 /* 134975 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ256rrk),
48089 /* 134978 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48090 /* 134980 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48091 /* 134982 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48092 /* 134984 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48093 /* 134986 */ GIR_RootConstrainSelectedInstOperands,
48094 /* 134987 */ // GIR_Coverage, 4486,
48095 /* 134987 */ GIR_EraseRootFromParent_Done,
48096 /* 134988 */ // Label 2926: @134988
48097 /* 134988 */ GIM_Try, /*On fail goto*//*Label 2927*/ GIMT_Encode4(135013), // Rule ID 4540 //
48098 /* 134993 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
48099 /* 134996 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48100 /* 135000 */ // (vselect:{ *:[v4i64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src0) => (VMOVDQA64Z256rrk:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src0, VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src1)
48101 /* 135000 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256rrk),
48102 /* 135003 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48103 /* 135005 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48104 /* 135007 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48105 /* 135009 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48106 /* 135011 */ GIR_RootConstrainSelectedInstOperands,
48107 /* 135012 */ // GIR_Coverage, 4540,
48108 /* 135012 */ GIR_EraseRootFromParent_Done,
48109 /* 135013 */ // Label 2927: @135013
48110 /* 135013 */ GIM_Try, /*On fail goto*//*Label 2928*/ GIMT_Encode4(135194), // Rule ID 19780 //
48111 /* 135018 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
48112 /* 135021 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48113 /* 135025 */ // (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] })
48114 /* 135025 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
48115 /* 135028 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48116 /* 135032 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48117 /* 135037 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
48118 /* 135039 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
48119 /* 135042 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48120 /* 135046 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48121 /* 135051 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
48122 /* 135054 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
48123 /* 135058 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/12,
48124 /* 135061 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48125 /* 135066 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48126 /* 135071 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48127 /* 135076 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s1,
48128 /* 135079 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48129 /* 135083 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48130 /* 135088 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
48131 /* 135092 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
48132 /* 135097 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
48133 /* 135100 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48134 /* 135104 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48135 /* 135109 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
48136 /* 135111 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
48137 /* 135114 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48138 /* 135118 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48139 /* 135123 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
48140 /* 135126 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
48141 /* 135130 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/12,
48142 /* 135133 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48143 /* 135138 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48144 /* 135143 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48145 /* 135148 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
48146 /* 135151 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrrk),
48147 /* 135155 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48148 /* 135160 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48149 /* 135163 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
48150 /* 135166 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
48151 /* 135169 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48152 /* 135171 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48153 /* 135174 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48154 /* 135176 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
48155 /* 135183 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
48156 /* 135188 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48157 /* 135193 */ // GIR_Coverage, 19780,
48158 /* 135193 */ GIR_EraseRootFromParent_Done,
48159 /* 135194 */ // Label 2928: @135194
48160 /* 135194 */ GIM_Try, /*On fail goto*//*Label 2929*/ GIMT_Encode4(135375), // Rule ID 19782 //
48161 /* 135199 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
48162 /* 135202 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48163 /* 135206 */ // (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] })
48164 /* 135206 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
48165 /* 135209 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48166 /* 135213 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48167 /* 135218 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
48168 /* 135220 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
48169 /* 135223 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48170 /* 135227 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48171 /* 135232 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
48172 /* 135235 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
48173 /* 135239 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/12,
48174 /* 135242 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48175 /* 135247 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48176 /* 135252 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48177 /* 135257 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s1,
48178 /* 135260 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48179 /* 135264 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48180 /* 135269 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
48181 /* 135273 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
48182 /* 135278 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
48183 /* 135281 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48184 /* 135285 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48185 /* 135290 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
48186 /* 135292 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
48187 /* 135295 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48188 /* 135299 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48189 /* 135304 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
48190 /* 135307 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
48191 /* 135311 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/12,
48192 /* 135314 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48193 /* 135319 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48194 /* 135324 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48195 /* 135329 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
48196 /* 135332 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrk),
48197 /* 135336 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48198 /* 135341 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48199 /* 135344 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
48200 /* 135347 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
48201 /* 135350 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48202 /* 135352 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48203 /* 135355 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48204 /* 135357 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
48205 /* 135364 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
48206 /* 135369 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48207 /* 135374 */ // GIR_Coverage, 19782,
48208 /* 135374 */ GIR_EraseRootFromParent_Done,
48209 /* 135375 */ // Label 2929: @135375
48210 /* 135375 */ GIM_Reject,
48211 /* 135376 */ // Label 2921: @135376
48212 /* 135376 */ GIM_Reject,
48213 /* 135377 */ // Label 2893: @135377
48214 /* 135377 */ GIM_Try, /*On fail goto*//*Label 2930*/ GIMT_Encode4(136534),
48215 /* 135382 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
48216 /* 135385 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
48217 /* 135388 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
48218 /* 135391 */ GIM_Try, /*On fail goto*//*Label 2931*/ GIMT_Encode4(135470), // Rule ID 19867 //
48219 /* 135396 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
48220 /* 135399 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48221 /* 135403 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
48222 /* 135407 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48223 /* 135411 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
48224 /* 135415 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
48225 /* 135418 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
48226 /* 135422 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
48227 /* 135426 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
48228 /* 135430 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
48229 /* 135434 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48230 /* 135440 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
48231 /* 135442 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
48232 /* 135444 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
48233 /* 135451 */ // (vselect:{ *:[v8f16] } VK8WM:{ *:[v8i1] }:$mask, (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>>, immAllZerosV:{ *:[v8f16] }) => (VMOVDQU16Z128rmkz:{ *:[v8f16] } VK8WM:{ *:[v8i1] }:$mask, addr:{ *:[iPTR] }:$src)
48234 /* 135451 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rmkz),
48235 /* 135454 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48236 /* 135456 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48237 /* 135458 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
48238 /* 135462 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
48239 /* 135468 */ GIR_RootConstrainSelectedInstOperands,
48240 /* 135469 */ // GIR_Coverage, 19867,
48241 /* 135469 */ GIR_EraseRootFromParent_Done,
48242 /* 135470 */ // Label 2931: @135470
48243 /* 135470 */ GIM_Try, /*On fail goto*//*Label 2932*/ GIMT_Encode4(135545), // Rule ID 19869 //
48244 /* 135475 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
48245 /* 135478 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48246 /* 135482 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
48247 /* 135486 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48248 /* 135490 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
48249 /* 135494 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
48250 /* 135497 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
48251 /* 135501 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
48252 /* 135505 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
48253 /* 135509 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48254 /* 135515 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
48255 /* 135517 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
48256 /* 135519 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
48257 /* 135526 */ // (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)
48258 /* 135526 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rmkz),
48259 /* 135529 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48260 /* 135531 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48261 /* 135533 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
48262 /* 135537 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
48263 /* 135543 */ GIR_RootConstrainSelectedInstOperands,
48264 /* 135544 */ // GIR_Coverage, 19869,
48265 /* 135544 */ GIR_EraseRootFromParent_Done,
48266 /* 135545 */ // Label 2932: @135545
48267 /* 135545 */ GIM_Try, /*On fail goto*//*Label 2933*/ GIMT_Encode4(135617), // Rule ID 19866 //
48268 /* 135550 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
48269 /* 135553 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48270 /* 135557 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
48271 /* 135561 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48272 /* 135565 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
48273 /* 135569 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
48274 /* 135572 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
48275 /* 135576 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
48276 /* 135580 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
48277 /* 135584 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48278 /* 135588 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48279 /* 135590 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
48280 /* 135597 */ // (vselect:{ *:[v8f16] } VK8WM:{ *:[v8i1] }:$mask, (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>>, VR128X:{ *:[v8f16] }:$src0) => (VMOVDQU16Z128rmk:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src0, VK8WM:{ *:[v8i1] }:$mask, addr:{ *:[iPTR] }:$src)
48281 /* 135597 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rmk),
48282 /* 135600 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48283 /* 135602 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48284 /* 135604 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48285 /* 135606 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
48286 /* 135610 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
48287 /* 135615 */ GIR_RootConstrainSelectedInstOperands,
48288 /* 135616 */ // GIR_Coverage, 19866,
48289 /* 135616 */ GIR_EraseRootFromParent_Done,
48290 /* 135617 */ // Label 2933: @135617
48291 /* 135617 */ GIM_Try, /*On fail goto*//*Label 2934*/ GIMT_Encode4(135685), // Rule ID 19868 //
48292 /* 135622 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
48293 /* 135625 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48294 /* 135629 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
48295 /* 135633 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48296 /* 135637 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
48297 /* 135641 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
48298 /* 135644 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
48299 /* 135648 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
48300 /* 135652 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48301 /* 135656 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48302 /* 135658 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
48303 /* 135665 */ // (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)
48304 /* 135665 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rmk),
48305 /* 135668 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48306 /* 135670 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48307 /* 135672 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48308 /* 135674 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
48309 /* 135678 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
48310 /* 135683 */ GIR_RootConstrainSelectedInstOperands,
48311 /* 135684 */ // GIR_Coverage, 19868,
48312 /* 135684 */ GIR_EraseRootFromParent_Done,
48313 /* 135685 */ // Label 2934: @135685
48314 /* 135685 */ GIM_Try, /*On fail goto*//*Label 2935*/ GIMT_Encode4(135730), // Rule ID 4571 //
48315 /* 135690 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
48316 /* 135693 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48317 /* 135697 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
48318 /* 135701 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48319 /* 135705 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48320 /* 135709 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48321 /* 135715 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48322 /* 135717 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48323 /* 135719 */ // (vselect:{ *:[v8i16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src, immAllZerosV:{ *:[v8i16] }) => (VMOVDQU16Z128rrkz:{ *:[v8i16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src)
48324 /* 135719 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rrkz),
48325 /* 135722 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48326 /* 135724 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48327 /* 135726 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
48328 /* 135728 */ GIR_RootConstrainSelectedInstOperands,
48329 /* 135729 */ // GIR_Coverage, 4571,
48330 /* 135729 */ GIR_EraseRootFromParent_Done,
48331 /* 135730 */ // Label 2935: @135730
48332 /* 135730 */ GIM_Try, /*On fail goto*//*Label 2936*/ GIMT_Encode4(135879), // Rule ID 19789 //
48333 /* 135735 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasEVEX512_NoVLX),
48334 /* 135738 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
48335 /* 135742 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
48336 /* 135746 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48337 /* 135750 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48338 /* 135754 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48339 /* 135760 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48340 /* 135762 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48341 /* 135764 */ // (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] })
48342 /* 135764 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
48343 /* 135767 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48344 /* 135771 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48345 /* 135776 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
48346 /* 135778 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
48347 /* 135781 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48348 /* 135785 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48349 /* 135790 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
48350 /* 135793 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
48351 /* 135797 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/11,
48352 /* 135800 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48353 /* 135805 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48354 /* 135810 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48355 /* 135815 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s1,
48356 /* 135818 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48357 /* 135822 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48358 /* 135827 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
48359 /* 135831 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
48360 /* 135836 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
48361 /* 135839 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrkz),
48362 /* 135843 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48363 /* 135848 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48364 /* 135851 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
48365 /* 135854 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48366 /* 135856 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48367 /* 135859 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48368 /* 135861 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
48369 /* 135868 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
48370 /* 135873 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48371 /* 135878 */ // GIR_Coverage, 19789,
48372 /* 135878 */ GIR_EraseRootFromParent_Done,
48373 /* 135879 */ // Label 2936: @135879
48374 /* 135879 */ GIM_Try, /*On fail goto*//*Label 2937*/ GIMT_Encode4(136028), // Rule ID 19793 //
48375 /* 135884 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasEVEX512_NoVLX),
48376 /* 135887 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
48377 /* 135891 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
48378 /* 135895 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48379 /* 135899 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48380 /* 135903 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48381 /* 135909 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48382 /* 135911 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48383 /* 135913 */ // (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] })
48384 /* 135913 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
48385 /* 135916 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48386 /* 135920 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48387 /* 135925 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
48388 /* 135927 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
48389 /* 135930 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48390 /* 135934 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48391 /* 135939 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
48392 /* 135942 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
48393 /* 135946 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/11,
48394 /* 135949 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48395 /* 135954 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48396 /* 135959 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48397 /* 135964 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s1,
48398 /* 135967 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48399 /* 135971 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48400 /* 135976 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
48401 /* 135980 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
48402 /* 135985 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
48403 /* 135988 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrkz),
48404 /* 135992 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48405 /* 135997 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48406 /* 136000 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
48407 /* 136003 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48408 /* 136005 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48409 /* 136008 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48410 /* 136010 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
48411 /* 136017 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
48412 /* 136022 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48413 /* 136027 */ // GIR_Coverage, 19793,
48414 /* 136027 */ GIR_EraseRootFromParent_Done,
48415 /* 136028 */ // Label 2937: @136028
48416 /* 136028 */ GIM_Try, /*On fail goto*//*Label 2938*/ GIMT_Encode4(136073), // Rule ID 19865 //
48417 /* 136033 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
48418 /* 136036 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48419 /* 136040 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
48420 /* 136044 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48421 /* 136048 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48422 /* 136052 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48423 /* 136058 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48424 /* 136060 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48425 /* 136062 */ // (vselect:{ *:[v8f16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8f16] }:$src1, immAllZerosV:{ *:[v8f16] }) => (VMOVDQU16Z128rrkz:{ *:[v8f16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8f16] }:$src1)
48426 /* 136062 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rrkz),
48427 /* 136065 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48428 /* 136067 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48429 /* 136069 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48430 /* 136071 */ GIR_RootConstrainSelectedInstOperands,
48431 /* 136072 */ // GIR_Coverage, 19865,
48432 /* 136072 */ GIR_EraseRootFromParent_Done,
48433 /* 136073 */ // Label 2938: @136073
48434 /* 136073 */ GIM_Try, /*On fail goto*//*Label 2939*/ GIMT_Encode4(136110), // Rule ID 4572 //
48435 /* 136078 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
48436 /* 136081 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48437 /* 136085 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
48438 /* 136089 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48439 /* 136093 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48440 /* 136097 */ // (vselect:{ *:[v8i16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src0) => (VMOVDQU16Z128rrk:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src0, VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src1)
48441 /* 136097 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rrk),
48442 /* 136100 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48443 /* 136102 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48444 /* 136104 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48445 /* 136106 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48446 /* 136108 */ GIR_RootConstrainSelectedInstOperands,
48447 /* 136109 */ // GIR_Coverage, 4572,
48448 /* 136109 */ GIR_EraseRootFromParent_Done,
48449 /* 136110 */ // Label 2939: @136110
48450 /* 136110 */ GIM_Try, /*On fail goto*//*Label 2940*/ GIMT_Encode4(136303), // Rule ID 19788 //
48451 /* 136115 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasEVEX512_NoVLX),
48452 /* 136118 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
48453 /* 136122 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
48454 /* 136126 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48455 /* 136130 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48456 /* 136134 */ // (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] })
48457 /* 136134 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
48458 /* 136137 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48459 /* 136141 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48460 /* 136146 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
48461 /* 136148 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
48462 /* 136151 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48463 /* 136155 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48464 /* 136160 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
48465 /* 136163 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
48466 /* 136167 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/11,
48467 /* 136170 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48468 /* 136175 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48469 /* 136180 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48470 /* 136185 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s1,
48471 /* 136188 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48472 /* 136192 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48473 /* 136197 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
48474 /* 136201 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
48475 /* 136206 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
48476 /* 136209 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48477 /* 136213 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48478 /* 136218 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
48479 /* 136220 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
48480 /* 136223 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48481 /* 136227 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48482 /* 136232 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
48483 /* 136235 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
48484 /* 136239 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/11,
48485 /* 136242 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48486 /* 136247 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48487 /* 136252 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48488 /* 136257 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
48489 /* 136260 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrk),
48490 /* 136264 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48491 /* 136269 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48492 /* 136272 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
48493 /* 136275 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
48494 /* 136278 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48495 /* 136280 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48496 /* 136283 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48497 /* 136285 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
48498 /* 136292 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
48499 /* 136297 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48500 /* 136302 */ // GIR_Coverage, 19788,
48501 /* 136302 */ GIR_EraseRootFromParent_Done,
48502 /* 136303 */ // Label 2940: @136303
48503 /* 136303 */ GIM_Try, /*On fail goto*//*Label 2941*/ GIMT_Encode4(136496), // Rule ID 19792 //
48504 /* 136308 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasEVEX512_NoVLX),
48505 /* 136311 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
48506 /* 136315 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
48507 /* 136319 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48508 /* 136323 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48509 /* 136327 */ // (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] })
48510 /* 136327 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
48511 /* 136330 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48512 /* 136334 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48513 /* 136339 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
48514 /* 136341 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
48515 /* 136344 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48516 /* 136348 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48517 /* 136353 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
48518 /* 136356 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
48519 /* 136360 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/11,
48520 /* 136363 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48521 /* 136368 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48522 /* 136373 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48523 /* 136378 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s1,
48524 /* 136381 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48525 /* 136385 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48526 /* 136390 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
48527 /* 136394 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
48528 /* 136399 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
48529 /* 136402 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48530 /* 136406 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48531 /* 136411 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
48532 /* 136413 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
48533 /* 136416 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48534 /* 136420 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48535 /* 136425 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
48536 /* 136428 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
48537 /* 136432 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/11,
48538 /* 136435 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48539 /* 136440 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48540 /* 136445 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48541 /* 136450 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
48542 /* 136453 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrk),
48543 /* 136457 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48544 /* 136462 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48545 /* 136465 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
48546 /* 136468 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
48547 /* 136471 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48548 /* 136473 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48549 /* 136476 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48550 /* 136478 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
48551 /* 136485 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
48552 /* 136490 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48553 /* 136495 */ // GIR_Coverage, 19792,
48554 /* 136495 */ GIR_EraseRootFromParent_Done,
48555 /* 136496 */ // Label 2941: @136496
48556 /* 136496 */ GIM_Try, /*On fail goto*//*Label 2942*/ GIMT_Encode4(136533), // Rule ID 19864 //
48557 /* 136501 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
48558 /* 136504 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48559 /* 136508 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
48560 /* 136512 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48561 /* 136516 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48562 /* 136520 */ // (vselect:{ *:[v8f16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src0) => (VMOVDQU16Z128rrk:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src0, VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8f16] }:$src1)
48563 /* 136520 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rrk),
48564 /* 136523 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48565 /* 136525 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48566 /* 136527 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48567 /* 136529 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48568 /* 136531 */ GIR_RootConstrainSelectedInstOperands,
48569 /* 136532 */ // GIR_Coverage, 19864,
48570 /* 136532 */ GIR_EraseRootFromParent_Done,
48571 /* 136533 */ // Label 2942: @136533
48572 /* 136533 */ GIM_Reject,
48573 /* 136534 */ // Label 2930: @136534
48574 /* 136534 */ GIM_Reject,
48575 /* 136535 */ // Label 2894: @136535
48576 /* 136535 */ GIM_Try, /*On fail goto*//*Label 2943*/ GIMT_Encode4(137314),
48577 /* 136540 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
48578 /* 136543 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
48579 /* 136546 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
48580 /* 136549 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48581 /* 136553 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
48582 /* 136557 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48583 /* 136561 */ GIM_Try, /*On fail goto*//*Label 2944*/ GIMT_Encode4(136594), // Rule ID 4466 //
48584 /* 136566 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
48585 /* 136569 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48586 /* 136573 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48587 /* 136579 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48588 /* 136581 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48589 /* 136583 */ // (vselect:{ *:[v8f32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src, immAllZerosV:{ *:[v8f32] }) => (VMOVAPSZ256rrkz:{ *:[v8f32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src)
48590 /* 136583 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ256rrkz),
48591 /* 136586 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48592 /* 136588 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48593 /* 136590 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
48594 /* 136592 */ GIR_RootConstrainSelectedInstOperands,
48595 /* 136593 */ // GIR_Coverage, 4466,
48596 /* 136593 */ GIR_EraseRootFromParent_Done,
48597 /* 136594 */ // Label 2944: @136594
48598 /* 136594 */ GIM_Try, /*On fail goto*//*Label 2945*/ GIMT_Encode4(136627), // Rule ID 4525 //
48599 /* 136599 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
48600 /* 136602 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48601 /* 136606 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48602 /* 136612 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48603 /* 136614 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48604 /* 136616 */ // (vselect:{ *:[v8i32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src, immAllZerosV:{ *:[v8i32] }) => (VMOVDQA32Z256rrkz:{ *:[v8i32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src)
48605 /* 136616 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Z256rrkz),
48606 /* 136619 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48607 /* 136621 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48608 /* 136623 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
48609 /* 136625 */ GIR_RootConstrainSelectedInstOperands,
48610 /* 136626 */ // GIR_Coverage, 4525,
48611 /* 136626 */ GIR_EraseRootFromParent_Done,
48612 /* 136627 */ // Label 2945: @136627
48613 /* 136627 */ GIM_Try, /*On fail goto*//*Label 2946*/ GIMT_Encode4(136764), // Rule ID 19773 //
48614 /* 136632 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
48615 /* 136635 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48616 /* 136639 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48617 /* 136645 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48618 /* 136647 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48619 /* 136649 */ // (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] })
48620 /* 136649 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
48621 /* 136652 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48622 /* 136656 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48623 /* 136661 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
48624 /* 136663 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
48625 /* 136666 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48626 /* 136670 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48627 /* 136675 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
48628 /* 136678 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
48629 /* 136682 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/12,
48630 /* 136685 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48631 /* 136690 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48632 /* 136695 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48633 /* 136700 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
48634 /* 136703 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48635 /* 136707 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48636 /* 136712 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
48637 /* 136716 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
48638 /* 136721 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
48639 /* 136724 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrrkz),
48640 /* 136728 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48641 /* 136733 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48642 /* 136736 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
48643 /* 136739 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48644 /* 136741 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48645 /* 136744 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48646 /* 136746 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
48647 /* 136753 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
48648 /* 136758 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48649 /* 136763 */ // GIR_Coverage, 19773,
48650 /* 136763 */ GIR_EraseRootFromParent_Done,
48651 /* 136764 */ // Label 2946: @136764
48652 /* 136764 */ GIM_Try, /*On fail goto*//*Label 2947*/ GIMT_Encode4(136901), // Rule ID 19775 //
48653 /* 136769 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
48654 /* 136772 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48655 /* 136776 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48656 /* 136782 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48657 /* 136784 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48658 /* 136786 */ // (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] })
48659 /* 136786 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
48660 /* 136789 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48661 /* 136793 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48662 /* 136798 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
48663 /* 136800 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
48664 /* 136803 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48665 /* 136807 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48666 /* 136812 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
48667 /* 136815 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
48668 /* 136819 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/12,
48669 /* 136822 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48670 /* 136827 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48671 /* 136832 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48672 /* 136837 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
48673 /* 136840 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48674 /* 136844 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48675 /* 136849 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
48676 /* 136853 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
48677 /* 136858 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
48678 /* 136861 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrkz),
48679 /* 136865 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48680 /* 136870 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48681 /* 136873 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
48682 /* 136876 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48683 /* 136878 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48684 /* 136881 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48685 /* 136883 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
48686 /* 136890 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
48687 /* 136895 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48688 /* 136900 */ // GIR_Coverage, 19775,
48689 /* 136900 */ GIR_EraseRootFromParent_Done,
48690 /* 136901 */ // Label 2947: @136901
48691 /* 136901 */ GIM_Try, /*On fail goto*//*Label 2948*/ GIMT_Encode4(136926), // Rule ID 4468 //
48692 /* 136906 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
48693 /* 136909 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48694 /* 136913 */ // (vselect:{ *:[v8f32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src0) => (VMOVAPSZ256rrk:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src0, VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src1)
48695 /* 136913 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ256rrk),
48696 /* 136916 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48697 /* 136918 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48698 /* 136920 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48699 /* 136922 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48700 /* 136924 */ GIR_RootConstrainSelectedInstOperands,
48701 /* 136925 */ // GIR_Coverage, 4468,
48702 /* 136925 */ GIR_EraseRootFromParent_Done,
48703 /* 136926 */ // Label 2948: @136926
48704 /* 136926 */ GIM_Try, /*On fail goto*//*Label 2949*/ GIMT_Encode4(136951), // Rule ID 4526 //
48705 /* 136931 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
48706 /* 136934 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48707 /* 136938 */ // (vselect:{ *:[v8i32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src0) => (VMOVDQA32Z256rrk:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src0, VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src1)
48708 /* 136938 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Z256rrk),
48709 /* 136941 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48710 /* 136943 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48711 /* 136945 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48712 /* 136947 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48713 /* 136949 */ GIR_RootConstrainSelectedInstOperands,
48714 /* 136950 */ // GIR_Coverage, 4526,
48715 /* 136950 */ GIR_EraseRootFromParent_Done,
48716 /* 136951 */ // Label 2949: @136951
48717 /* 136951 */ GIM_Try, /*On fail goto*//*Label 2950*/ GIMT_Encode4(137132), // Rule ID 19772 //
48718 /* 136956 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
48719 /* 136959 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48720 /* 136963 */ // (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] })
48721 /* 136963 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v16s32,
48722 /* 136966 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48723 /* 136970 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48724 /* 136975 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
48725 /* 136977 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
48726 /* 136980 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48727 /* 136984 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48728 /* 136989 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
48729 /* 136992 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
48730 /* 136996 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/12,
48731 /* 136999 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48732 /* 137004 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48733 /* 137009 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48734 /* 137014 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s1,
48735 /* 137017 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48736 /* 137021 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48737 /* 137026 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
48738 /* 137030 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
48739 /* 137035 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
48740 /* 137038 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48741 /* 137042 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48742 /* 137047 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
48743 /* 137049 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
48744 /* 137052 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48745 /* 137056 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48746 /* 137061 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
48747 /* 137064 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
48748 /* 137068 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/12,
48749 /* 137071 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48750 /* 137076 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48751 /* 137081 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48752 /* 137086 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
48753 /* 137089 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrrk),
48754 /* 137093 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48755 /* 137098 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48756 /* 137101 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
48757 /* 137104 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
48758 /* 137107 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48759 /* 137109 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48760 /* 137112 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48761 /* 137114 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
48762 /* 137121 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
48763 /* 137126 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48764 /* 137131 */ // GIR_Coverage, 19772,
48765 /* 137131 */ GIR_EraseRootFromParent_Done,
48766 /* 137132 */ // Label 2950: @137132
48767 /* 137132 */ GIM_Try, /*On fail goto*//*Label 2951*/ GIMT_Encode4(137313), // Rule ID 19774 //
48768 /* 137137 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
48769 /* 137140 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48770 /* 137144 */ // (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] })
48771 /* 137144 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v16s32,
48772 /* 137147 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48773 /* 137151 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48774 /* 137156 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
48775 /* 137158 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
48776 /* 137161 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48777 /* 137165 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48778 /* 137170 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
48779 /* 137173 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
48780 /* 137177 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/12,
48781 /* 137180 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48782 /* 137185 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48783 /* 137190 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48784 /* 137195 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s1,
48785 /* 137198 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48786 /* 137202 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48787 /* 137207 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
48788 /* 137211 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
48789 /* 137216 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
48790 /* 137219 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48791 /* 137223 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48792 /* 137228 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
48793 /* 137230 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
48794 /* 137233 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48795 /* 137237 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48796 /* 137242 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
48797 /* 137245 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
48798 /* 137249 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/12,
48799 /* 137252 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48800 /* 137257 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48801 /* 137262 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48802 /* 137267 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
48803 /* 137270 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrk),
48804 /* 137274 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48805 /* 137279 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48806 /* 137282 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
48807 /* 137285 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
48808 /* 137288 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48809 /* 137290 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48810 /* 137293 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48811 /* 137295 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
48812 /* 137302 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
48813 /* 137307 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48814 /* 137312 */ // GIR_Coverage, 19774,
48815 /* 137312 */ GIR_EraseRootFromParent_Done,
48816 /* 137313 */ // Label 2951: @137313
48817 /* 137313 */ GIM_Reject,
48818 /* 137314 */ // Label 2943: @137314
48819 /* 137314 */ GIM_Reject,
48820 /* 137315 */ // Label 2895: @137315
48821 /* 137315 */ GIM_Try, /*On fail goto*//*Label 2952*/ GIMT_Encode4(137695),
48822 /* 137320 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
48823 /* 137323 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
48824 /* 137326 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
48825 /* 137329 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48826 /* 137333 */ GIM_Try, /*On fail goto*//*Label 2953*/ GIMT_Encode4(137402), // Rule ID 19766 //
48827 /* 137338 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
48828 /* 137342 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
48829 /* 137346 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
48830 /* 137350 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
48831 /* 137354 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
48832 /* 137359 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
48833 /* 137363 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48834 /* 137369 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
48835 /* 137371 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/0, /*OpIdx*/2, // MIs[3]
48836 /* 137375 */ GIM_CheckOpcodeIsEither, /*MI*/3, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48837 /* 137381 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/3,
48838 /* 137383 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48839 /* 137387 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
48840 /* 137389 */ // (vselect:{ *:[v8i64] } (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$mask, immAllOnesV:{ *:[v8i1] }), immAllZerosV:{ *:[v8i64] }, VR512:{ *:[v8i64] }:$src) => (VMOVDQA64Zrrkz:{ *:[v8i64] } VK8:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src)
48841 /* 137389 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrkz),
48842 /* 137392 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48843 /* 137394 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // mask
48844 /* 137398 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
48845 /* 137400 */ GIR_RootConstrainSelectedInstOperands,
48846 /* 137401 */ // GIR_Coverage, 19766,
48847 /* 137401 */ GIR_EraseRootFromParent_Done,
48848 /* 137402 */ // Label 2953: @137402
48849 /* 137402 */ GIM_Try, /*On fail goto*//*Label 2954*/ GIMT_Encode4(137449), // Rule ID 3599 //
48850 /* 137407 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
48851 /* 137410 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
48852 /* 137414 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48853 /* 137418 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48854 /* 137424 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
48855 /* 137426 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
48856 /* 137430 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48857 /* 137436 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
48858 /* 137438 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
48859 /* 137440 */ // (vselect:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask, immAllOnesV:{ *:[v8i64] }, immAllZerosV:{ *:[v8i64] }) => (AVX512_512_SEXT_MASK_64:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask)
48860 /* 137440 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AVX512_512_SEXT_MASK_64),
48861 /* 137443 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48862 /* 137445 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48863 /* 137447 */ GIR_RootConstrainSelectedInstOperands,
48864 /* 137448 */ // GIR_Coverage, 3599,
48865 /* 137448 */ GIR_EraseRootFromParent_Done,
48866 /* 137449 */ // Label 2954: @137449
48867 /* 137449 */ GIM_Try, /*On fail goto*//*Label 2955*/ GIMT_Encode4(137546), // Rule ID 19764 //
48868 /* 137454 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
48869 /* 137458 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48870 /* 137462 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48871 /* 137468 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48872 /* 137470 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48873 /* 137474 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48874 /* 137476 */ // (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)
48875 /* 137476 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
48876 /* 137479 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48877 /* 137483 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48878 /* 137488 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // mask
48879 /* 137492 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
48880 /* 137497 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
48881 /* 137500 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
48882 /* 137504 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48883 /* 137509 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
48884 /* 137512 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
48885 /* 137514 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
48886 /* 137517 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48887 /* 137521 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
48888 /* 137526 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48889 /* 137529 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
48890 /* 137534 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrkz),
48891 /* 137537 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48892 /* 137539 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
48893 /* 137542 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
48894 /* 137544 */ GIR_RootConstrainSelectedInstOperands,
48895 /* 137545 */ // GIR_Coverage, 19764,
48896 /* 137545 */ GIR_EraseRootFromParent_Done,
48897 /* 137546 */ // Label 2955: @137546
48898 /* 137546 */ GIM_Try, /*On fail goto*//*Label 2956*/ GIMT_Encode4(137587), // Rule ID 4479 //
48899 /* 137551 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
48900 /* 137554 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
48901 /* 137558 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48902 /* 137562 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48903 /* 137566 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48904 /* 137572 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48905 /* 137574 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48906 /* 137576 */ // (vselect:{ *:[v8f64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src, immAllZerosV:{ *:[v8f64] }) => (VMOVAPDZrrkz:{ *:[v8f64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src)
48907 /* 137576 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrrkz),
48908 /* 137579 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48909 /* 137581 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48910 /* 137583 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
48911 /* 137585 */ GIR_RootConstrainSelectedInstOperands,
48912 /* 137586 */ // GIR_Coverage, 4479,
48913 /* 137586 */ GIR_EraseRootFromParent_Done,
48914 /* 137587 */ // Label 2956: @137587
48915 /* 137587 */ GIM_Try, /*On fail goto*//*Label 2957*/ GIMT_Encode4(137628), // Rule ID 4533 //
48916 /* 137592 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
48917 /* 137595 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
48918 /* 137599 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48919 /* 137603 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48920 /* 137607 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48921 /* 137613 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48922 /* 137615 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48923 /* 137617 */ // (vselect:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src, immAllZerosV:{ *:[v8i64] }) => (VMOVDQA64Zrrkz:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src)
48924 /* 137617 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrkz),
48925 /* 137620 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48926 /* 137622 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48927 /* 137624 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
48928 /* 137626 */ GIR_RootConstrainSelectedInstOperands,
48929 /* 137627 */ // GIR_Coverage, 4533,
48930 /* 137627 */ GIR_EraseRootFromParent_Done,
48931 /* 137628 */ // Label 2957: @137628
48932 /* 137628 */ GIM_Try, /*On fail goto*//*Label 2958*/ GIMT_Encode4(137661), // Rule ID 4481 //
48933 /* 137633 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
48934 /* 137636 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
48935 /* 137640 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48936 /* 137644 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48937 /* 137648 */ // (vselect:{ *:[v8f64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src0) => (VMOVAPDZrrk:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src0, VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src1)
48938 /* 137648 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrrk),
48939 /* 137651 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48940 /* 137653 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48941 /* 137655 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48942 /* 137657 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48943 /* 137659 */ GIR_RootConstrainSelectedInstOperands,
48944 /* 137660 */ // GIR_Coverage, 4481,
48945 /* 137660 */ GIR_EraseRootFromParent_Done,
48946 /* 137661 */ // Label 2958: @137661
48947 /* 137661 */ GIM_Try, /*On fail goto*//*Label 2959*/ GIMT_Encode4(137694), // Rule ID 4535 //
48948 /* 137666 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
48949 /* 137669 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
48950 /* 137673 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48951 /* 137677 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48952 /* 137681 */ // (vselect:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src0) => (VMOVDQA64Zrrk:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src0, VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src1)
48953 /* 137681 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrk),
48954 /* 137684 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48955 /* 137686 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48956 /* 137688 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48957 /* 137690 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48958 /* 137692 */ GIR_RootConstrainSelectedInstOperands,
48959 /* 137693 */ // GIR_Coverage, 4535,
48960 /* 137693 */ GIR_EraseRootFromParent_Done,
48961 /* 137694 */ // Label 2959: @137694
48962 /* 137694 */ GIM_Reject,
48963 /* 137695 */ // Label 2952: @137695
48964 /* 137695 */ GIM_Reject,
48965 /* 137696 */ // Label 2896: @137696
48966 /* 137696 */ GIM_Try, /*On fail goto*//*Label 2960*/ GIMT_Encode4(138135),
48967 /* 137701 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
48968 /* 137704 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
48969 /* 137707 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
48970 /* 137710 */ GIM_Try, /*On fail goto*//*Label 2961*/ GIMT_Encode4(137755), // Rule ID 4559 //
48971 /* 137715 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
48972 /* 137718 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48973 /* 137722 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
48974 /* 137726 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48975 /* 137730 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48976 /* 137734 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48977 /* 137740 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48978 /* 137742 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48979 /* 137744 */ // (vselect:{ *:[v16i8] } VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src, immAllZerosV:{ *:[v16i8] }) => (VMOVDQU8Z128rrkz:{ *:[v16i8] } VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src)
48980 /* 137744 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Z128rrkz),
48981 /* 137747 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48982 /* 137749 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48983 /* 137751 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
48984 /* 137753 */ GIR_RootConstrainSelectedInstOperands,
48985 /* 137754 */ // GIR_Coverage, 4559,
48986 /* 137754 */ GIR_EraseRootFromParent_Done,
48987 /* 137755 */ // Label 2961: @137755
48988 /* 137755 */ GIM_Try, /*On fail goto*//*Label 2962*/ GIMT_Encode4(137904), // Rule ID 19785 //
48989 /* 137760 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasEVEX512_NoVLX),
48990 /* 137763 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
48991 /* 137767 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
48992 /* 137771 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48993 /* 137775 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48994 /* 137779 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48995 /* 137785 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48996 /* 137787 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48997 /* 137789 */ // (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] })
48998 /* 137789 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v64s8,
48999 /* 137792 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49000 /* 137796 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49001 /* 137801 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
49002 /* 137803 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
49003 /* 137806 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49004 /* 137810 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49005 /* 137815 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
49006 /* 137818 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
49007 /* 137822 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/11,
49008 /* 137825 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49009 /* 137830 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49010 /* 137835 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
49011 /* 137840 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s1,
49012 /* 137843 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49013 /* 137847 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49014 /* 137852 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
49015 /* 137856 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK64WMRegClassID),
49016 /* 137861 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
49017 /* 137864 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Zrrkz),
49018 /* 137868 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49019 /* 137873 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
49020 /* 137876 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
49021 /* 137879 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
49022 /* 137881 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49023 /* 137884 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49024 /* 137886 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
49025 /* 137893 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
49026 /* 137898 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49027 /* 137903 */ // GIR_Coverage, 19785,
49028 /* 137903 */ GIR_EraseRootFromParent_Done,
49029 /* 137904 */ // Label 2962: @137904
49030 /* 137904 */ GIM_Try, /*On fail goto*//*Label 2963*/ GIMT_Encode4(137941), // Rule ID 4560 //
49031 /* 137909 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49032 /* 137912 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49033 /* 137916 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
49034 /* 137920 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49035 /* 137924 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49036 /* 137928 */ // (vselect:{ *:[v16i8] } VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src0) => (VMOVDQU8Z128rrk:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src0, VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src1)
49037 /* 137928 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Z128rrk),
49038 /* 137931 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49039 /* 137933 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
49040 /* 137935 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49041 /* 137937 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49042 /* 137939 */ GIR_RootConstrainSelectedInstOperands,
49043 /* 137940 */ // GIR_Coverage, 4560,
49044 /* 137940 */ GIR_EraseRootFromParent_Done,
49045 /* 137941 */ // Label 2963: @137941
49046 /* 137941 */ GIM_Try, /*On fail goto*//*Label 2964*/ GIMT_Encode4(138134), // Rule ID 19784 //
49047 /* 137946 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasEVEX512_NoVLX),
49048 /* 137949 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
49049 /* 137953 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
49050 /* 137957 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49051 /* 137961 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49052 /* 137965 */ // (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] })
49053 /* 137965 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v64s8,
49054 /* 137968 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49055 /* 137972 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49056 /* 137977 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
49057 /* 137979 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v64s8,
49058 /* 137982 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49059 /* 137986 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49060 /* 137991 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
49061 /* 137994 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
49062 /* 137998 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/11,
49063 /* 138001 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49064 /* 138006 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49065 /* 138011 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
49066 /* 138016 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v64s1,
49067 /* 138019 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49068 /* 138023 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49069 /* 138028 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
49070 /* 138032 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK64WMRegClassID),
49071 /* 138037 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
49072 /* 138040 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49073 /* 138044 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49074 /* 138049 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
49075 /* 138051 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s8,
49076 /* 138054 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49077 /* 138058 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49078 /* 138063 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
49079 /* 138066 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
49080 /* 138070 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/11,
49081 /* 138073 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49082 /* 138078 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49083 /* 138083 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
49084 /* 138088 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
49085 /* 138091 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Zrrk),
49086 /* 138095 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49087 /* 138100 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
49088 /* 138103 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
49089 /* 138106 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
49090 /* 138109 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
49091 /* 138111 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49092 /* 138114 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49093 /* 138116 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
49094 /* 138123 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
49095 /* 138128 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49096 /* 138133 */ // GIR_Coverage, 19784,
49097 /* 138133 */ GIR_EraseRootFromParent_Done,
49098 /* 138134 */ // Label 2964: @138134
49099 /* 138134 */ GIM_Reject,
49100 /* 138135 */ // Label 2960: @138135
49101 /* 138135 */ GIM_Reject,
49102 /* 138136 */ // Label 2897: @138136
49103 /* 138136 */ GIM_Try, /*On fail goto*//*Label 2965*/ GIMT_Encode4(139205),
49104 /* 138141 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
49105 /* 138144 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
49106 /* 138147 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
49107 /* 138150 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49108 /* 138154 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
49109 /* 138158 */ GIM_Try, /*On fail goto*//*Label 2966*/ GIMT_Encode4(138229), // Rule ID 19857 //
49110 /* 138163 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49111 /* 138166 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49112 /* 138170 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49113 /* 138174 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49114 /* 138177 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49115 /* 138181 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49116 /* 138185 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
49117 /* 138189 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
49118 /* 138193 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49119 /* 138199 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
49120 /* 138201 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
49121 /* 138203 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49122 /* 138210 */ // (vselect:{ *:[v16f16] } VK16WM:{ *:[v16i1] }:$mask, (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>>, immAllZerosV:{ *:[v16f16] }) => (VMOVDQU16Z256rmkz:{ *:[v16f16] } VK16WM:{ *:[v16i1] }:$mask, addr:{ *:[iPTR] }:$src)
49123 /* 138210 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rmkz),
49124 /* 138213 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49125 /* 138215 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49126 /* 138217 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
49127 /* 138221 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
49128 /* 138227 */ GIR_RootConstrainSelectedInstOperands,
49129 /* 138228 */ // GIR_Coverage, 19857,
49130 /* 138228 */ GIR_EraseRootFromParent_Done,
49131 /* 138229 */ // Label 2966: @138229
49132 /* 138229 */ GIM_Try, /*On fail goto*//*Label 2967*/ GIMT_Encode4(138296), // Rule ID 19859 //
49133 /* 138234 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49134 /* 138237 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49135 /* 138241 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49136 /* 138245 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49137 /* 138248 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49138 /* 138252 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49139 /* 138256 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
49140 /* 138260 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49141 /* 138266 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
49142 /* 138268 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
49143 /* 138270 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49144 /* 138277 */ // (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)
49145 /* 138277 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rmkz),
49146 /* 138280 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49147 /* 138282 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49148 /* 138284 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
49149 /* 138288 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
49150 /* 138294 */ GIR_RootConstrainSelectedInstOperands,
49151 /* 138295 */ // GIR_Coverage, 19859,
49152 /* 138295 */ GIR_EraseRootFromParent_Done,
49153 /* 138296 */ // Label 2967: @138296
49154 /* 138296 */ GIM_Try, /*On fail goto*//*Label 2968*/ GIMT_Encode4(138360), // Rule ID 19856 //
49155 /* 138301 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49156 /* 138304 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49157 /* 138308 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49158 /* 138312 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49159 /* 138315 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49160 /* 138319 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49161 /* 138323 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
49162 /* 138327 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49163 /* 138331 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49164 /* 138333 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49165 /* 138340 */ // (vselect:{ *:[v16f16] } VK16WM:{ *:[v16i1] }:$mask, (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>>, VR256X:{ *:[v16f16] }:$src0) => (VMOVDQU16Z256rmk:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src0, VK16WM:{ *:[v16i1] }:$mask, addr:{ *:[iPTR] }:$src)
49166 /* 138340 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rmk),
49167 /* 138343 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49168 /* 138345 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
49169 /* 138347 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49170 /* 138349 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
49171 /* 138353 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49172 /* 138358 */ GIR_RootConstrainSelectedInstOperands,
49173 /* 138359 */ // GIR_Coverage, 19856,
49174 /* 138359 */ GIR_EraseRootFromParent_Done,
49175 /* 138360 */ // Label 2968: @138360
49176 /* 138360 */ GIM_Try, /*On fail goto*//*Label 2969*/ GIMT_Encode4(138420), // Rule ID 19858 //
49177 /* 138365 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49178 /* 138368 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49179 /* 138372 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49180 /* 138376 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49181 /* 138379 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49182 /* 138383 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49183 /* 138387 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49184 /* 138391 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49185 /* 138393 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49186 /* 138400 */ // (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)
49187 /* 138400 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rmk),
49188 /* 138403 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49189 /* 138405 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
49190 /* 138407 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49191 /* 138409 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
49192 /* 138413 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49193 /* 138418 */ GIR_RootConstrainSelectedInstOperands,
49194 /* 138419 */ // GIR_Coverage, 19858,
49195 /* 138419 */ GIR_EraseRootFromParent_Done,
49196 /* 138420 */ // Label 2969: @138420
49197 /* 138420 */ GIM_Try, /*On fail goto*//*Label 2970*/ GIMT_Encode4(138457), // Rule ID 4567 //
49198 /* 138425 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49199 /* 138428 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49200 /* 138432 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
49201 /* 138436 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49202 /* 138442 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49203 /* 138444 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49204 /* 138446 */ // (vselect:{ *:[v16i16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src, immAllZerosV:{ *:[v16i16] }) => (VMOVDQU16Z256rrkz:{ *:[v16i16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src)
49205 /* 138446 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rrkz),
49206 /* 138449 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49207 /* 138451 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49208 /* 138453 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
49209 /* 138455 */ GIR_RootConstrainSelectedInstOperands,
49210 /* 138456 */ // GIR_Coverage, 4567,
49211 /* 138456 */ GIR_EraseRootFromParent_Done,
49212 /* 138457 */ // Label 2970: @138457
49213 /* 138457 */ GIM_Try, /*On fail goto*//*Label 2971*/ GIMT_Encode4(138598), // Rule ID 19791 //
49214 /* 138462 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasEVEX512_NoVLX),
49215 /* 138465 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49216 /* 138469 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
49217 /* 138473 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49218 /* 138479 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49219 /* 138481 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49220 /* 138483 */ // (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] })
49221 /* 138483 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
49222 /* 138486 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49223 /* 138490 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49224 /* 138495 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
49225 /* 138497 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
49226 /* 138500 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49227 /* 138504 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49228 /* 138509 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
49229 /* 138512 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
49230 /* 138516 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/12,
49231 /* 138519 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49232 /* 138524 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49233 /* 138529 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
49234 /* 138534 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s1,
49235 /* 138537 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49236 /* 138541 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49237 /* 138546 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
49238 /* 138550 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
49239 /* 138555 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
49240 /* 138558 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrkz),
49241 /* 138562 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49242 /* 138567 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
49243 /* 138570 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
49244 /* 138573 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
49245 /* 138575 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49246 /* 138578 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49247 /* 138580 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
49248 /* 138587 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
49249 /* 138592 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49250 /* 138597 */ // GIR_Coverage, 19791,
49251 /* 138597 */ GIR_EraseRootFromParent_Done,
49252 /* 138598 */ // Label 2971: @138598
49253 /* 138598 */ GIM_Try, /*On fail goto*//*Label 2972*/ GIMT_Encode4(138739), // Rule ID 19795 //
49254 /* 138603 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasEVEX512_NoVLX),
49255 /* 138606 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49256 /* 138610 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
49257 /* 138614 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49258 /* 138620 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49259 /* 138622 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49260 /* 138624 */ // (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] })
49261 /* 138624 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
49262 /* 138627 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49263 /* 138631 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49264 /* 138636 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
49265 /* 138638 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
49266 /* 138641 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49267 /* 138645 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49268 /* 138650 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
49269 /* 138653 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
49270 /* 138657 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/12,
49271 /* 138660 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49272 /* 138665 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49273 /* 138670 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
49274 /* 138675 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s1,
49275 /* 138678 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49276 /* 138682 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49277 /* 138687 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
49278 /* 138691 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
49279 /* 138696 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
49280 /* 138699 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrkz),
49281 /* 138703 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49282 /* 138708 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
49283 /* 138711 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
49284 /* 138714 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
49285 /* 138716 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49286 /* 138719 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49287 /* 138721 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
49288 /* 138728 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
49289 /* 138733 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49290 /* 138738 */ // GIR_Coverage, 19795,
49291 /* 138738 */ GIR_EraseRootFromParent_Done,
49292 /* 138739 */ // Label 2972: @138739
49293 /* 138739 */ GIM_Try, /*On fail goto*//*Label 2973*/ GIMT_Encode4(138776), // Rule ID 19855 //
49294 /* 138744 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49295 /* 138747 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49296 /* 138751 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
49297 /* 138755 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49298 /* 138761 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49299 /* 138763 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49300 /* 138765 */ // (vselect:{ *:[v16f16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16f16] }:$src1, immAllZerosV:{ *:[v16f16] }) => (VMOVDQU16Z256rrkz:{ *:[v16f16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16f16] }:$src1)
49301 /* 138765 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rrkz),
49302 /* 138768 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49303 /* 138770 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49304 /* 138772 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49305 /* 138774 */ GIR_RootConstrainSelectedInstOperands,
49306 /* 138775 */ // GIR_Coverage, 19855,
49307 /* 138775 */ GIR_EraseRootFromParent_Done,
49308 /* 138776 */ // Label 2973: @138776
49309 /* 138776 */ GIM_Try, /*On fail goto*//*Label 2974*/ GIMT_Encode4(138805), // Rule ID 4568 //
49310 /* 138781 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49311 /* 138784 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49312 /* 138788 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49313 /* 138792 */ // (vselect:{ *:[v16i16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src0) => (VMOVDQU16Z256rrk:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src0, VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src1)
49314 /* 138792 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rrk),
49315 /* 138795 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49316 /* 138797 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
49317 /* 138799 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49318 /* 138801 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49319 /* 138803 */ GIR_RootConstrainSelectedInstOperands,
49320 /* 138804 */ // GIR_Coverage, 4568,
49321 /* 138804 */ GIR_EraseRootFromParent_Done,
49322 /* 138805 */ // Label 2974: @138805
49323 /* 138805 */ GIM_Try, /*On fail goto*//*Label 2975*/ GIMT_Encode4(138990), // Rule ID 19790 //
49324 /* 138810 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasEVEX512_NoVLX),
49325 /* 138813 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49326 /* 138817 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49327 /* 138821 */ // (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] })
49328 /* 138821 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
49329 /* 138824 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49330 /* 138828 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49331 /* 138833 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
49332 /* 138835 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
49333 /* 138838 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49334 /* 138842 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49335 /* 138847 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
49336 /* 138850 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
49337 /* 138854 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/12,
49338 /* 138857 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49339 /* 138862 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49340 /* 138867 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
49341 /* 138872 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s1,
49342 /* 138875 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49343 /* 138879 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49344 /* 138884 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
49345 /* 138888 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
49346 /* 138893 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
49347 /* 138896 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49348 /* 138900 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49349 /* 138905 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
49350 /* 138907 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
49351 /* 138910 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49352 /* 138914 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49353 /* 138919 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
49354 /* 138922 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
49355 /* 138926 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/12,
49356 /* 138929 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49357 /* 138934 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49358 /* 138939 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
49359 /* 138944 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
49360 /* 138947 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrk),
49361 /* 138951 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49362 /* 138956 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
49363 /* 138959 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
49364 /* 138962 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
49365 /* 138965 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
49366 /* 138967 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49367 /* 138970 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49368 /* 138972 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
49369 /* 138979 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
49370 /* 138984 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49371 /* 138989 */ // GIR_Coverage, 19790,
49372 /* 138989 */ GIR_EraseRootFromParent_Done,
49373 /* 138990 */ // Label 2975: @138990
49374 /* 138990 */ GIM_Try, /*On fail goto*//*Label 2976*/ GIMT_Encode4(139175), // Rule ID 19794 //
49375 /* 138995 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasEVEX512_NoVLX),
49376 /* 138998 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49377 /* 139002 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49378 /* 139006 */ // (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] })
49379 /* 139006 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
49380 /* 139009 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49381 /* 139013 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49382 /* 139018 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
49383 /* 139020 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
49384 /* 139023 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49385 /* 139027 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49386 /* 139032 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
49387 /* 139035 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
49388 /* 139039 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/12,
49389 /* 139042 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49390 /* 139047 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49391 /* 139052 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
49392 /* 139057 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s1,
49393 /* 139060 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49394 /* 139064 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49395 /* 139069 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
49396 /* 139073 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
49397 /* 139078 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
49398 /* 139081 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49399 /* 139085 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49400 /* 139090 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
49401 /* 139092 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
49402 /* 139095 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49403 /* 139099 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49404 /* 139104 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
49405 /* 139107 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
49406 /* 139111 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/12,
49407 /* 139114 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49408 /* 139119 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49409 /* 139124 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
49410 /* 139129 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
49411 /* 139132 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrk),
49412 /* 139136 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49413 /* 139141 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
49414 /* 139144 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
49415 /* 139147 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
49416 /* 139150 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
49417 /* 139152 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49418 /* 139155 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49419 /* 139157 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
49420 /* 139164 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
49421 /* 139169 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49422 /* 139174 */ // GIR_Coverage, 19794,
49423 /* 139174 */ GIR_EraseRootFromParent_Done,
49424 /* 139175 */ // Label 2976: @139175
49425 /* 139175 */ GIM_Try, /*On fail goto*//*Label 2977*/ GIMT_Encode4(139204), // Rule ID 19854 //
49426 /* 139180 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49427 /* 139183 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49428 /* 139187 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49429 /* 139191 */ // (vselect:{ *:[v16f16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src0) => (VMOVDQU16Z256rrk:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src0, VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16f16] }:$src1)
49430 /* 139191 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rrk),
49431 /* 139194 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49432 /* 139196 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
49433 /* 139198 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49434 /* 139200 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49435 /* 139202 */ GIR_RootConstrainSelectedInstOperands,
49436 /* 139203 */ // GIR_Coverage, 19854,
49437 /* 139203 */ GIR_EraseRootFromParent_Done,
49438 /* 139204 */ // Label 2977: @139204
49439 /* 139204 */ GIM_Reject,
49440 /* 139205 */ // Label 2965: @139205
49441 /* 139205 */ GIM_Reject,
49442 /* 139206 */ // Label 2898: @139206
49443 /* 139206 */ GIM_Try, /*On fail goto*//*Label 2978*/ GIMT_Encode4(139546),
49444 /* 139211 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
49445 /* 139214 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
49446 /* 139217 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
49447 /* 139220 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49448 /* 139224 */ GIM_Try, /*On fail goto*//*Label 2979*/ GIMT_Encode4(139293), // Rule ID 19767 //
49449 /* 139229 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49450 /* 139233 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
49451 /* 139237 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
49452 /* 139241 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s1,
49453 /* 139245 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
49454 /* 139250 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
49455 /* 139254 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49456 /* 139260 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
49457 /* 139262 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/0, /*OpIdx*/2, // MIs[3]
49458 /* 139266 */ GIM_CheckOpcodeIsEither, /*MI*/3, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49459 /* 139272 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/3,
49460 /* 139274 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49461 /* 139278 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
49462 /* 139280 */ // (vselect:{ *:[v16i32] } (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$mask, immAllOnesV:{ *:[v16i1] }), immAllZerosV:{ *:[v16i32] }, VR512:{ *:[v16i32] }:$src) => (VMOVDQA32Zrrkz:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src)
49463 /* 139280 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrkz),
49464 /* 139283 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49465 /* 139285 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // mask
49466 /* 139289 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
49467 /* 139291 */ GIR_RootConstrainSelectedInstOperands,
49468 /* 139292 */ // GIR_Coverage, 19767,
49469 /* 139292 */ GIR_EraseRootFromParent_Done,
49470 /* 139293 */ // Label 2979: @139293
49471 /* 139293 */ GIM_Try, /*On fail goto*//*Label 2980*/ GIMT_Encode4(139340), // Rule ID 3598 //
49472 /* 139298 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
49473 /* 139301 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
49474 /* 139305 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49475 /* 139309 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49476 /* 139315 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
49477 /* 139317 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
49478 /* 139321 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49479 /* 139327 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
49480 /* 139329 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
49481 /* 139331 */ // (vselect:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, immAllOnesV:{ *:[v16i32] }, immAllZerosV:{ *:[v16i32] }) => (AVX512_512_SEXT_MASK_32:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask)
49482 /* 139331 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AVX512_512_SEXT_MASK_32),
49483 /* 139334 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49484 /* 139336 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49485 /* 139338 */ GIR_RootConstrainSelectedInstOperands,
49486 /* 139339 */ // GIR_Coverage, 3598,
49487 /* 139339 */ GIR_EraseRootFromParent_Done,
49488 /* 139340 */ // Label 2980: @139340
49489 /* 139340 */ GIM_Try, /*On fail goto*//*Label 2981*/ GIMT_Encode4(139397), // Rule ID 19765 //
49490 /* 139345 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
49491 /* 139349 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49492 /* 139353 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49493 /* 139359 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49494 /* 139361 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49495 /* 139365 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49496 /* 139367 */ // (vselect:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, immAllZerosV:{ *:[v16i32] }, VR512:{ *:[v16i32] }:$src) => (VMOVDQA32Zrrkz:{ *:[v16i32] } (KNOTWkk:{ *:[v16i1] } VK16WM:{ *:[v16i1] }:$mask), VR512:{ *:[v16i32] }:$src)
49497 /* 139367 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
49498 /* 139370 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
49499 /* 139374 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49500 /* 139379 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // mask
49501 /* 139383 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
49502 /* 139385 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrkz),
49503 /* 139388 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49504 /* 139390 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
49505 /* 139393 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
49506 /* 139395 */ GIR_RootConstrainSelectedInstOperands,
49507 /* 139396 */ // GIR_Coverage, 19765,
49508 /* 139396 */ GIR_EraseRootFromParent_Done,
49509 /* 139397 */ // Label 2981: @139397
49510 /* 139397 */ GIM_Try, /*On fail goto*//*Label 2982*/ GIMT_Encode4(139438), // Rule ID 4461 //
49511 /* 139402 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
49512 /* 139405 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
49513 /* 139409 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49514 /* 139413 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
49515 /* 139417 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49516 /* 139423 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49517 /* 139425 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49518 /* 139427 */ // (vselect:{ *:[v16f32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src, immAllZerosV:{ *:[v16f32] }) => (VMOVAPSZrrkz:{ *:[v16f32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src)
49519 /* 139427 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrrkz),
49520 /* 139430 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49521 /* 139432 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49522 /* 139434 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
49523 /* 139436 */ GIR_RootConstrainSelectedInstOperands,
49524 /* 139437 */ // GIR_Coverage, 4461,
49525 /* 139437 */ GIR_EraseRootFromParent_Done,
49526 /* 139438 */ // Label 2982: @139438
49527 /* 139438 */ GIM_Try, /*On fail goto*//*Label 2983*/ GIMT_Encode4(139479), // Rule ID 4521 //
49528 /* 139443 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
49529 /* 139446 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
49530 /* 139450 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49531 /* 139454 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
49532 /* 139458 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49533 /* 139464 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49534 /* 139466 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49535 /* 139468 */ // (vselect:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src, immAllZerosV:{ *:[v16i32] }) => (VMOVDQA32Zrrkz:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src)
49536 /* 139468 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrkz),
49537 /* 139471 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49538 /* 139473 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49539 /* 139475 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
49540 /* 139477 */ GIR_RootConstrainSelectedInstOperands,
49541 /* 139478 */ // GIR_Coverage, 4521,
49542 /* 139478 */ GIR_EraseRootFromParent_Done,
49543 /* 139479 */ // Label 2983: @139479
49544 /* 139479 */ GIM_Try, /*On fail goto*//*Label 2984*/ GIMT_Encode4(139512), // Rule ID 4463 //
49545 /* 139484 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
49546 /* 139487 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
49547 /* 139491 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49548 /* 139495 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49549 /* 139499 */ // (vselect:{ *:[v16f32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src0) => (VMOVAPSZrrk:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src0, VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src1)
49550 /* 139499 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrrk),
49551 /* 139502 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49552 /* 139504 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
49553 /* 139506 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49554 /* 139508 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49555 /* 139510 */ GIR_RootConstrainSelectedInstOperands,
49556 /* 139511 */ // GIR_Coverage, 4463,
49557 /* 139511 */ GIR_EraseRootFromParent_Done,
49558 /* 139512 */ // Label 2984: @139512
49559 /* 139512 */ GIM_Try, /*On fail goto*//*Label 2985*/ GIMT_Encode4(139545), // Rule ID 4522 //
49560 /* 139517 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
49561 /* 139520 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
49562 /* 139524 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49563 /* 139528 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49564 /* 139532 */ // (vselect:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src0) => (VMOVDQA32Zrrk:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src0, VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src1)
49565 /* 139532 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrk),
49566 /* 139535 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49567 /* 139537 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
49568 /* 139539 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49569 /* 139541 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49570 /* 139543 */ GIR_RootConstrainSelectedInstOperands,
49571 /* 139544 */ // GIR_Coverage, 4522,
49572 /* 139544 */ GIR_EraseRootFromParent_Done,
49573 /* 139545 */ // Label 2985: @139545
49574 /* 139545 */ GIM_Reject,
49575 /* 139546 */ // Label 2978: @139546
49576 /* 139546 */ GIM_Reject,
49577 /* 139547 */ // Label 2899: @139547
49578 /* 139547 */ GIM_Try, /*On fail goto*//*Label 2986*/ GIMT_Encode4(139950),
49579 /* 139552 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
49580 /* 139555 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
49581 /* 139558 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s8,
49582 /* 139561 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49583 /* 139565 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32WMRegClassID),
49584 /* 139569 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49585 /* 139573 */ GIM_Try, /*On fail goto*//*Label 2987*/ GIMT_Encode4(139606), // Rule ID 4555 //
49586 /* 139578 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49587 /* 139581 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
49588 /* 139585 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49589 /* 139591 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49590 /* 139593 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49591 /* 139595 */ // (vselect:{ *:[v32i8] } VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src, immAllZerosV:{ *:[v32i8] }) => (VMOVDQU8Z256rrkz:{ *:[v32i8] } VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src)
49592 /* 139595 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Z256rrkz),
49593 /* 139598 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49594 /* 139600 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49595 /* 139602 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
49596 /* 139604 */ GIR_RootConstrainSelectedInstOperands,
49597 /* 139605 */ // GIR_Coverage, 4555,
49598 /* 139605 */ GIR_EraseRootFromParent_Done,
49599 /* 139606 */ // Label 2987: @139606
49600 /* 139606 */ GIM_Try, /*On fail goto*//*Label 2988*/ GIMT_Encode4(139743), // Rule ID 19787 //
49601 /* 139611 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasEVEX512_NoVLX),
49602 /* 139614 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
49603 /* 139618 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49604 /* 139624 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49605 /* 139626 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49606 /* 139628 */ // (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] })
49607 /* 139628 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v64s8,
49608 /* 139631 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49609 /* 139635 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49610 /* 139640 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
49611 /* 139642 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
49612 /* 139645 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49613 /* 139649 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49614 /* 139654 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
49615 /* 139657 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
49616 /* 139661 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/12,
49617 /* 139664 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49618 /* 139669 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49619 /* 139674 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
49620 /* 139679 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s1,
49621 /* 139682 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49622 /* 139686 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49623 /* 139691 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
49624 /* 139695 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK64WMRegClassID),
49625 /* 139700 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
49626 /* 139703 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Zrrkz),
49627 /* 139707 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49628 /* 139712 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
49629 /* 139715 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
49630 /* 139718 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
49631 /* 139720 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49632 /* 139723 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49633 /* 139725 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
49634 /* 139732 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
49635 /* 139737 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49636 /* 139742 */ // GIR_Coverage, 19787,
49637 /* 139742 */ GIR_EraseRootFromParent_Done,
49638 /* 139743 */ // Label 2988: @139743
49639 /* 139743 */ GIM_Try, /*On fail goto*//*Label 2989*/ GIMT_Encode4(139768), // Rule ID 4556 //
49640 /* 139748 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49641 /* 139751 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49642 /* 139755 */ // (vselect:{ *:[v32i8] } VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src0) => (VMOVDQU8Z256rrk:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src0, VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src1)
49643 /* 139755 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Z256rrk),
49644 /* 139758 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49645 /* 139760 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
49646 /* 139762 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49647 /* 139764 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49648 /* 139766 */ GIR_RootConstrainSelectedInstOperands,
49649 /* 139767 */ // GIR_Coverage, 4556,
49650 /* 139767 */ GIR_EraseRootFromParent_Done,
49651 /* 139768 */ // Label 2989: @139768
49652 /* 139768 */ GIM_Try, /*On fail goto*//*Label 2990*/ GIMT_Encode4(139949), // Rule ID 19786 //
49653 /* 139773 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasEVEX512_NoVLX),
49654 /* 139776 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49655 /* 139780 */ // (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] })
49656 /* 139780 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v64s8,
49657 /* 139783 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49658 /* 139787 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49659 /* 139792 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
49660 /* 139794 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v64s8,
49661 /* 139797 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49662 /* 139801 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49663 /* 139806 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
49664 /* 139809 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
49665 /* 139813 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/12,
49666 /* 139816 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49667 /* 139821 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49668 /* 139826 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
49669 /* 139831 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v64s1,
49670 /* 139834 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49671 /* 139838 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49672 /* 139843 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
49673 /* 139847 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK64WMRegClassID),
49674 /* 139852 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
49675 /* 139855 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49676 /* 139859 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49677 /* 139864 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
49678 /* 139866 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s8,
49679 /* 139869 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49680 /* 139873 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49681 /* 139878 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
49682 /* 139881 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
49683 /* 139885 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/12,
49684 /* 139888 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49685 /* 139893 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49686 /* 139898 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
49687 /* 139903 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
49688 /* 139906 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Zrrk),
49689 /* 139910 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
49690 /* 139915 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
49691 /* 139918 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
49692 /* 139921 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
49693 /* 139924 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
49694 /* 139926 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49695 /* 139929 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49696 /* 139931 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
49697 /* 139938 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
49698 /* 139943 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49699 /* 139948 */ // GIR_Coverage, 19786,
49700 /* 139948 */ GIR_EraseRootFromParent_Done,
49701 /* 139949 */ // Label 2990: @139949
49702 /* 139949 */ GIM_Reject,
49703 /* 139950 */ // Label 2986: @139950
49704 /* 139950 */ GIM_Reject,
49705 /* 139951 */ // Label 2900: @139951
49706 /* 139951 */ GIM_Try, /*On fail goto*//*Label 2991*/ GIMT_Encode4(140368),
49707 /* 139956 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
49708 /* 139959 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
49709 /* 139962 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s16,
49710 /* 139965 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49711 /* 139969 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32WMRegClassID),
49712 /* 139973 */ GIM_Try, /*On fail goto*//*Label 2992*/ GIMT_Encode4(140044), // Rule ID 19847 //
49713 /* 139978 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
49714 /* 139981 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49715 /* 139985 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49716 /* 139989 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49717 /* 139992 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49718 /* 139996 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49719 /* 140000 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
49720 /* 140004 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
49721 /* 140008 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49722 /* 140014 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
49723 /* 140016 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
49724 /* 140018 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49725 /* 140025 */ // (vselect:{ *:[v32f16] } VK32WM:{ *:[v32i1] }:$mask, (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>>, immAllZerosV:{ *:[v32f16] }) => (VMOVDQU16Zrmkz:{ *:[v32f16] } VK32WM:{ *:[v32i1] }:$mask, addr:{ *:[iPTR] }:$src)
49726 /* 140025 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrmkz),
49727 /* 140028 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49728 /* 140030 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49729 /* 140032 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
49730 /* 140036 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
49731 /* 140042 */ GIR_RootConstrainSelectedInstOperands,
49732 /* 140043 */ // GIR_Coverage, 19847,
49733 /* 140043 */ GIR_EraseRootFromParent_Done,
49734 /* 140044 */ // Label 2992: @140044
49735 /* 140044 */ GIM_Try, /*On fail goto*//*Label 2993*/ GIMT_Encode4(140111), // Rule ID 19849 //
49736 /* 140049 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
49737 /* 140052 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49738 /* 140056 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49739 /* 140060 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49740 /* 140063 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49741 /* 140067 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49742 /* 140071 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
49743 /* 140075 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49744 /* 140081 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
49745 /* 140083 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
49746 /* 140085 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49747 /* 140092 */ // (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)
49748 /* 140092 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrmkz),
49749 /* 140095 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49750 /* 140097 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49751 /* 140099 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
49752 /* 140103 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
49753 /* 140109 */ GIR_RootConstrainSelectedInstOperands,
49754 /* 140110 */ // GIR_Coverage, 19849,
49755 /* 140110 */ GIR_EraseRootFromParent_Done,
49756 /* 140111 */ // Label 2993: @140111
49757 /* 140111 */ GIM_Try, /*On fail goto*//*Label 2994*/ GIMT_Encode4(140175), // Rule ID 19846 //
49758 /* 140116 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
49759 /* 140119 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49760 /* 140123 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49761 /* 140127 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49762 /* 140130 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49763 /* 140134 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49764 /* 140138 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
49765 /* 140142 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49766 /* 140146 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49767 /* 140148 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49768 /* 140155 */ // (vselect:{ *:[v32f16] } VK32WM:{ *:[v32i1] }:$mask, (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>>, VR512:{ *:[v32f16] }:$src0) => (VMOVDQU16Zrmk:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src0, VK32WM:{ *:[v32i1] }:$mask, addr:{ *:[iPTR] }:$src)
49769 /* 140155 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrmk),
49770 /* 140158 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49771 /* 140160 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
49772 /* 140162 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49773 /* 140164 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
49774 /* 140168 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49775 /* 140173 */ GIR_RootConstrainSelectedInstOperands,
49776 /* 140174 */ // GIR_Coverage, 19846,
49777 /* 140174 */ GIR_EraseRootFromParent_Done,
49778 /* 140175 */ // Label 2994: @140175
49779 /* 140175 */ GIM_Try, /*On fail goto*//*Label 2995*/ GIMT_Encode4(140235), // Rule ID 19848 //
49780 /* 140180 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
49781 /* 140183 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49782 /* 140187 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49783 /* 140191 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49784 /* 140194 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49785 /* 140198 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49786 /* 140202 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49787 /* 140206 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49788 /* 140208 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49789 /* 140215 */ // (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)
49790 /* 140215 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrmk),
49791 /* 140218 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49792 /* 140220 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
49793 /* 140222 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49794 /* 140224 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
49795 /* 140228 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49796 /* 140233 */ GIR_RootConstrainSelectedInstOperands,
49797 /* 140234 */ // GIR_Coverage, 19848,
49798 /* 140234 */ GIR_EraseRootFromParent_Done,
49799 /* 140235 */ // Label 2995: @140235
49800 /* 140235 */ GIM_Try, /*On fail goto*//*Label 2996*/ GIMT_Encode4(140272), // Rule ID 4563 //
49801 /* 140240 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
49802 /* 140243 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49803 /* 140247 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
49804 /* 140251 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49805 /* 140257 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49806 /* 140259 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49807 /* 140261 */ // (vselect:{ *:[v32i16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src, immAllZerosV:{ *:[v32i16] }) => (VMOVDQU16Zrrkz:{ *:[v32i16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src)
49808 /* 140261 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrkz),
49809 /* 140264 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49810 /* 140266 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49811 /* 140268 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
49812 /* 140270 */ GIR_RootConstrainSelectedInstOperands,
49813 /* 140271 */ // GIR_Coverage, 4563,
49814 /* 140271 */ GIR_EraseRootFromParent_Done,
49815 /* 140272 */ // Label 2996: @140272
49816 /* 140272 */ GIM_Try, /*On fail goto*//*Label 2997*/ GIMT_Encode4(140309), // Rule ID 19845 //
49817 /* 140277 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
49818 /* 140280 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49819 /* 140284 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
49820 /* 140288 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49821 /* 140294 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49822 /* 140296 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49823 /* 140298 */ // (vselect:{ *:[v32f16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32f16] }:$src1, immAllZerosV:{ *:[v32f16] }) => (VMOVDQU16Zrrkz:{ *:[v32f16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32f16] }:$src1)
49824 /* 140298 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrkz),
49825 /* 140301 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49826 /* 140303 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49827 /* 140305 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49828 /* 140307 */ GIR_RootConstrainSelectedInstOperands,
49829 /* 140308 */ // GIR_Coverage, 19845,
49830 /* 140308 */ GIR_EraseRootFromParent_Done,
49831 /* 140309 */ // Label 2997: @140309
49832 /* 140309 */ GIM_Try, /*On fail goto*//*Label 2998*/ GIMT_Encode4(140338), // Rule ID 4564 //
49833 /* 140314 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
49834 /* 140317 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49835 /* 140321 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49836 /* 140325 */ // (vselect:{ *:[v32i16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src0) => (VMOVDQU16Zrrk:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src0, VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src1)
49837 /* 140325 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrk),
49838 /* 140328 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49839 /* 140330 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
49840 /* 140332 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49841 /* 140334 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49842 /* 140336 */ GIR_RootConstrainSelectedInstOperands,
49843 /* 140337 */ // GIR_Coverage, 4564,
49844 /* 140337 */ GIR_EraseRootFromParent_Done,
49845 /* 140338 */ // Label 2998: @140338
49846 /* 140338 */ GIM_Try, /*On fail goto*//*Label 2999*/ GIMT_Encode4(140367), // Rule ID 19844 //
49847 /* 140343 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
49848 /* 140346 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49849 /* 140350 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49850 /* 140354 */ // (vselect:{ *:[v32f16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src0) => (VMOVDQU16Zrrk:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src0, VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32f16] }:$src1)
49851 /* 140354 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrk),
49852 /* 140357 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49853 /* 140359 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
49854 /* 140361 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49855 /* 140363 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49856 /* 140365 */ GIR_RootConstrainSelectedInstOperands,
49857 /* 140366 */ // GIR_Coverage, 19844,
49858 /* 140366 */ GIR_EraseRootFromParent_Done,
49859 /* 140367 */ // Label 2999: @140367
49860 /* 140367 */ GIM_Reject,
49861 /* 140368 */ // Label 2991: @140368
49862 /* 140368 */ GIM_Reject,
49863 /* 140369 */ // Label 2901: @140369
49864 /* 140369 */ GIM_Try, /*On fail goto*//*Label 3000*/ GIMT_Encode4(140454),
49865 /* 140374 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
49866 /* 140377 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
49867 /* 140380 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v64s8,
49868 /* 140383 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49869 /* 140387 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64WMRegClassID),
49870 /* 140391 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49871 /* 140395 */ GIM_Try, /*On fail goto*//*Label 3001*/ GIMT_Encode4(140428), // Rule ID 4551 //
49872 /* 140400 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
49873 /* 140403 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
49874 /* 140407 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49875 /* 140413 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49876 /* 140415 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49877 /* 140417 */ // (vselect:{ *:[v64i8] } VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src, immAllZerosV:{ *:[v64i8] }) => (VMOVDQU8Zrrkz:{ *:[v64i8] } VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src)
49878 /* 140417 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Zrrkz),
49879 /* 140420 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49880 /* 140422 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49881 /* 140424 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
49882 /* 140426 */ GIR_RootConstrainSelectedInstOperands,
49883 /* 140427 */ // GIR_Coverage, 4551,
49884 /* 140427 */ GIR_EraseRootFromParent_Done,
49885 /* 140428 */ // Label 3001: @140428
49886 /* 140428 */ GIM_Try, /*On fail goto*//*Label 3002*/ GIMT_Encode4(140453), // Rule ID 4552 //
49887 /* 140433 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
49888 /* 140436 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49889 /* 140440 */ // (vselect:{ *:[v64i8] } VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src0) => (VMOVDQU8Zrrk:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src0, VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src1)
49890 /* 140440 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Zrrk),
49891 /* 140443 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49892 /* 140445 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
49893 /* 140447 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49894 /* 140449 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49895 /* 140451 */ GIR_RootConstrainSelectedInstOperands,
49896 /* 140452 */ // GIR_Coverage, 4552,
49897 /* 140452 */ GIR_EraseRootFromParent_Done,
49898 /* 140453 */ // Label 3002: @140453
49899 /* 140453 */ GIM_Reject,
49900 /* 140454 */ // Label 3000: @140454
49901 /* 140454 */ GIM_Reject,
49902 /* 140455 */ // Label 2902: @140455
49903 /* 140455 */ GIM_Reject,
49904 /* 140456 */ // Label 35: @140456
49905 /* 140456 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(23), /*)*//*default:*//*Label 3006*/ GIMT_Encode4(141320),
49906 /* 140467 */ /*GILLT_v8s16*//*Label 3003*/ GIMT_Encode4(140507), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
49907 /* 140487 */ /*GILLT_v16s16*//*Label 3004*/ GIMT_Encode4(140849), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
49908 /* 140503 */ /*GILLT_v32s16*//*Label 3005*/ GIMT_Encode4(141164),
49909 /* 140507 */ // Label 3003: @140507
49910 /* 140507 */ GIM_Try, /*On fail goto*//*Label 3007*/ GIMT_Encode4(140848),
49911 /* 140512 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
49912 /* 140515 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
49913 /* 140518 */ GIM_Try, /*On fail goto*//*Label 3008*/ GIMT_Encode4(140580), // Rule ID 23456 //
49914 /* 140523 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
49915 /* 140526 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49916 /* 140530 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49917 /* 140534 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49918 /* 140538 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49919 /* 140541 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49920 /* 140545 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49921 /* 140549 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49922 /* 140553 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49923 /* 140555 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49924 /* 140562 */ // (mulhu:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMULHUWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49925 /* 140562 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWrm),
49926 /* 140565 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49927 /* 140567 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49928 /* 140569 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49929 /* 140573 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49930 /* 140578 */ GIR_RootConstrainSelectedInstOperands,
49931 /* 140579 */ // GIR_Coverage, 23456,
49932 /* 140579 */ GIR_EraseRootFromParent_Done,
49933 /* 140580 */ // Label 3008: @140580
49934 /* 140580 */ GIM_Try, /*On fail goto*//*Label 3009*/ GIMT_Encode4(140642), // Rule ID 23846 //
49935 /* 140585 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49936 /* 140588 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49937 /* 140592 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49938 /* 140596 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49939 /* 140600 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49940 /* 140603 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49941 /* 140607 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49942 /* 140611 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49943 /* 140615 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49944 /* 140617 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49945 /* 140624 */ // (mulhu:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMULHUWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49946 /* 140624 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZ128rm),
49947 /* 140627 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49948 /* 140629 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49949 /* 140631 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49950 /* 140635 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49951 /* 140640 */ GIR_RootConstrainSelectedInstOperands,
49952 /* 140641 */ // GIR_Coverage, 23846,
49953 /* 140641 */ GIR_EraseRootFromParent_Done,
49954 /* 140642 */ // Label 3009: @140642
49955 /* 140642 */ GIM_Try, /*On fail goto*//*Label 3010*/ GIMT_Encode4(140704), // Rule ID 2577 //
49956 /* 140647 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
49957 /* 140650 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49958 /* 140654 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49959 /* 140658 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49960 /* 140662 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49961 /* 140666 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49962 /* 140669 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49963 /* 140673 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49964 /* 140677 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49965 /* 140679 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49966 /* 140686 */ // (mulhu:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHUWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49967 /* 140686 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWrm),
49968 /* 140689 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49969 /* 140691 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49970 /* 140693 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49971 /* 140697 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49972 /* 140702 */ GIR_RootConstrainSelectedInstOperands,
49973 /* 140703 */ // GIR_Coverage, 2577,
49974 /* 140703 */ GIR_EraseRootFromParent_Done,
49975 /* 140704 */ // Label 3010: @140704
49976 /* 140704 */ GIM_Try, /*On fail goto*//*Label 3011*/ GIMT_Encode4(140766), // Rule ID 5062 //
49977 /* 140709 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49978 /* 140712 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49979 /* 140716 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49980 /* 140720 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49981 /* 140724 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49982 /* 140728 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49983 /* 140731 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49984 /* 140735 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49985 /* 140739 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49986 /* 140741 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49987 /* 140748 */ // (mulhu:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHUWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49988 /* 140748 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZ128rm),
49989 /* 140751 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49990 /* 140753 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49991 /* 140755 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49992 /* 140759 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49993 /* 140764 */ GIR_RootConstrainSelectedInstOperands,
49994 /* 140765 */ // GIR_Coverage, 5062,
49995 /* 140765 */ GIR_EraseRootFromParent_Done,
49996 /* 140766 */ // Label 3011: @140766
49997 /* 140766 */ GIM_Try, /*On fail goto*//*Label 3012*/ GIMT_Encode4(140793), // Rule ID 2576 //
49998 /* 140771 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
49999 /* 140774 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50000 /* 140778 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50001 /* 140782 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50002 /* 140786 */ // (mulhu:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMULHUWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
50003 /* 140786 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHUWrr),
50004 /* 140791 */ GIR_RootConstrainSelectedInstOperands,
50005 /* 140792 */ // GIR_Coverage, 2576,
50006 /* 140792 */ GIR_Done,
50007 /* 140793 */ // Label 3012: @140793
50008 /* 140793 */ GIM_Try, /*On fail goto*//*Label 3013*/ GIMT_Encode4(140820), // Rule ID 2578 //
50009 /* 140798 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
50010 /* 140801 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50011 /* 140805 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50012 /* 140809 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50013 /* 140813 */ // (mulhu:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMULHUWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
50014 /* 140813 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMULHUWrr),
50015 /* 140818 */ GIR_RootConstrainSelectedInstOperands,
50016 /* 140819 */ // GIR_Coverage, 2578,
50017 /* 140819 */ GIR_Done,
50018 /* 140820 */ // Label 3013: @140820
50019 /* 140820 */ GIM_Try, /*On fail goto*//*Label 3014*/ GIMT_Encode4(140847), // Rule ID 5059 //
50020 /* 140825 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50021 /* 140828 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50022 /* 140832 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50023 /* 140836 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50024 /* 140840 */ // (mulhu:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMULHUWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
50025 /* 140840 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZ128rr),
50026 /* 140845 */ GIR_RootConstrainSelectedInstOperands,
50027 /* 140846 */ // GIR_Coverage, 5059,
50028 /* 140846 */ GIR_Done,
50029 /* 140847 */ // Label 3014: @140847
50030 /* 140847 */ GIM_Reject,
50031 /* 140848 */ // Label 3007: @140848
50032 /* 140848 */ GIM_Reject,
50033 /* 140849 */ // Label 3004: @140849
50034 /* 140849 */ GIM_Try, /*On fail goto*//*Label 3015*/ GIMT_Encode4(141163),
50035 /* 140854 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
50036 /* 140857 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
50037 /* 140860 */ GIM_Try, /*On fail goto*//*Label 3016*/ GIMT_Encode4(140922), // Rule ID 23458 //
50038 /* 140865 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
50039 /* 140868 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50040 /* 140872 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50041 /* 140876 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50042 /* 140880 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50043 /* 140883 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50044 /* 140887 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50045 /* 140891 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50046 /* 140895 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50047 /* 140897 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50048 /* 140904 */ // (mulhu:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMULHUWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50049 /* 140904 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWYrm),
50050 /* 140907 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50051 /* 140909 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50052 /* 140911 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50053 /* 140915 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50054 /* 140920 */ GIR_RootConstrainSelectedInstOperands,
50055 /* 140921 */ // GIR_Coverage, 23458,
50056 /* 140921 */ GIR_EraseRootFromParent_Done,
50057 /* 140922 */ // Label 3016: @140922
50058 /* 140922 */ GIM_Try, /*On fail goto*//*Label 3017*/ GIMT_Encode4(140984), // Rule ID 23843 //
50059 /* 140927 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50060 /* 140930 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50061 /* 140934 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50062 /* 140938 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50063 /* 140942 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50064 /* 140945 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50065 /* 140949 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50066 /* 140953 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50067 /* 140957 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50068 /* 140959 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50069 /* 140966 */ // (mulhu:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMULHUWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50070 /* 140966 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZ256rm),
50071 /* 140969 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50072 /* 140971 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50073 /* 140973 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50074 /* 140977 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50075 /* 140982 */ GIR_RootConstrainSelectedInstOperands,
50076 /* 140983 */ // GIR_Coverage, 23843,
50077 /* 140983 */ GIR_EraseRootFromParent_Done,
50078 /* 140984 */ // Label 3017: @140984
50079 /* 140984 */ GIM_Try, /*On fail goto*//*Label 3018*/ GIMT_Encode4(141046), // Rule ID 2581 //
50080 /* 140989 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
50081 /* 140992 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50082 /* 140996 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50083 /* 141000 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50084 /* 141004 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50085 /* 141008 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50086 /* 141011 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50087 /* 141015 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50088 /* 141019 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50089 /* 141021 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50090 /* 141028 */ // (mulhu:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHUWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50091 /* 141028 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWYrm),
50092 /* 141031 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50093 /* 141033 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50094 /* 141035 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50095 /* 141039 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50096 /* 141044 */ GIR_RootConstrainSelectedInstOperands,
50097 /* 141045 */ // GIR_Coverage, 2581,
50098 /* 141045 */ GIR_EraseRootFromParent_Done,
50099 /* 141046 */ // Label 3018: @141046
50100 /* 141046 */ GIM_Try, /*On fail goto*//*Label 3019*/ GIMT_Encode4(141108), // Rule ID 5056 //
50101 /* 141051 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50102 /* 141054 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50103 /* 141058 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50104 /* 141062 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50105 /* 141066 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50106 /* 141070 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50107 /* 141073 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50108 /* 141077 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50109 /* 141081 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50110 /* 141083 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50111 /* 141090 */ // (mulhu:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHUWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50112 /* 141090 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZ256rm),
50113 /* 141093 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50114 /* 141095 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50115 /* 141097 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50116 /* 141101 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50117 /* 141106 */ GIR_RootConstrainSelectedInstOperands,
50118 /* 141107 */ // GIR_Coverage, 5056,
50119 /* 141107 */ GIR_EraseRootFromParent_Done,
50120 /* 141108 */ // Label 3019: @141108
50121 /* 141108 */ GIM_Try, /*On fail goto*//*Label 3020*/ GIMT_Encode4(141135), // Rule ID 2580 //
50122 /* 141113 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
50123 /* 141116 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50124 /* 141120 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50125 /* 141124 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50126 /* 141128 */ // (mulhu:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMULHUWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
50127 /* 141128 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHUWYrr),
50128 /* 141133 */ GIR_RootConstrainSelectedInstOperands,
50129 /* 141134 */ // GIR_Coverage, 2580,
50130 /* 141134 */ GIR_Done,
50131 /* 141135 */ // Label 3020: @141135
50132 /* 141135 */ GIM_Try, /*On fail goto*//*Label 3021*/ GIMT_Encode4(141162), // Rule ID 5053 //
50133 /* 141140 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50134 /* 141143 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50135 /* 141147 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50136 /* 141151 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50137 /* 141155 */ // (mulhu:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMULHUWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
50138 /* 141155 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZ256rr),
50139 /* 141160 */ GIR_RootConstrainSelectedInstOperands,
50140 /* 141161 */ // GIR_Coverage, 5053,
50141 /* 141161 */ GIR_Done,
50142 /* 141162 */ // Label 3021: @141162
50143 /* 141162 */ GIM_Reject,
50144 /* 141163 */ // Label 3015: @141163
50145 /* 141163 */ GIM_Reject,
50146 /* 141164 */ // Label 3005: @141164
50147 /* 141164 */ GIM_Try, /*On fail goto*//*Label 3022*/ GIMT_Encode4(141319),
50148 /* 141169 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
50149 /* 141172 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
50150 /* 141175 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50151 /* 141179 */ GIM_Try, /*On fail goto*//*Label 3023*/ GIMT_Encode4(141237), // Rule ID 23840 //
50152 /* 141184 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
50153 /* 141187 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50154 /* 141191 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50155 /* 141195 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50156 /* 141198 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50157 /* 141202 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50158 /* 141206 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50159 /* 141210 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50160 /* 141212 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50161 /* 141219 */ // (mulhu:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMULHUWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50162 /* 141219 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZrm),
50163 /* 141222 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50164 /* 141224 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50165 /* 141226 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50166 /* 141230 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50167 /* 141235 */ GIR_RootConstrainSelectedInstOperands,
50168 /* 141236 */ // GIR_Coverage, 23840,
50169 /* 141236 */ GIR_EraseRootFromParent_Done,
50170 /* 141237 */ // Label 3023: @141237
50171 /* 141237 */ GIM_Try, /*On fail goto*//*Label 3024*/ GIMT_Encode4(141295), // Rule ID 5050 //
50172 /* 141242 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
50173 /* 141245 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50174 /* 141249 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50175 /* 141253 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50176 /* 141257 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50177 /* 141260 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50178 /* 141264 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50179 /* 141268 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50180 /* 141270 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50181 /* 141277 */ // (mulhu:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHUWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50182 /* 141277 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZrm),
50183 /* 141280 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50184 /* 141282 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50185 /* 141284 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50186 /* 141288 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50187 /* 141293 */ GIR_RootConstrainSelectedInstOperands,
50188 /* 141294 */ // GIR_Coverage, 5050,
50189 /* 141294 */ GIR_EraseRootFromParent_Done,
50190 /* 141295 */ // Label 3024: @141295
50191 /* 141295 */ GIM_Try, /*On fail goto*//*Label 3025*/ GIMT_Encode4(141318), // Rule ID 5047 //
50192 /* 141300 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
50193 /* 141303 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50194 /* 141307 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50195 /* 141311 */ // (mulhu:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMULHUWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
50196 /* 141311 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZrr),
50197 /* 141316 */ GIR_RootConstrainSelectedInstOperands,
50198 /* 141317 */ // GIR_Coverage, 5047,
50199 /* 141317 */ GIR_Done,
50200 /* 141318 */ // Label 3025: @141318
50201 /* 141318 */ GIM_Reject,
50202 /* 141319 */ // Label 3022: @141319
50203 /* 141319 */ GIM_Reject,
50204 /* 141320 */ // Label 3006: @141320
50205 /* 141320 */ GIM_Reject,
50206 /* 141321 */ // Label 36: @141321
50207 /* 141321 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(23), /*)*//*default:*//*Label 3029*/ GIMT_Encode4(142185),
50208 /* 141332 */ /*GILLT_v8s16*//*Label 3026*/ GIMT_Encode4(141372), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
50209 /* 141352 */ /*GILLT_v16s16*//*Label 3027*/ GIMT_Encode4(141714), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
50210 /* 141368 */ /*GILLT_v32s16*//*Label 3028*/ GIMT_Encode4(142029),
50211 /* 141372 */ // Label 3026: @141372
50212 /* 141372 */ GIM_Try, /*On fail goto*//*Label 3030*/ GIMT_Encode4(141713),
50213 /* 141377 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
50214 /* 141380 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
50215 /* 141383 */ GIM_Try, /*On fail goto*//*Label 3031*/ GIMT_Encode4(141445), // Rule ID 23459 //
50216 /* 141388 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
50217 /* 141391 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50218 /* 141395 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50219 /* 141399 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50220 /* 141403 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50221 /* 141406 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50222 /* 141410 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50223 /* 141414 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50224 /* 141418 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50225 /* 141420 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50226 /* 141427 */ // (mulhs:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMULHWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50227 /* 141427 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWrm),
50228 /* 141430 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50229 /* 141432 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50230 /* 141434 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50231 /* 141438 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50232 /* 141443 */ GIR_RootConstrainSelectedInstOperands,
50233 /* 141444 */ // GIR_Coverage, 23459,
50234 /* 141444 */ GIR_EraseRootFromParent_Done,
50235 /* 141445 */ // Label 3031: @141445
50236 /* 141445 */ GIM_Try, /*On fail goto*//*Label 3032*/ GIMT_Encode4(141507), // Rule ID 23837 //
50237 /* 141450 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50238 /* 141453 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50239 /* 141457 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50240 /* 141461 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50241 /* 141465 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50242 /* 141468 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50243 /* 141472 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50244 /* 141476 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50245 /* 141480 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50246 /* 141482 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50247 /* 141489 */ // (mulhs:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMULHWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50248 /* 141489 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWZ128rm),
50249 /* 141492 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50250 /* 141494 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50251 /* 141496 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50252 /* 141500 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50253 /* 141505 */ GIR_RootConstrainSelectedInstOperands,
50254 /* 141506 */ // GIR_Coverage, 23837,
50255 /* 141506 */ GIR_EraseRootFromParent_Done,
50256 /* 141507 */ // Label 3032: @141507
50257 /* 141507 */ GIM_Try, /*On fail goto*//*Label 3033*/ GIMT_Encode4(141569), // Rule ID 2583 //
50258 /* 141512 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
50259 /* 141515 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50260 /* 141519 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50261 /* 141523 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50262 /* 141527 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50263 /* 141531 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50264 /* 141534 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50265 /* 141538 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50266 /* 141542 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50267 /* 141544 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50268 /* 141551 */ // (mulhs:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50269 /* 141551 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWrm),
50270 /* 141554 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50271 /* 141556 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50272 /* 141558 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50273 /* 141562 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50274 /* 141567 */ GIR_RootConstrainSelectedInstOperands,
50275 /* 141568 */ // GIR_Coverage, 2583,
50276 /* 141568 */ GIR_EraseRootFromParent_Done,
50277 /* 141569 */ // Label 3033: @141569
50278 /* 141569 */ GIM_Try, /*On fail goto*//*Label 3034*/ GIMT_Encode4(141631), // Rule ID 5044 //
50279 /* 141574 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50280 /* 141577 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50281 /* 141581 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50282 /* 141585 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50283 /* 141589 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50284 /* 141593 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50285 /* 141596 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50286 /* 141600 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50287 /* 141604 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50288 /* 141606 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50289 /* 141613 */ // (mulhs:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50290 /* 141613 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWZ128rm),
50291 /* 141616 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50292 /* 141618 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50293 /* 141620 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50294 /* 141624 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50295 /* 141629 */ GIR_RootConstrainSelectedInstOperands,
50296 /* 141630 */ // GIR_Coverage, 5044,
50297 /* 141630 */ GIR_EraseRootFromParent_Done,
50298 /* 141631 */ // Label 3034: @141631
50299 /* 141631 */ GIM_Try, /*On fail goto*//*Label 3035*/ GIMT_Encode4(141658), // Rule ID 2582 //
50300 /* 141636 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
50301 /* 141639 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50302 /* 141643 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50303 /* 141647 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50304 /* 141651 */ // (mulhs:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMULHWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
50305 /* 141651 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHWrr),
50306 /* 141656 */ GIR_RootConstrainSelectedInstOperands,
50307 /* 141657 */ // GIR_Coverage, 2582,
50308 /* 141657 */ GIR_Done,
50309 /* 141658 */ // Label 3035: @141658
50310 /* 141658 */ GIM_Try, /*On fail goto*//*Label 3036*/ GIMT_Encode4(141685), // Rule ID 2584 //
50311 /* 141663 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
50312 /* 141666 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50313 /* 141670 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50314 /* 141674 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50315 /* 141678 */ // (mulhs:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMULHWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
50316 /* 141678 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMULHWrr),
50317 /* 141683 */ GIR_RootConstrainSelectedInstOperands,
50318 /* 141684 */ // GIR_Coverage, 2584,
50319 /* 141684 */ GIR_Done,
50320 /* 141685 */ // Label 3036: @141685
50321 /* 141685 */ GIM_Try, /*On fail goto*//*Label 3037*/ GIMT_Encode4(141712), // Rule ID 5041 //
50322 /* 141690 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50323 /* 141693 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50324 /* 141697 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50325 /* 141701 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50326 /* 141705 */ // (mulhs:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMULHWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
50327 /* 141705 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHWZ128rr),
50328 /* 141710 */ GIR_RootConstrainSelectedInstOperands,
50329 /* 141711 */ // GIR_Coverage, 5041,
50330 /* 141711 */ GIR_Done,
50331 /* 141712 */ // Label 3037: @141712
50332 /* 141712 */ GIM_Reject,
50333 /* 141713 */ // Label 3030: @141713
50334 /* 141713 */ GIM_Reject,
50335 /* 141714 */ // Label 3027: @141714
50336 /* 141714 */ GIM_Try, /*On fail goto*//*Label 3038*/ GIMT_Encode4(142028),
50337 /* 141719 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
50338 /* 141722 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
50339 /* 141725 */ GIM_Try, /*On fail goto*//*Label 3039*/ GIMT_Encode4(141787), // Rule ID 23461 //
50340 /* 141730 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
50341 /* 141733 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50342 /* 141737 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50343 /* 141741 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50344 /* 141745 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50345 /* 141748 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50346 /* 141752 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50347 /* 141756 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50348 /* 141760 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50349 /* 141762 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50350 /* 141769 */ // (mulhs:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMULHWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50351 /* 141769 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWYrm),
50352 /* 141772 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50353 /* 141774 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50354 /* 141776 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50355 /* 141780 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50356 /* 141785 */ GIR_RootConstrainSelectedInstOperands,
50357 /* 141786 */ // GIR_Coverage, 23461,
50358 /* 141786 */ GIR_EraseRootFromParent_Done,
50359 /* 141787 */ // Label 3039: @141787
50360 /* 141787 */ GIM_Try, /*On fail goto*//*Label 3040*/ GIMT_Encode4(141849), // Rule ID 23834 //
50361 /* 141792 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50362 /* 141795 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50363 /* 141799 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50364 /* 141803 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50365 /* 141807 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50366 /* 141810 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50367 /* 141814 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50368 /* 141818 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50369 /* 141822 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50370 /* 141824 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50371 /* 141831 */ // (mulhs:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMULHWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50372 /* 141831 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWZ256rm),
50373 /* 141834 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50374 /* 141836 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50375 /* 141838 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50376 /* 141842 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50377 /* 141847 */ GIR_RootConstrainSelectedInstOperands,
50378 /* 141848 */ // GIR_Coverage, 23834,
50379 /* 141848 */ GIR_EraseRootFromParent_Done,
50380 /* 141849 */ // Label 3040: @141849
50381 /* 141849 */ GIM_Try, /*On fail goto*//*Label 3041*/ GIMT_Encode4(141911), // Rule ID 2587 //
50382 /* 141854 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
50383 /* 141857 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50384 /* 141861 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50385 /* 141865 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50386 /* 141869 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50387 /* 141873 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50388 /* 141876 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50389 /* 141880 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50390 /* 141884 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50391 /* 141886 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50392 /* 141893 */ // (mulhs:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50393 /* 141893 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWYrm),
50394 /* 141896 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50395 /* 141898 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50396 /* 141900 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50397 /* 141904 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50398 /* 141909 */ GIR_RootConstrainSelectedInstOperands,
50399 /* 141910 */ // GIR_Coverage, 2587,
50400 /* 141910 */ GIR_EraseRootFromParent_Done,
50401 /* 141911 */ // Label 3041: @141911
50402 /* 141911 */ GIM_Try, /*On fail goto*//*Label 3042*/ GIMT_Encode4(141973), // Rule ID 5038 //
50403 /* 141916 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50404 /* 141919 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50405 /* 141923 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50406 /* 141927 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50407 /* 141931 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50408 /* 141935 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50409 /* 141938 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50410 /* 141942 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50411 /* 141946 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50412 /* 141948 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50413 /* 141955 */ // (mulhs:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50414 /* 141955 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWZ256rm),
50415 /* 141958 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50416 /* 141960 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50417 /* 141962 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50418 /* 141966 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50419 /* 141971 */ GIR_RootConstrainSelectedInstOperands,
50420 /* 141972 */ // GIR_Coverage, 5038,
50421 /* 141972 */ GIR_EraseRootFromParent_Done,
50422 /* 141973 */ // Label 3042: @141973
50423 /* 141973 */ GIM_Try, /*On fail goto*//*Label 3043*/ GIMT_Encode4(142000), // Rule ID 2586 //
50424 /* 141978 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
50425 /* 141981 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50426 /* 141985 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50427 /* 141989 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50428 /* 141993 */ // (mulhs:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMULHWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
50429 /* 141993 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHWYrr),
50430 /* 141998 */ GIR_RootConstrainSelectedInstOperands,
50431 /* 141999 */ // GIR_Coverage, 2586,
50432 /* 141999 */ GIR_Done,
50433 /* 142000 */ // Label 3043: @142000
50434 /* 142000 */ GIM_Try, /*On fail goto*//*Label 3044*/ GIMT_Encode4(142027), // Rule ID 5035 //
50435 /* 142005 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50436 /* 142008 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50437 /* 142012 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50438 /* 142016 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50439 /* 142020 */ // (mulhs:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMULHWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
50440 /* 142020 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHWZ256rr),
50441 /* 142025 */ GIR_RootConstrainSelectedInstOperands,
50442 /* 142026 */ // GIR_Coverage, 5035,
50443 /* 142026 */ GIR_Done,
50444 /* 142027 */ // Label 3044: @142027
50445 /* 142027 */ GIM_Reject,
50446 /* 142028 */ // Label 3038: @142028
50447 /* 142028 */ GIM_Reject,
50448 /* 142029 */ // Label 3028: @142029
50449 /* 142029 */ GIM_Try, /*On fail goto*//*Label 3045*/ GIMT_Encode4(142184),
50450 /* 142034 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
50451 /* 142037 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
50452 /* 142040 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50453 /* 142044 */ GIM_Try, /*On fail goto*//*Label 3046*/ GIMT_Encode4(142102), // Rule ID 23831 //
50454 /* 142049 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
50455 /* 142052 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50456 /* 142056 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50457 /* 142060 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50458 /* 142063 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50459 /* 142067 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50460 /* 142071 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50461 /* 142075 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50462 /* 142077 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50463 /* 142084 */ // (mulhs:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMULHWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50464 /* 142084 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWZrm),
50465 /* 142087 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50466 /* 142089 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50467 /* 142091 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50468 /* 142095 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50469 /* 142100 */ GIR_RootConstrainSelectedInstOperands,
50470 /* 142101 */ // GIR_Coverage, 23831,
50471 /* 142101 */ GIR_EraseRootFromParent_Done,
50472 /* 142102 */ // Label 3046: @142102
50473 /* 142102 */ GIM_Try, /*On fail goto*//*Label 3047*/ GIMT_Encode4(142160), // Rule ID 5032 //
50474 /* 142107 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
50475 /* 142110 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50476 /* 142114 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50477 /* 142118 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50478 /* 142122 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50479 /* 142125 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50480 /* 142129 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50481 /* 142133 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50482 /* 142135 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50483 /* 142142 */ // (mulhs:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50484 /* 142142 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWZrm),
50485 /* 142145 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50486 /* 142147 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50487 /* 142149 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50488 /* 142153 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50489 /* 142158 */ GIR_RootConstrainSelectedInstOperands,
50490 /* 142159 */ // GIR_Coverage, 5032,
50491 /* 142159 */ GIR_EraseRootFromParent_Done,
50492 /* 142160 */ // Label 3047: @142160
50493 /* 142160 */ GIM_Try, /*On fail goto*//*Label 3048*/ GIMT_Encode4(142183), // Rule ID 5029 //
50494 /* 142165 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
50495 /* 142168 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50496 /* 142172 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50497 /* 142176 */ // (mulhs:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMULHWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
50498 /* 142176 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHWZrr),
50499 /* 142181 */ GIR_RootConstrainSelectedInstOperands,
50500 /* 142182 */ // GIR_Coverage, 5029,
50501 /* 142182 */ GIR_Done,
50502 /* 142183 */ // Label 3048: @142183
50503 /* 142183 */ GIM_Reject,
50504 /* 142184 */ // Label 3045: @142184
50505 /* 142184 */ GIM_Reject,
50506 /* 142185 */ // Label 3029: @142185
50507 /* 142185 */ GIM_Reject,
50508 /* 142186 */ // Label 37: @142186
50509 /* 142186 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(25), /*)*//*default:*//*Label 3055*/ GIMT_Encode4(143871),
50510 /* 142197 */ /*GILLT_v8s16*//*Label 3049*/ GIMT_Encode4(142245), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
50511 /* 142213 */ /*GILLT_v16s8*//*Label 3050*/ GIMT_Encode4(142587),
50512 /* 142217 */ /*GILLT_v16s16*//*Label 3051*/ GIMT_Encode4(142929), GIMT_Encode4(0), GIMT_Encode4(0),
50513 /* 142229 */ /*GILLT_v32s8*//*Label 3052*/ GIMT_Encode4(143244),
50514 /* 142233 */ /*GILLT_v32s16*//*Label 3053*/ GIMT_Encode4(143559), GIMT_Encode4(0),
50515 /* 142241 */ /*GILLT_v64s8*//*Label 3054*/ GIMT_Encode4(143715),
50516 /* 142245 */ // Label 3049: @142245
50517 /* 142245 */ GIM_Try, /*On fail goto*//*Label 3056*/ GIMT_Encode4(142586),
50518 /* 142250 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
50519 /* 142253 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
50520 /* 142256 */ GIM_Try, /*On fail goto*//*Label 3057*/ GIMT_Encode4(142318), // Rule ID 23450 //
50521 /* 142261 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
50522 /* 142264 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50523 /* 142268 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50524 /* 142272 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50525 /* 142276 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50526 /* 142279 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50527 /* 142283 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50528 /* 142287 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50529 /* 142291 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50530 /* 142293 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50531 /* 142300 */ // (uaddsat:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPADDUSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50532 /* 142300 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWrm),
50533 /* 142303 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50534 /* 142305 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50535 /* 142307 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50536 /* 142311 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50537 /* 142316 */ GIR_RootConstrainSelectedInstOperands,
50538 /* 142317 */ // GIR_Coverage, 23450,
50539 /* 142317 */ GIR_EraseRootFromParent_Done,
50540 /* 142318 */ // Label 3057: @142318
50541 /* 142318 */ GIM_Try, /*On fail goto*//*Label 3058*/ GIMT_Encode4(142380), // Rule ID 23774 //
50542 /* 142323 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50543 /* 142326 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50544 /* 142330 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50545 /* 142334 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50546 /* 142338 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50547 /* 142341 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50548 /* 142345 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50549 /* 142349 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50550 /* 142353 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50551 /* 142355 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50552 /* 142362 */ // (uaddsat:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPADDUSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50553 /* 142362 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZ128rm),
50554 /* 142365 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50555 /* 142367 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50556 /* 142369 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50557 /* 142373 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50558 /* 142378 */ GIR_RootConstrainSelectedInstOperands,
50559 /* 142379 */ // GIR_Coverage, 23774,
50560 /* 142379 */ GIR_EraseRootFromParent_Done,
50561 /* 142380 */ // Label 3058: @142380
50562 /* 142380 */ GIM_Try, /*On fail goto*//*Label 3059*/ GIMT_Encode4(142442), // Rule ID 2565 //
50563 /* 142385 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
50564 /* 142388 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50565 /* 142392 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50566 /* 142396 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50567 /* 142400 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50568 /* 142404 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50569 /* 142407 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50570 /* 142411 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50571 /* 142415 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50572 /* 142417 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50573 /* 142424 */ // (uaddsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50574 /* 142424 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWrm),
50575 /* 142427 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50576 /* 142429 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50577 /* 142431 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50578 /* 142435 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50579 /* 142440 */ GIR_RootConstrainSelectedInstOperands,
50580 /* 142441 */ // GIR_Coverage, 2565,
50581 /* 142441 */ GIR_EraseRootFromParent_Done,
50582 /* 142442 */ // Label 3059: @142442
50583 /* 142442 */ GIM_Try, /*On fail goto*//*Label 3060*/ GIMT_Encode4(142504), // Rule ID 4900 //
50584 /* 142447 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50585 /* 142450 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50586 /* 142454 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50587 /* 142458 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50588 /* 142462 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50589 /* 142466 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50590 /* 142469 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50591 /* 142473 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50592 /* 142477 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50593 /* 142479 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50594 /* 142486 */ // (uaddsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50595 /* 142486 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZ128rm),
50596 /* 142489 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50597 /* 142491 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50598 /* 142493 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50599 /* 142497 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50600 /* 142502 */ GIR_RootConstrainSelectedInstOperands,
50601 /* 142503 */ // GIR_Coverage, 4900,
50602 /* 142503 */ GIR_EraseRootFromParent_Done,
50603 /* 142504 */ // Label 3060: @142504
50604 /* 142504 */ GIM_Try, /*On fail goto*//*Label 3061*/ GIMT_Encode4(142531), // Rule ID 2564 //
50605 /* 142509 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
50606 /* 142512 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50607 /* 142516 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50608 /* 142520 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50609 /* 142524 */ // (uaddsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPADDUSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
50610 /* 142524 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSWrr),
50611 /* 142529 */ GIR_RootConstrainSelectedInstOperands,
50612 /* 142530 */ // GIR_Coverage, 2564,
50613 /* 142530 */ GIR_Done,
50614 /* 142531 */ // Label 3061: @142531
50615 /* 142531 */ GIM_Try, /*On fail goto*//*Label 3062*/ GIMT_Encode4(142558), // Rule ID 2566 //
50616 /* 142536 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
50617 /* 142539 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50618 /* 142543 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50619 /* 142547 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50620 /* 142551 */ // (uaddsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PADDUSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
50621 /* 142551 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDUSWrr),
50622 /* 142556 */ GIR_RootConstrainSelectedInstOperands,
50623 /* 142557 */ // GIR_Coverage, 2566,
50624 /* 142557 */ GIR_Done,
50625 /* 142558 */ // Label 3062: @142558
50626 /* 142558 */ GIM_Try, /*On fail goto*//*Label 3063*/ GIMT_Encode4(142585), // Rule ID 4897 //
50627 /* 142563 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50628 /* 142566 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50629 /* 142570 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50630 /* 142574 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50631 /* 142578 */ // (uaddsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPADDUSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
50632 /* 142578 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZ128rr),
50633 /* 142583 */ GIR_RootConstrainSelectedInstOperands,
50634 /* 142584 */ // GIR_Coverage, 4897,
50635 /* 142584 */ GIR_Done,
50636 /* 142585 */ // Label 3063: @142585
50637 /* 142585 */ GIM_Reject,
50638 /* 142586 */ // Label 3056: @142586
50639 /* 142586 */ GIM_Reject,
50640 /* 142587 */ // Label 3050: @142587
50641 /* 142587 */ GIM_Try, /*On fail goto*//*Label 3064*/ GIMT_Encode4(142928),
50642 /* 142592 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
50643 /* 142595 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
50644 /* 142598 */ GIM_Try, /*On fail goto*//*Label 3065*/ GIMT_Encode4(142660), // Rule ID 23447 //
50645 /* 142603 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
50646 /* 142606 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50647 /* 142610 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50648 /* 142614 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50649 /* 142618 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50650 /* 142621 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50651 /* 142625 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50652 /* 142629 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50653 /* 142633 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50654 /* 142635 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50655 /* 142642 */ // (uaddsat:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPADDUSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50656 /* 142642 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBrm),
50657 /* 142645 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50658 /* 142647 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50659 /* 142649 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50660 /* 142653 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50661 /* 142658 */ GIR_RootConstrainSelectedInstOperands,
50662 /* 142659 */ // GIR_Coverage, 23447,
50663 /* 142659 */ GIR_EraseRootFromParent_Done,
50664 /* 142660 */ // Label 3065: @142660
50665 /* 142660 */ GIM_Try, /*On fail goto*//*Label 3066*/ GIMT_Encode4(142722), // Rule ID 23783 //
50666 /* 142665 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50667 /* 142668 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50668 /* 142672 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50669 /* 142676 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50670 /* 142680 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50671 /* 142683 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50672 /* 142687 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50673 /* 142691 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50674 /* 142695 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50675 /* 142697 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50676 /* 142704 */ // (uaddsat:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPADDUSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50677 /* 142704 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZ128rm),
50678 /* 142707 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50679 /* 142709 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50680 /* 142711 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50681 /* 142715 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50682 /* 142720 */ GIR_RootConstrainSelectedInstOperands,
50683 /* 142721 */ // GIR_Coverage, 23783,
50684 /* 142721 */ GIR_EraseRootFromParent_Done,
50685 /* 142722 */ // Label 3066: @142722
50686 /* 142722 */ GIM_Try, /*On fail goto*//*Label 3067*/ GIMT_Encode4(142784), // Rule ID 2559 //
50687 /* 142727 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
50688 /* 142730 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50689 /* 142734 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50690 /* 142738 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50691 /* 142742 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50692 /* 142746 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50693 /* 142749 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50694 /* 142753 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50695 /* 142757 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50696 /* 142759 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50697 /* 142766 */ // (uaddsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50698 /* 142766 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBrm),
50699 /* 142769 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50700 /* 142771 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50701 /* 142773 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50702 /* 142777 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50703 /* 142782 */ GIR_RootConstrainSelectedInstOperands,
50704 /* 142783 */ // GIR_Coverage, 2559,
50705 /* 142783 */ GIR_EraseRootFromParent_Done,
50706 /* 142784 */ // Label 3067: @142784
50707 /* 142784 */ GIM_Try, /*On fail goto*//*Label 3068*/ GIMT_Encode4(142846), // Rule ID 4918 //
50708 /* 142789 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50709 /* 142792 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50710 /* 142796 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50711 /* 142800 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50712 /* 142804 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50713 /* 142808 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50714 /* 142811 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50715 /* 142815 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50716 /* 142819 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50717 /* 142821 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50718 /* 142828 */ // (uaddsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50719 /* 142828 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZ128rm),
50720 /* 142831 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50721 /* 142833 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50722 /* 142835 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50723 /* 142839 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50724 /* 142844 */ GIR_RootConstrainSelectedInstOperands,
50725 /* 142845 */ // GIR_Coverage, 4918,
50726 /* 142845 */ GIR_EraseRootFromParent_Done,
50727 /* 142846 */ // Label 3068: @142846
50728 /* 142846 */ GIM_Try, /*On fail goto*//*Label 3069*/ GIMT_Encode4(142873), // Rule ID 2558 //
50729 /* 142851 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
50730 /* 142854 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50731 /* 142858 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50732 /* 142862 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50733 /* 142866 */ // (uaddsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPADDUSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
50734 /* 142866 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSBrr),
50735 /* 142871 */ GIR_RootConstrainSelectedInstOperands,
50736 /* 142872 */ // GIR_Coverage, 2558,
50737 /* 142872 */ GIR_Done,
50738 /* 142873 */ // Label 3069: @142873
50739 /* 142873 */ GIM_Try, /*On fail goto*//*Label 3070*/ GIMT_Encode4(142900), // Rule ID 2560 //
50740 /* 142878 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
50741 /* 142881 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50742 /* 142885 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50743 /* 142889 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50744 /* 142893 */ // (uaddsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PADDUSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
50745 /* 142893 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDUSBrr),
50746 /* 142898 */ GIR_RootConstrainSelectedInstOperands,
50747 /* 142899 */ // GIR_Coverage, 2560,
50748 /* 142899 */ GIR_Done,
50749 /* 142900 */ // Label 3070: @142900
50750 /* 142900 */ GIM_Try, /*On fail goto*//*Label 3071*/ GIMT_Encode4(142927), // Rule ID 4915 //
50751 /* 142905 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50752 /* 142908 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50753 /* 142912 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50754 /* 142916 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50755 /* 142920 */ // (uaddsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPADDUSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
50756 /* 142920 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZ128rr),
50757 /* 142925 */ GIR_RootConstrainSelectedInstOperands,
50758 /* 142926 */ // GIR_Coverage, 4915,
50759 /* 142926 */ GIR_Done,
50760 /* 142927 */ // Label 3071: @142927
50761 /* 142927 */ GIM_Reject,
50762 /* 142928 */ // Label 3064: @142928
50763 /* 142928 */ GIM_Reject,
50764 /* 142929 */ // Label 3051: @142929
50765 /* 142929 */ GIM_Try, /*On fail goto*//*Label 3072*/ GIMT_Encode4(143243),
50766 /* 142934 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
50767 /* 142937 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
50768 /* 142940 */ GIM_Try, /*On fail goto*//*Label 3073*/ GIMT_Encode4(143002), // Rule ID 23452 //
50769 /* 142945 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
50770 /* 142948 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50771 /* 142952 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50772 /* 142956 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50773 /* 142960 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50774 /* 142963 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50775 /* 142967 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50776 /* 142971 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50777 /* 142975 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50778 /* 142977 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50779 /* 142984 */ // (uaddsat:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPADDUSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50780 /* 142984 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWYrm),
50781 /* 142987 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50782 /* 142989 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50783 /* 142991 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50784 /* 142995 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50785 /* 143000 */ GIR_RootConstrainSelectedInstOperands,
50786 /* 143001 */ // GIR_Coverage, 23452,
50787 /* 143001 */ GIR_EraseRootFromParent_Done,
50788 /* 143002 */ // Label 3073: @143002
50789 /* 143002 */ GIM_Try, /*On fail goto*//*Label 3074*/ GIMT_Encode4(143064), // Rule ID 23771 //
50790 /* 143007 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50791 /* 143010 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50792 /* 143014 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50793 /* 143018 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50794 /* 143022 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50795 /* 143025 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50796 /* 143029 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50797 /* 143033 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50798 /* 143037 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50799 /* 143039 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50800 /* 143046 */ // (uaddsat:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPADDUSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50801 /* 143046 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZ256rm),
50802 /* 143049 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50803 /* 143051 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50804 /* 143053 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50805 /* 143057 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50806 /* 143062 */ GIR_RootConstrainSelectedInstOperands,
50807 /* 143063 */ // GIR_Coverage, 23771,
50808 /* 143063 */ GIR_EraseRootFromParent_Done,
50809 /* 143064 */ // Label 3074: @143064
50810 /* 143064 */ GIM_Try, /*On fail goto*//*Label 3075*/ GIMT_Encode4(143126), // Rule ID 2569 //
50811 /* 143069 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
50812 /* 143072 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50813 /* 143076 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50814 /* 143080 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50815 /* 143084 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50816 /* 143088 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50817 /* 143091 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50818 /* 143095 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50819 /* 143099 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50820 /* 143101 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50821 /* 143108 */ // (uaddsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50822 /* 143108 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWYrm),
50823 /* 143111 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50824 /* 143113 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50825 /* 143115 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50826 /* 143119 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50827 /* 143124 */ GIR_RootConstrainSelectedInstOperands,
50828 /* 143125 */ // GIR_Coverage, 2569,
50829 /* 143125 */ GIR_EraseRootFromParent_Done,
50830 /* 143126 */ // Label 3075: @143126
50831 /* 143126 */ GIM_Try, /*On fail goto*//*Label 3076*/ GIMT_Encode4(143188), // Rule ID 4894 //
50832 /* 143131 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50833 /* 143134 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50834 /* 143138 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50835 /* 143142 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50836 /* 143146 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50837 /* 143150 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50838 /* 143153 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50839 /* 143157 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50840 /* 143161 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50841 /* 143163 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50842 /* 143170 */ // (uaddsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50843 /* 143170 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZ256rm),
50844 /* 143173 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50845 /* 143175 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50846 /* 143177 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50847 /* 143181 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50848 /* 143186 */ GIR_RootConstrainSelectedInstOperands,
50849 /* 143187 */ // GIR_Coverage, 4894,
50850 /* 143187 */ GIR_EraseRootFromParent_Done,
50851 /* 143188 */ // Label 3076: @143188
50852 /* 143188 */ GIM_Try, /*On fail goto*//*Label 3077*/ GIMT_Encode4(143215), // Rule ID 2568 //
50853 /* 143193 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
50854 /* 143196 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50855 /* 143200 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50856 /* 143204 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50857 /* 143208 */ // (uaddsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPADDUSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
50858 /* 143208 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSWYrr),
50859 /* 143213 */ GIR_RootConstrainSelectedInstOperands,
50860 /* 143214 */ // GIR_Coverage, 2568,
50861 /* 143214 */ GIR_Done,
50862 /* 143215 */ // Label 3077: @143215
50863 /* 143215 */ GIM_Try, /*On fail goto*//*Label 3078*/ GIMT_Encode4(143242), // Rule ID 4891 //
50864 /* 143220 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50865 /* 143223 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50866 /* 143227 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50867 /* 143231 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50868 /* 143235 */ // (uaddsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPADDUSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
50869 /* 143235 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZ256rr),
50870 /* 143240 */ GIR_RootConstrainSelectedInstOperands,
50871 /* 143241 */ // GIR_Coverage, 4891,
50872 /* 143241 */ GIR_Done,
50873 /* 143242 */ // Label 3078: @143242
50874 /* 143242 */ GIM_Reject,
50875 /* 143243 */ // Label 3072: @143243
50876 /* 143243 */ GIM_Reject,
50877 /* 143244 */ // Label 3052: @143244
50878 /* 143244 */ GIM_Try, /*On fail goto*//*Label 3079*/ GIMT_Encode4(143558),
50879 /* 143249 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
50880 /* 143252 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
50881 /* 143255 */ GIM_Try, /*On fail goto*//*Label 3080*/ GIMT_Encode4(143317), // Rule ID 23449 //
50882 /* 143260 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
50883 /* 143263 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50884 /* 143267 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50885 /* 143271 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50886 /* 143275 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50887 /* 143278 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50888 /* 143282 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50889 /* 143286 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50890 /* 143290 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50891 /* 143292 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50892 /* 143299 */ // (uaddsat:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPADDUSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50893 /* 143299 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBYrm),
50894 /* 143302 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50895 /* 143304 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50896 /* 143306 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50897 /* 143310 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50898 /* 143315 */ GIR_RootConstrainSelectedInstOperands,
50899 /* 143316 */ // GIR_Coverage, 23449,
50900 /* 143316 */ GIR_EraseRootFromParent_Done,
50901 /* 143317 */ // Label 3080: @143317
50902 /* 143317 */ GIM_Try, /*On fail goto*//*Label 3081*/ GIMT_Encode4(143379), // Rule ID 23780 //
50903 /* 143322 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50904 /* 143325 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50905 /* 143329 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50906 /* 143333 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50907 /* 143337 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50908 /* 143340 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50909 /* 143344 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50910 /* 143348 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50911 /* 143352 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50912 /* 143354 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50913 /* 143361 */ // (uaddsat:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPADDUSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50914 /* 143361 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZ256rm),
50915 /* 143364 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50916 /* 143366 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50917 /* 143368 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50918 /* 143372 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50919 /* 143377 */ GIR_RootConstrainSelectedInstOperands,
50920 /* 143378 */ // GIR_Coverage, 23780,
50921 /* 143378 */ GIR_EraseRootFromParent_Done,
50922 /* 143379 */ // Label 3081: @143379
50923 /* 143379 */ GIM_Try, /*On fail goto*//*Label 3082*/ GIMT_Encode4(143441), // Rule ID 2563 //
50924 /* 143384 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
50925 /* 143387 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50926 /* 143391 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50927 /* 143395 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50928 /* 143399 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50929 /* 143403 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50930 /* 143406 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50931 /* 143410 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50932 /* 143414 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50933 /* 143416 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50934 /* 143423 */ // (uaddsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50935 /* 143423 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBYrm),
50936 /* 143426 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50937 /* 143428 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50938 /* 143430 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50939 /* 143434 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50940 /* 143439 */ GIR_RootConstrainSelectedInstOperands,
50941 /* 143440 */ // GIR_Coverage, 2563,
50942 /* 143440 */ GIR_EraseRootFromParent_Done,
50943 /* 143441 */ // Label 3082: @143441
50944 /* 143441 */ GIM_Try, /*On fail goto*//*Label 3083*/ GIMT_Encode4(143503), // Rule ID 4912 //
50945 /* 143446 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50946 /* 143449 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50947 /* 143453 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50948 /* 143457 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50949 /* 143461 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50950 /* 143465 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50951 /* 143468 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50952 /* 143472 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50953 /* 143476 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50954 /* 143478 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50955 /* 143485 */ // (uaddsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50956 /* 143485 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZ256rm),
50957 /* 143488 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50958 /* 143490 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50959 /* 143492 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50960 /* 143496 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50961 /* 143501 */ GIR_RootConstrainSelectedInstOperands,
50962 /* 143502 */ // GIR_Coverage, 4912,
50963 /* 143502 */ GIR_EraseRootFromParent_Done,
50964 /* 143503 */ // Label 3083: @143503
50965 /* 143503 */ GIM_Try, /*On fail goto*//*Label 3084*/ GIMT_Encode4(143530), // Rule ID 2562 //
50966 /* 143508 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
50967 /* 143511 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50968 /* 143515 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50969 /* 143519 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50970 /* 143523 */ // (uaddsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPADDUSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
50971 /* 143523 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSBYrr),
50972 /* 143528 */ GIR_RootConstrainSelectedInstOperands,
50973 /* 143529 */ // GIR_Coverage, 2562,
50974 /* 143529 */ GIR_Done,
50975 /* 143530 */ // Label 3084: @143530
50976 /* 143530 */ GIM_Try, /*On fail goto*//*Label 3085*/ GIMT_Encode4(143557), // Rule ID 4909 //
50977 /* 143535 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50978 /* 143538 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50979 /* 143542 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50980 /* 143546 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50981 /* 143550 */ // (uaddsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPADDUSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
50982 /* 143550 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZ256rr),
50983 /* 143555 */ GIR_RootConstrainSelectedInstOperands,
50984 /* 143556 */ // GIR_Coverage, 4909,
50985 /* 143556 */ GIR_Done,
50986 /* 143557 */ // Label 3085: @143557
50987 /* 143557 */ GIM_Reject,
50988 /* 143558 */ // Label 3079: @143558
50989 /* 143558 */ GIM_Reject,
50990 /* 143559 */ // Label 3053: @143559
50991 /* 143559 */ GIM_Try, /*On fail goto*//*Label 3086*/ GIMT_Encode4(143714),
50992 /* 143564 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
50993 /* 143567 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
50994 /* 143570 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50995 /* 143574 */ GIM_Try, /*On fail goto*//*Label 3087*/ GIMT_Encode4(143632), // Rule ID 23768 //
50996 /* 143579 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
50997 /* 143582 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50998 /* 143586 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50999 /* 143590 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51000 /* 143593 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51001 /* 143597 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51002 /* 143601 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51003 /* 143605 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51004 /* 143607 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51005 /* 143614 */ // (uaddsat:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPADDUSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51006 /* 143614 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZrm),
51007 /* 143617 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51008 /* 143619 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51009 /* 143621 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51010 /* 143625 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51011 /* 143630 */ GIR_RootConstrainSelectedInstOperands,
51012 /* 143631 */ // GIR_Coverage, 23768,
51013 /* 143631 */ GIR_EraseRootFromParent_Done,
51014 /* 143632 */ // Label 3087: @143632
51015 /* 143632 */ GIM_Try, /*On fail goto*//*Label 3088*/ GIMT_Encode4(143690), // Rule ID 4888 //
51016 /* 143637 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51017 /* 143640 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51018 /* 143644 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51019 /* 143648 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51020 /* 143652 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51021 /* 143655 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51022 /* 143659 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51023 /* 143663 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51024 /* 143665 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51025 /* 143672 */ // (uaddsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51026 /* 143672 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZrm),
51027 /* 143675 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51028 /* 143677 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51029 /* 143679 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51030 /* 143683 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51031 /* 143688 */ GIR_RootConstrainSelectedInstOperands,
51032 /* 143689 */ // GIR_Coverage, 4888,
51033 /* 143689 */ GIR_EraseRootFromParent_Done,
51034 /* 143690 */ // Label 3088: @143690
51035 /* 143690 */ GIM_Try, /*On fail goto*//*Label 3089*/ GIMT_Encode4(143713), // Rule ID 4885 //
51036 /* 143695 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51037 /* 143698 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51038 /* 143702 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51039 /* 143706 */ // (uaddsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPADDUSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
51040 /* 143706 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZrr),
51041 /* 143711 */ GIR_RootConstrainSelectedInstOperands,
51042 /* 143712 */ // GIR_Coverage, 4885,
51043 /* 143712 */ GIR_Done,
51044 /* 143713 */ // Label 3089: @143713
51045 /* 143713 */ GIM_Reject,
51046 /* 143714 */ // Label 3086: @143714
51047 /* 143714 */ GIM_Reject,
51048 /* 143715 */ // Label 3054: @143715
51049 /* 143715 */ GIM_Try, /*On fail goto*//*Label 3090*/ GIMT_Encode4(143870),
51050 /* 143720 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
51051 /* 143723 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
51052 /* 143726 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51053 /* 143730 */ GIM_Try, /*On fail goto*//*Label 3091*/ GIMT_Encode4(143788), // Rule ID 23777 //
51054 /* 143735 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51055 /* 143738 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51056 /* 143742 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51057 /* 143746 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51058 /* 143749 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51059 /* 143753 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51060 /* 143757 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51061 /* 143761 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51062 /* 143763 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51063 /* 143770 */ // (uaddsat:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPADDUSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51064 /* 143770 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZrm),
51065 /* 143773 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51066 /* 143775 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51067 /* 143777 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51068 /* 143781 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51069 /* 143786 */ GIR_RootConstrainSelectedInstOperands,
51070 /* 143787 */ // GIR_Coverage, 23777,
51071 /* 143787 */ GIR_EraseRootFromParent_Done,
51072 /* 143788 */ // Label 3091: @143788
51073 /* 143788 */ GIM_Try, /*On fail goto*//*Label 3092*/ GIMT_Encode4(143846), // Rule ID 4906 //
51074 /* 143793 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51075 /* 143796 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51076 /* 143800 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51077 /* 143804 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51078 /* 143808 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51079 /* 143811 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51080 /* 143815 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51081 /* 143819 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51082 /* 143821 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51083 /* 143828 */ // (uaddsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51084 /* 143828 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZrm),
51085 /* 143831 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51086 /* 143833 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51087 /* 143835 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51088 /* 143839 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51089 /* 143844 */ GIR_RootConstrainSelectedInstOperands,
51090 /* 143845 */ // GIR_Coverage, 4906,
51091 /* 143845 */ GIR_EraseRootFromParent_Done,
51092 /* 143846 */ // Label 3092: @143846
51093 /* 143846 */ GIM_Try, /*On fail goto*//*Label 3093*/ GIMT_Encode4(143869), // Rule ID 4903 //
51094 /* 143851 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51095 /* 143854 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51096 /* 143858 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51097 /* 143862 */ // (uaddsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPADDUSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
51098 /* 143862 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZrr),
51099 /* 143867 */ GIR_RootConstrainSelectedInstOperands,
51100 /* 143868 */ // GIR_Coverage, 4903,
51101 /* 143868 */ GIR_Done,
51102 /* 143869 */ // Label 3093: @143869
51103 /* 143869 */ GIM_Reject,
51104 /* 143870 */ // Label 3090: @143870
51105 /* 143870 */ GIM_Reject,
51106 /* 143871 */ // Label 3055: @143871
51107 /* 143871 */ GIM_Reject,
51108 /* 143872 */ // Label 38: @143872
51109 /* 143872 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(25), /*)*//*default:*//*Label 3100*/ GIMT_Encode4(145557),
51110 /* 143883 */ /*GILLT_v8s16*//*Label 3094*/ GIMT_Encode4(143931), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
51111 /* 143899 */ /*GILLT_v16s8*//*Label 3095*/ GIMT_Encode4(144273),
51112 /* 143903 */ /*GILLT_v16s16*//*Label 3096*/ GIMT_Encode4(144615), GIMT_Encode4(0), GIMT_Encode4(0),
51113 /* 143915 */ /*GILLT_v32s8*//*Label 3097*/ GIMT_Encode4(144930),
51114 /* 143919 */ /*GILLT_v32s16*//*Label 3098*/ GIMT_Encode4(145245), GIMT_Encode4(0),
51115 /* 143927 */ /*GILLT_v64s8*//*Label 3099*/ GIMT_Encode4(145401),
51116 /* 143931 */ // Label 3094: @143931
51117 /* 143931 */ GIM_Try, /*On fail goto*//*Label 3101*/ GIMT_Encode4(144272),
51118 /* 143936 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
51119 /* 143939 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
51120 /* 143942 */ GIM_Try, /*On fail goto*//*Label 3102*/ GIMT_Encode4(144004), // Rule ID 23444 //
51121 /* 143947 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
51122 /* 143950 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51123 /* 143954 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51124 /* 143958 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51125 /* 143962 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51126 /* 143965 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51127 /* 143969 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51128 /* 143973 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51129 /* 143977 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51130 /* 143979 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51131 /* 143986 */ // (saddsat:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPADDSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51132 /* 143986 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWrm),
51133 /* 143989 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51134 /* 143991 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51135 /* 143993 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51136 /* 143997 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51137 /* 144002 */ GIR_RootConstrainSelectedInstOperands,
51138 /* 144003 */ // GIR_Coverage, 23444,
51139 /* 144003 */ GIR_EraseRootFromParent_Done,
51140 /* 144004 */ // Label 3102: @144004
51141 /* 144004 */ GIM_Try, /*On fail goto*//*Label 3103*/ GIMT_Encode4(144066), // Rule ID 23756 //
51142 /* 144009 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51143 /* 144012 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51144 /* 144016 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51145 /* 144020 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51146 /* 144024 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51147 /* 144027 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51148 /* 144031 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51149 /* 144035 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51150 /* 144039 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51151 /* 144041 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51152 /* 144048 */ // (saddsat:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPADDSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51153 /* 144048 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWZ128rm),
51154 /* 144051 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51155 /* 144053 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51156 /* 144055 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51157 /* 144059 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51158 /* 144064 */ GIR_RootConstrainSelectedInstOperands,
51159 /* 144065 */ // GIR_Coverage, 23756,
51160 /* 144065 */ GIR_EraseRootFromParent_Done,
51161 /* 144066 */ // Label 3103: @144066
51162 /* 144066 */ GIM_Try, /*On fail goto*//*Label 3104*/ GIMT_Encode4(144128), // Rule ID 2553 //
51163 /* 144071 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
51164 /* 144074 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51165 /* 144078 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51166 /* 144082 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51167 /* 144086 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51168 /* 144090 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51169 /* 144093 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51170 /* 144097 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51171 /* 144101 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51172 /* 144103 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51173 /* 144110 */ // (saddsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51174 /* 144110 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWrm),
51175 /* 144113 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51176 /* 144115 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51177 /* 144117 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51178 /* 144121 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51179 /* 144126 */ GIR_RootConstrainSelectedInstOperands,
51180 /* 144127 */ // GIR_Coverage, 2553,
51181 /* 144127 */ GIR_EraseRootFromParent_Done,
51182 /* 144128 */ // Label 3104: @144128
51183 /* 144128 */ GIM_Try, /*On fail goto*//*Label 3105*/ GIMT_Encode4(144190), // Rule ID 4828 //
51184 /* 144133 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51185 /* 144136 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51186 /* 144140 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51187 /* 144144 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51188 /* 144148 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51189 /* 144152 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51190 /* 144155 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51191 /* 144159 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51192 /* 144163 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51193 /* 144165 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51194 /* 144172 */ // (saddsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51195 /* 144172 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWZ128rm),
51196 /* 144175 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51197 /* 144177 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51198 /* 144179 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51199 /* 144183 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51200 /* 144188 */ GIR_RootConstrainSelectedInstOperands,
51201 /* 144189 */ // GIR_Coverage, 4828,
51202 /* 144189 */ GIR_EraseRootFromParent_Done,
51203 /* 144190 */ // Label 3105: @144190
51204 /* 144190 */ GIM_Try, /*On fail goto*//*Label 3106*/ GIMT_Encode4(144217), // Rule ID 2552 //
51205 /* 144195 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
51206 /* 144198 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51207 /* 144202 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51208 /* 144206 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51209 /* 144210 */ // (saddsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPADDSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
51210 /* 144210 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSWrr),
51211 /* 144215 */ GIR_RootConstrainSelectedInstOperands,
51212 /* 144216 */ // GIR_Coverage, 2552,
51213 /* 144216 */ GIR_Done,
51214 /* 144217 */ // Label 3106: @144217
51215 /* 144217 */ GIM_Try, /*On fail goto*//*Label 3107*/ GIMT_Encode4(144244), // Rule ID 2554 //
51216 /* 144222 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
51217 /* 144225 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51218 /* 144229 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51219 /* 144233 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51220 /* 144237 */ // (saddsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PADDSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
51221 /* 144237 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDSWrr),
51222 /* 144242 */ GIR_RootConstrainSelectedInstOperands,
51223 /* 144243 */ // GIR_Coverage, 2554,
51224 /* 144243 */ GIR_Done,
51225 /* 144244 */ // Label 3107: @144244
51226 /* 144244 */ GIM_Try, /*On fail goto*//*Label 3108*/ GIMT_Encode4(144271), // Rule ID 4825 //
51227 /* 144249 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51228 /* 144252 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51229 /* 144256 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51230 /* 144260 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51231 /* 144264 */ // (saddsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPADDSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
51232 /* 144264 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSWZ128rr),
51233 /* 144269 */ GIR_RootConstrainSelectedInstOperands,
51234 /* 144270 */ // GIR_Coverage, 4825,
51235 /* 144270 */ GIR_Done,
51236 /* 144271 */ // Label 3108: @144271
51237 /* 144271 */ GIM_Reject,
51238 /* 144272 */ // Label 3101: @144272
51239 /* 144272 */ GIM_Reject,
51240 /* 144273 */ // Label 3095: @144273
51241 /* 144273 */ GIM_Try, /*On fail goto*//*Label 3109*/ GIMT_Encode4(144614),
51242 /* 144278 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
51243 /* 144281 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
51244 /* 144284 */ GIM_Try, /*On fail goto*//*Label 3110*/ GIMT_Encode4(144346), // Rule ID 23441 //
51245 /* 144289 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
51246 /* 144292 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51247 /* 144296 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51248 /* 144300 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51249 /* 144304 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51250 /* 144307 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51251 /* 144311 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51252 /* 144315 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51253 /* 144319 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51254 /* 144321 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51255 /* 144328 */ // (saddsat:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPADDSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51256 /* 144328 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBrm),
51257 /* 144331 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51258 /* 144333 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51259 /* 144335 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51260 /* 144339 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51261 /* 144344 */ GIR_RootConstrainSelectedInstOperands,
51262 /* 144345 */ // GIR_Coverage, 23441,
51263 /* 144345 */ GIR_EraseRootFromParent_Done,
51264 /* 144346 */ // Label 3110: @144346
51265 /* 144346 */ GIM_Try, /*On fail goto*//*Label 3111*/ GIMT_Encode4(144408), // Rule ID 23765 //
51266 /* 144351 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51267 /* 144354 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51268 /* 144358 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51269 /* 144362 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51270 /* 144366 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51271 /* 144369 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51272 /* 144373 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51273 /* 144377 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51274 /* 144381 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51275 /* 144383 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51276 /* 144390 */ // (saddsat:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPADDSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51277 /* 144390 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBZ128rm),
51278 /* 144393 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51279 /* 144395 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51280 /* 144397 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51281 /* 144401 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51282 /* 144406 */ GIR_RootConstrainSelectedInstOperands,
51283 /* 144407 */ // GIR_Coverage, 23765,
51284 /* 144407 */ GIR_EraseRootFromParent_Done,
51285 /* 144408 */ // Label 3111: @144408
51286 /* 144408 */ GIM_Try, /*On fail goto*//*Label 3112*/ GIMT_Encode4(144470), // Rule ID 2547 //
51287 /* 144413 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
51288 /* 144416 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51289 /* 144420 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51290 /* 144424 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51291 /* 144428 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51292 /* 144432 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51293 /* 144435 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51294 /* 144439 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51295 /* 144443 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51296 /* 144445 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51297 /* 144452 */ // (saddsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51298 /* 144452 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBrm),
51299 /* 144455 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51300 /* 144457 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51301 /* 144459 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51302 /* 144463 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51303 /* 144468 */ GIR_RootConstrainSelectedInstOperands,
51304 /* 144469 */ // GIR_Coverage, 2547,
51305 /* 144469 */ GIR_EraseRootFromParent_Done,
51306 /* 144470 */ // Label 3112: @144470
51307 /* 144470 */ GIM_Try, /*On fail goto*//*Label 3113*/ GIMT_Encode4(144532), // Rule ID 4846 //
51308 /* 144475 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51309 /* 144478 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51310 /* 144482 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51311 /* 144486 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51312 /* 144490 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51313 /* 144494 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51314 /* 144497 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51315 /* 144501 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51316 /* 144505 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51317 /* 144507 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51318 /* 144514 */ // (saddsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51319 /* 144514 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBZ128rm),
51320 /* 144517 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51321 /* 144519 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51322 /* 144521 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51323 /* 144525 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51324 /* 144530 */ GIR_RootConstrainSelectedInstOperands,
51325 /* 144531 */ // GIR_Coverage, 4846,
51326 /* 144531 */ GIR_EraseRootFromParent_Done,
51327 /* 144532 */ // Label 3113: @144532
51328 /* 144532 */ GIM_Try, /*On fail goto*//*Label 3114*/ GIMT_Encode4(144559), // Rule ID 2546 //
51329 /* 144537 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
51330 /* 144540 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51331 /* 144544 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51332 /* 144548 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51333 /* 144552 */ // (saddsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPADDSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
51334 /* 144552 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSBrr),
51335 /* 144557 */ GIR_RootConstrainSelectedInstOperands,
51336 /* 144558 */ // GIR_Coverage, 2546,
51337 /* 144558 */ GIR_Done,
51338 /* 144559 */ // Label 3114: @144559
51339 /* 144559 */ GIM_Try, /*On fail goto*//*Label 3115*/ GIMT_Encode4(144586), // Rule ID 2548 //
51340 /* 144564 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
51341 /* 144567 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51342 /* 144571 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51343 /* 144575 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51344 /* 144579 */ // (saddsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PADDSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
51345 /* 144579 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDSBrr),
51346 /* 144584 */ GIR_RootConstrainSelectedInstOperands,
51347 /* 144585 */ // GIR_Coverage, 2548,
51348 /* 144585 */ GIR_Done,
51349 /* 144586 */ // Label 3115: @144586
51350 /* 144586 */ GIM_Try, /*On fail goto*//*Label 3116*/ GIMT_Encode4(144613), // Rule ID 4843 //
51351 /* 144591 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51352 /* 144594 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51353 /* 144598 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51354 /* 144602 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51355 /* 144606 */ // (saddsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPADDSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
51356 /* 144606 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSBZ128rr),
51357 /* 144611 */ GIR_RootConstrainSelectedInstOperands,
51358 /* 144612 */ // GIR_Coverage, 4843,
51359 /* 144612 */ GIR_Done,
51360 /* 144613 */ // Label 3116: @144613
51361 /* 144613 */ GIM_Reject,
51362 /* 144614 */ // Label 3109: @144614
51363 /* 144614 */ GIM_Reject,
51364 /* 144615 */ // Label 3096: @144615
51365 /* 144615 */ GIM_Try, /*On fail goto*//*Label 3117*/ GIMT_Encode4(144929),
51366 /* 144620 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
51367 /* 144623 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
51368 /* 144626 */ GIM_Try, /*On fail goto*//*Label 3118*/ GIMT_Encode4(144688), // Rule ID 23446 //
51369 /* 144631 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51370 /* 144634 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51371 /* 144638 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51372 /* 144642 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51373 /* 144646 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51374 /* 144649 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51375 /* 144653 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51376 /* 144657 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51377 /* 144661 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51378 /* 144663 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51379 /* 144670 */ // (saddsat:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPADDSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51380 /* 144670 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWYrm),
51381 /* 144673 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51382 /* 144675 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51383 /* 144677 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51384 /* 144681 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51385 /* 144686 */ GIR_RootConstrainSelectedInstOperands,
51386 /* 144687 */ // GIR_Coverage, 23446,
51387 /* 144687 */ GIR_EraseRootFromParent_Done,
51388 /* 144688 */ // Label 3118: @144688
51389 /* 144688 */ GIM_Try, /*On fail goto*//*Label 3119*/ GIMT_Encode4(144750), // Rule ID 23753 //
51390 /* 144693 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51391 /* 144696 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51392 /* 144700 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51393 /* 144704 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51394 /* 144708 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51395 /* 144711 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51396 /* 144715 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51397 /* 144719 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51398 /* 144723 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51399 /* 144725 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51400 /* 144732 */ // (saddsat:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPADDSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51401 /* 144732 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWZ256rm),
51402 /* 144735 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51403 /* 144737 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51404 /* 144739 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51405 /* 144743 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51406 /* 144748 */ GIR_RootConstrainSelectedInstOperands,
51407 /* 144749 */ // GIR_Coverage, 23753,
51408 /* 144749 */ GIR_EraseRootFromParent_Done,
51409 /* 144750 */ // Label 3119: @144750
51410 /* 144750 */ GIM_Try, /*On fail goto*//*Label 3120*/ GIMT_Encode4(144812), // Rule ID 2557 //
51411 /* 144755 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51412 /* 144758 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51413 /* 144762 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51414 /* 144766 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51415 /* 144770 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51416 /* 144774 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51417 /* 144777 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51418 /* 144781 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51419 /* 144785 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51420 /* 144787 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51421 /* 144794 */ // (saddsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51422 /* 144794 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWYrm),
51423 /* 144797 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51424 /* 144799 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51425 /* 144801 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51426 /* 144805 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51427 /* 144810 */ GIR_RootConstrainSelectedInstOperands,
51428 /* 144811 */ // GIR_Coverage, 2557,
51429 /* 144811 */ GIR_EraseRootFromParent_Done,
51430 /* 144812 */ // Label 3120: @144812
51431 /* 144812 */ GIM_Try, /*On fail goto*//*Label 3121*/ GIMT_Encode4(144874), // Rule ID 4822 //
51432 /* 144817 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51433 /* 144820 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51434 /* 144824 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51435 /* 144828 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51436 /* 144832 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51437 /* 144836 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51438 /* 144839 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51439 /* 144843 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51440 /* 144847 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51441 /* 144849 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51442 /* 144856 */ // (saddsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51443 /* 144856 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWZ256rm),
51444 /* 144859 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51445 /* 144861 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51446 /* 144863 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51447 /* 144867 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51448 /* 144872 */ GIR_RootConstrainSelectedInstOperands,
51449 /* 144873 */ // GIR_Coverage, 4822,
51450 /* 144873 */ GIR_EraseRootFromParent_Done,
51451 /* 144874 */ // Label 3121: @144874
51452 /* 144874 */ GIM_Try, /*On fail goto*//*Label 3122*/ GIMT_Encode4(144901), // Rule ID 2556 //
51453 /* 144879 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51454 /* 144882 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51455 /* 144886 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51456 /* 144890 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51457 /* 144894 */ // (saddsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPADDSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
51458 /* 144894 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSWYrr),
51459 /* 144899 */ GIR_RootConstrainSelectedInstOperands,
51460 /* 144900 */ // GIR_Coverage, 2556,
51461 /* 144900 */ GIR_Done,
51462 /* 144901 */ // Label 3122: @144901
51463 /* 144901 */ GIM_Try, /*On fail goto*//*Label 3123*/ GIMT_Encode4(144928), // Rule ID 4819 //
51464 /* 144906 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51465 /* 144909 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51466 /* 144913 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51467 /* 144917 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51468 /* 144921 */ // (saddsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPADDSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
51469 /* 144921 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSWZ256rr),
51470 /* 144926 */ GIR_RootConstrainSelectedInstOperands,
51471 /* 144927 */ // GIR_Coverage, 4819,
51472 /* 144927 */ GIR_Done,
51473 /* 144928 */ // Label 3123: @144928
51474 /* 144928 */ GIM_Reject,
51475 /* 144929 */ // Label 3117: @144929
51476 /* 144929 */ GIM_Reject,
51477 /* 144930 */ // Label 3097: @144930
51478 /* 144930 */ GIM_Try, /*On fail goto*//*Label 3124*/ GIMT_Encode4(145244),
51479 /* 144935 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
51480 /* 144938 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
51481 /* 144941 */ GIM_Try, /*On fail goto*//*Label 3125*/ GIMT_Encode4(145003), // Rule ID 23443 //
51482 /* 144946 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51483 /* 144949 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51484 /* 144953 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51485 /* 144957 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51486 /* 144961 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51487 /* 144964 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51488 /* 144968 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51489 /* 144972 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51490 /* 144976 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51491 /* 144978 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51492 /* 144985 */ // (saddsat:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPADDSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51493 /* 144985 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBYrm),
51494 /* 144988 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51495 /* 144990 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51496 /* 144992 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51497 /* 144996 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51498 /* 145001 */ GIR_RootConstrainSelectedInstOperands,
51499 /* 145002 */ // GIR_Coverage, 23443,
51500 /* 145002 */ GIR_EraseRootFromParent_Done,
51501 /* 145003 */ // Label 3125: @145003
51502 /* 145003 */ GIM_Try, /*On fail goto*//*Label 3126*/ GIMT_Encode4(145065), // Rule ID 23762 //
51503 /* 145008 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51504 /* 145011 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51505 /* 145015 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51506 /* 145019 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51507 /* 145023 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51508 /* 145026 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51509 /* 145030 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51510 /* 145034 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51511 /* 145038 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51512 /* 145040 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51513 /* 145047 */ // (saddsat:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPADDSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51514 /* 145047 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBZ256rm),
51515 /* 145050 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51516 /* 145052 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51517 /* 145054 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51518 /* 145058 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51519 /* 145063 */ GIR_RootConstrainSelectedInstOperands,
51520 /* 145064 */ // GIR_Coverage, 23762,
51521 /* 145064 */ GIR_EraseRootFromParent_Done,
51522 /* 145065 */ // Label 3126: @145065
51523 /* 145065 */ GIM_Try, /*On fail goto*//*Label 3127*/ GIMT_Encode4(145127), // Rule ID 2551 //
51524 /* 145070 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51525 /* 145073 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51526 /* 145077 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51527 /* 145081 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51528 /* 145085 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51529 /* 145089 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51530 /* 145092 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51531 /* 145096 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51532 /* 145100 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51533 /* 145102 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51534 /* 145109 */ // (saddsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51535 /* 145109 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBYrm),
51536 /* 145112 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51537 /* 145114 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51538 /* 145116 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51539 /* 145120 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51540 /* 145125 */ GIR_RootConstrainSelectedInstOperands,
51541 /* 145126 */ // GIR_Coverage, 2551,
51542 /* 145126 */ GIR_EraseRootFromParent_Done,
51543 /* 145127 */ // Label 3127: @145127
51544 /* 145127 */ GIM_Try, /*On fail goto*//*Label 3128*/ GIMT_Encode4(145189), // Rule ID 4840 //
51545 /* 145132 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51546 /* 145135 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51547 /* 145139 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51548 /* 145143 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51549 /* 145147 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51550 /* 145151 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51551 /* 145154 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51552 /* 145158 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51553 /* 145162 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51554 /* 145164 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51555 /* 145171 */ // (saddsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51556 /* 145171 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBZ256rm),
51557 /* 145174 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51558 /* 145176 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51559 /* 145178 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51560 /* 145182 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51561 /* 145187 */ GIR_RootConstrainSelectedInstOperands,
51562 /* 145188 */ // GIR_Coverage, 4840,
51563 /* 145188 */ GIR_EraseRootFromParent_Done,
51564 /* 145189 */ // Label 3128: @145189
51565 /* 145189 */ GIM_Try, /*On fail goto*//*Label 3129*/ GIMT_Encode4(145216), // Rule ID 2550 //
51566 /* 145194 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51567 /* 145197 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51568 /* 145201 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51569 /* 145205 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51570 /* 145209 */ // (saddsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPADDSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
51571 /* 145209 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSBYrr),
51572 /* 145214 */ GIR_RootConstrainSelectedInstOperands,
51573 /* 145215 */ // GIR_Coverage, 2550,
51574 /* 145215 */ GIR_Done,
51575 /* 145216 */ // Label 3129: @145216
51576 /* 145216 */ GIM_Try, /*On fail goto*//*Label 3130*/ GIMT_Encode4(145243), // Rule ID 4837 //
51577 /* 145221 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51578 /* 145224 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51579 /* 145228 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51580 /* 145232 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51581 /* 145236 */ // (saddsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPADDSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
51582 /* 145236 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSBZ256rr),
51583 /* 145241 */ GIR_RootConstrainSelectedInstOperands,
51584 /* 145242 */ // GIR_Coverage, 4837,
51585 /* 145242 */ GIR_Done,
51586 /* 145243 */ // Label 3130: @145243
51587 /* 145243 */ GIM_Reject,
51588 /* 145244 */ // Label 3124: @145244
51589 /* 145244 */ GIM_Reject,
51590 /* 145245 */ // Label 3098: @145245
51591 /* 145245 */ GIM_Try, /*On fail goto*//*Label 3131*/ GIMT_Encode4(145400),
51592 /* 145250 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
51593 /* 145253 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
51594 /* 145256 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51595 /* 145260 */ GIM_Try, /*On fail goto*//*Label 3132*/ GIMT_Encode4(145318), // Rule ID 23750 //
51596 /* 145265 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51597 /* 145268 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51598 /* 145272 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51599 /* 145276 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51600 /* 145279 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51601 /* 145283 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51602 /* 145287 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51603 /* 145291 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51604 /* 145293 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51605 /* 145300 */ // (saddsat:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPADDSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51606 /* 145300 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWZrm),
51607 /* 145303 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51608 /* 145305 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51609 /* 145307 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51610 /* 145311 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51611 /* 145316 */ GIR_RootConstrainSelectedInstOperands,
51612 /* 145317 */ // GIR_Coverage, 23750,
51613 /* 145317 */ GIR_EraseRootFromParent_Done,
51614 /* 145318 */ // Label 3132: @145318
51615 /* 145318 */ GIM_Try, /*On fail goto*//*Label 3133*/ GIMT_Encode4(145376), // Rule ID 4816 //
51616 /* 145323 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51617 /* 145326 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51618 /* 145330 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51619 /* 145334 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51620 /* 145338 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51621 /* 145341 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51622 /* 145345 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51623 /* 145349 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51624 /* 145351 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51625 /* 145358 */ // (saddsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51626 /* 145358 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWZrm),
51627 /* 145361 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51628 /* 145363 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51629 /* 145365 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51630 /* 145369 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51631 /* 145374 */ GIR_RootConstrainSelectedInstOperands,
51632 /* 145375 */ // GIR_Coverage, 4816,
51633 /* 145375 */ GIR_EraseRootFromParent_Done,
51634 /* 145376 */ // Label 3133: @145376
51635 /* 145376 */ GIM_Try, /*On fail goto*//*Label 3134*/ GIMT_Encode4(145399), // Rule ID 4813 //
51636 /* 145381 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51637 /* 145384 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51638 /* 145388 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51639 /* 145392 */ // (saddsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPADDSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
51640 /* 145392 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSWZrr),
51641 /* 145397 */ GIR_RootConstrainSelectedInstOperands,
51642 /* 145398 */ // GIR_Coverage, 4813,
51643 /* 145398 */ GIR_Done,
51644 /* 145399 */ // Label 3134: @145399
51645 /* 145399 */ GIM_Reject,
51646 /* 145400 */ // Label 3131: @145400
51647 /* 145400 */ GIM_Reject,
51648 /* 145401 */ // Label 3099: @145401
51649 /* 145401 */ GIM_Try, /*On fail goto*//*Label 3135*/ GIMT_Encode4(145556),
51650 /* 145406 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
51651 /* 145409 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
51652 /* 145412 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51653 /* 145416 */ GIM_Try, /*On fail goto*//*Label 3136*/ GIMT_Encode4(145474), // Rule ID 23759 //
51654 /* 145421 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51655 /* 145424 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51656 /* 145428 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51657 /* 145432 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51658 /* 145435 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51659 /* 145439 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51660 /* 145443 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51661 /* 145447 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51662 /* 145449 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51663 /* 145456 */ // (saddsat:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPADDSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51664 /* 145456 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBZrm),
51665 /* 145459 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51666 /* 145461 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51667 /* 145463 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51668 /* 145467 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51669 /* 145472 */ GIR_RootConstrainSelectedInstOperands,
51670 /* 145473 */ // GIR_Coverage, 23759,
51671 /* 145473 */ GIR_EraseRootFromParent_Done,
51672 /* 145474 */ // Label 3136: @145474
51673 /* 145474 */ GIM_Try, /*On fail goto*//*Label 3137*/ GIMT_Encode4(145532), // Rule ID 4834 //
51674 /* 145479 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51675 /* 145482 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51676 /* 145486 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51677 /* 145490 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51678 /* 145494 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51679 /* 145497 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51680 /* 145501 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51681 /* 145505 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51682 /* 145507 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51683 /* 145514 */ // (saddsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51684 /* 145514 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBZrm),
51685 /* 145517 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51686 /* 145519 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51687 /* 145521 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51688 /* 145525 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51689 /* 145530 */ GIR_RootConstrainSelectedInstOperands,
51690 /* 145531 */ // GIR_Coverage, 4834,
51691 /* 145531 */ GIR_EraseRootFromParent_Done,
51692 /* 145532 */ // Label 3137: @145532
51693 /* 145532 */ GIM_Try, /*On fail goto*//*Label 3138*/ GIMT_Encode4(145555), // Rule ID 4831 //
51694 /* 145537 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51695 /* 145540 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51696 /* 145544 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51697 /* 145548 */ // (saddsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPADDSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
51698 /* 145548 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSBZrr),
51699 /* 145553 */ GIR_RootConstrainSelectedInstOperands,
51700 /* 145554 */ // GIR_Coverage, 4831,
51701 /* 145554 */ GIR_Done,
51702 /* 145555 */ // Label 3138: @145555
51703 /* 145555 */ GIM_Reject,
51704 /* 145556 */ // Label 3135: @145556
51705 /* 145556 */ GIM_Reject,
51706 /* 145557 */ // Label 3100: @145557
51707 /* 145557 */ GIM_Reject,
51708 /* 145558 */ // Label 39: @145558
51709 /* 145558 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(25), /*)*//*default:*//*Label 3145*/ GIMT_Encode4(146623),
51710 /* 145569 */ /*GILLT_v8s16*//*Label 3139*/ GIMT_Encode4(145617), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
51711 /* 145585 */ /*GILLT_v16s8*//*Label 3140*/ GIMT_Encode4(145835),
51712 /* 145589 */ /*GILLT_v16s16*//*Label 3141*/ GIMT_Encode4(146053), GIMT_Encode4(0), GIMT_Encode4(0),
51713 /* 145601 */ /*GILLT_v32s8*//*Label 3142*/ GIMT_Encode4(146244),
51714 /* 145605 */ /*GILLT_v32s16*//*Label 3143*/ GIMT_Encode4(146435), GIMT_Encode4(0),
51715 /* 145613 */ /*GILLT_v64s8*//*Label 3144*/ GIMT_Encode4(146529),
51716 /* 145617 */ // Label 3139: @145617
51717 /* 145617 */ GIM_Try, /*On fail goto*//*Label 3146*/ GIMT_Encode4(145834),
51718 /* 145622 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
51719 /* 145625 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
51720 /* 145628 */ GIM_Try, /*On fail goto*//*Label 3147*/ GIMT_Encode4(145690), // Rule ID 2631 //
51721 /* 145633 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
51722 /* 145636 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51723 /* 145640 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51724 /* 145644 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51725 /* 145648 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51726 /* 145652 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51727 /* 145655 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51728 /* 145659 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51729 /* 145663 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51730 /* 145665 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51731 /* 145672 */ // (usubsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51732 /* 145672 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWrm),
51733 /* 145675 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51734 /* 145677 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51735 /* 145679 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51736 /* 145683 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51737 /* 145688 */ GIR_RootConstrainSelectedInstOperands,
51738 /* 145689 */ // GIR_Coverage, 2631,
51739 /* 145689 */ GIR_EraseRootFromParent_Done,
51740 /* 145690 */ // Label 3147: @145690
51741 /* 145690 */ GIM_Try, /*On fail goto*//*Label 3148*/ GIMT_Encode4(145752), // Rule ID 4936 //
51742 /* 145695 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51743 /* 145698 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51744 /* 145702 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51745 /* 145706 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51746 /* 145710 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51747 /* 145714 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51748 /* 145717 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51749 /* 145721 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51750 /* 145725 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51751 /* 145727 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51752 /* 145734 */ // (usubsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51753 /* 145734 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWZ128rm),
51754 /* 145737 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51755 /* 145739 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51756 /* 145741 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51757 /* 145745 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51758 /* 145750 */ GIR_RootConstrainSelectedInstOperands,
51759 /* 145751 */ // GIR_Coverage, 4936,
51760 /* 145751 */ GIR_EraseRootFromParent_Done,
51761 /* 145752 */ // Label 3148: @145752
51762 /* 145752 */ GIM_Try, /*On fail goto*//*Label 3149*/ GIMT_Encode4(145779), // Rule ID 2630 //
51763 /* 145757 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
51764 /* 145760 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51765 /* 145764 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51766 /* 145768 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51767 /* 145772 */ // (usubsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPSUBUSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
51768 /* 145772 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWrr),
51769 /* 145777 */ GIR_RootConstrainSelectedInstOperands,
51770 /* 145778 */ // GIR_Coverage, 2630,
51771 /* 145778 */ GIR_Done,
51772 /* 145779 */ // Label 3149: @145779
51773 /* 145779 */ GIM_Try, /*On fail goto*//*Label 3150*/ GIMT_Encode4(145806), // Rule ID 2632 //
51774 /* 145784 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
51775 /* 145787 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51776 /* 145791 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51777 /* 145795 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51778 /* 145799 */ // (usubsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PSUBUSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
51779 /* 145799 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBUSWrr),
51780 /* 145804 */ GIR_RootConstrainSelectedInstOperands,
51781 /* 145805 */ // GIR_Coverage, 2632,
51782 /* 145805 */ GIR_Done,
51783 /* 145806 */ // Label 3150: @145806
51784 /* 145806 */ GIM_Try, /*On fail goto*//*Label 3151*/ GIMT_Encode4(145833), // Rule ID 4933 //
51785 /* 145811 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51786 /* 145814 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51787 /* 145818 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51788 /* 145822 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51789 /* 145826 */ // (usubsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPSUBUSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
51790 /* 145826 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWZ128rr),
51791 /* 145831 */ GIR_RootConstrainSelectedInstOperands,
51792 /* 145832 */ // GIR_Coverage, 4933,
51793 /* 145832 */ GIR_Done,
51794 /* 145833 */ // Label 3151: @145833
51795 /* 145833 */ GIM_Reject,
51796 /* 145834 */ // Label 3146: @145834
51797 /* 145834 */ GIM_Reject,
51798 /* 145835 */ // Label 3140: @145835
51799 /* 145835 */ GIM_Try, /*On fail goto*//*Label 3152*/ GIMT_Encode4(146052),
51800 /* 145840 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
51801 /* 145843 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
51802 /* 145846 */ GIM_Try, /*On fail goto*//*Label 3153*/ GIMT_Encode4(145908), // Rule ID 2625 //
51803 /* 145851 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
51804 /* 145854 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51805 /* 145858 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51806 /* 145862 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51807 /* 145866 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51808 /* 145870 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51809 /* 145873 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51810 /* 145877 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51811 /* 145881 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51812 /* 145883 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51813 /* 145890 */ // (usubsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51814 /* 145890 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBrm),
51815 /* 145893 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51816 /* 145895 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51817 /* 145897 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51818 /* 145901 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51819 /* 145906 */ GIR_RootConstrainSelectedInstOperands,
51820 /* 145907 */ // GIR_Coverage, 2625,
51821 /* 145907 */ GIR_EraseRootFromParent_Done,
51822 /* 145908 */ // Label 3153: @145908
51823 /* 145908 */ GIM_Try, /*On fail goto*//*Label 3154*/ GIMT_Encode4(145970), // Rule ID 4954 //
51824 /* 145913 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51825 /* 145916 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51826 /* 145920 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51827 /* 145924 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51828 /* 145928 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51829 /* 145932 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51830 /* 145935 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51831 /* 145939 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51832 /* 145943 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51833 /* 145945 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51834 /* 145952 */ // (usubsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51835 /* 145952 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBZ128rm),
51836 /* 145955 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51837 /* 145957 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51838 /* 145959 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51839 /* 145963 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51840 /* 145968 */ GIR_RootConstrainSelectedInstOperands,
51841 /* 145969 */ // GIR_Coverage, 4954,
51842 /* 145969 */ GIR_EraseRootFromParent_Done,
51843 /* 145970 */ // Label 3154: @145970
51844 /* 145970 */ GIM_Try, /*On fail goto*//*Label 3155*/ GIMT_Encode4(145997), // Rule ID 2624 //
51845 /* 145975 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
51846 /* 145978 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51847 /* 145982 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51848 /* 145986 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51849 /* 145990 */ // (usubsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPSUBUSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
51850 /* 145990 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBrr),
51851 /* 145995 */ GIR_RootConstrainSelectedInstOperands,
51852 /* 145996 */ // GIR_Coverage, 2624,
51853 /* 145996 */ GIR_Done,
51854 /* 145997 */ // Label 3155: @145997
51855 /* 145997 */ GIM_Try, /*On fail goto*//*Label 3156*/ GIMT_Encode4(146024), // Rule ID 2626 //
51856 /* 146002 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
51857 /* 146005 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51858 /* 146009 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51859 /* 146013 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51860 /* 146017 */ // (usubsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PSUBUSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
51861 /* 146017 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBUSBrr),
51862 /* 146022 */ GIR_RootConstrainSelectedInstOperands,
51863 /* 146023 */ // GIR_Coverage, 2626,
51864 /* 146023 */ GIR_Done,
51865 /* 146024 */ // Label 3156: @146024
51866 /* 146024 */ GIM_Try, /*On fail goto*//*Label 3157*/ GIMT_Encode4(146051), // Rule ID 4951 //
51867 /* 146029 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51868 /* 146032 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51869 /* 146036 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51870 /* 146040 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51871 /* 146044 */ // (usubsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPSUBUSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
51872 /* 146044 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBZ128rr),
51873 /* 146049 */ GIR_RootConstrainSelectedInstOperands,
51874 /* 146050 */ // GIR_Coverage, 4951,
51875 /* 146050 */ GIR_Done,
51876 /* 146051 */ // Label 3157: @146051
51877 /* 146051 */ GIM_Reject,
51878 /* 146052 */ // Label 3152: @146052
51879 /* 146052 */ GIM_Reject,
51880 /* 146053 */ // Label 3141: @146053
51881 /* 146053 */ GIM_Try, /*On fail goto*//*Label 3158*/ GIMT_Encode4(146243),
51882 /* 146058 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
51883 /* 146061 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
51884 /* 146064 */ GIM_Try, /*On fail goto*//*Label 3159*/ GIMT_Encode4(146126), // Rule ID 2635 //
51885 /* 146069 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51886 /* 146072 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51887 /* 146076 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51888 /* 146080 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51889 /* 146084 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51890 /* 146088 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51891 /* 146091 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51892 /* 146095 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51893 /* 146099 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51894 /* 146101 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51895 /* 146108 */ // (usubsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51896 /* 146108 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWYrm),
51897 /* 146111 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51898 /* 146113 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51899 /* 146115 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51900 /* 146119 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51901 /* 146124 */ GIR_RootConstrainSelectedInstOperands,
51902 /* 146125 */ // GIR_Coverage, 2635,
51903 /* 146125 */ GIR_EraseRootFromParent_Done,
51904 /* 146126 */ // Label 3159: @146126
51905 /* 146126 */ GIM_Try, /*On fail goto*//*Label 3160*/ GIMT_Encode4(146188), // Rule ID 4930 //
51906 /* 146131 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51907 /* 146134 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51908 /* 146138 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51909 /* 146142 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51910 /* 146146 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51911 /* 146150 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51912 /* 146153 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51913 /* 146157 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51914 /* 146161 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51915 /* 146163 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51916 /* 146170 */ // (usubsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51917 /* 146170 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWZ256rm),
51918 /* 146173 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51919 /* 146175 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51920 /* 146177 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51921 /* 146181 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51922 /* 146186 */ GIR_RootConstrainSelectedInstOperands,
51923 /* 146187 */ // GIR_Coverage, 4930,
51924 /* 146187 */ GIR_EraseRootFromParent_Done,
51925 /* 146188 */ // Label 3160: @146188
51926 /* 146188 */ GIM_Try, /*On fail goto*//*Label 3161*/ GIMT_Encode4(146215), // Rule ID 2634 //
51927 /* 146193 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51928 /* 146196 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51929 /* 146200 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51930 /* 146204 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51931 /* 146208 */ // (usubsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPSUBUSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
51932 /* 146208 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWYrr),
51933 /* 146213 */ GIR_RootConstrainSelectedInstOperands,
51934 /* 146214 */ // GIR_Coverage, 2634,
51935 /* 146214 */ GIR_Done,
51936 /* 146215 */ // Label 3161: @146215
51937 /* 146215 */ GIM_Try, /*On fail goto*//*Label 3162*/ GIMT_Encode4(146242), // Rule ID 4927 //
51938 /* 146220 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51939 /* 146223 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51940 /* 146227 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51941 /* 146231 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51942 /* 146235 */ // (usubsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPSUBUSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
51943 /* 146235 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWZ256rr),
51944 /* 146240 */ GIR_RootConstrainSelectedInstOperands,
51945 /* 146241 */ // GIR_Coverage, 4927,
51946 /* 146241 */ GIR_Done,
51947 /* 146242 */ // Label 3162: @146242
51948 /* 146242 */ GIM_Reject,
51949 /* 146243 */ // Label 3158: @146243
51950 /* 146243 */ GIM_Reject,
51951 /* 146244 */ // Label 3142: @146244
51952 /* 146244 */ GIM_Try, /*On fail goto*//*Label 3163*/ GIMT_Encode4(146434),
51953 /* 146249 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
51954 /* 146252 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
51955 /* 146255 */ GIM_Try, /*On fail goto*//*Label 3164*/ GIMT_Encode4(146317), // Rule ID 2629 //
51956 /* 146260 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51957 /* 146263 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51958 /* 146267 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51959 /* 146271 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51960 /* 146275 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51961 /* 146279 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51962 /* 146282 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51963 /* 146286 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51964 /* 146290 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51965 /* 146292 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51966 /* 146299 */ // (usubsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51967 /* 146299 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBYrm),
51968 /* 146302 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51969 /* 146304 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51970 /* 146306 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51971 /* 146310 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51972 /* 146315 */ GIR_RootConstrainSelectedInstOperands,
51973 /* 146316 */ // GIR_Coverage, 2629,
51974 /* 146316 */ GIR_EraseRootFromParent_Done,
51975 /* 146317 */ // Label 3164: @146317
51976 /* 146317 */ GIM_Try, /*On fail goto*//*Label 3165*/ GIMT_Encode4(146379), // Rule ID 4948 //
51977 /* 146322 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51978 /* 146325 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51979 /* 146329 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51980 /* 146333 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51981 /* 146337 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51982 /* 146341 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51983 /* 146344 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51984 /* 146348 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51985 /* 146352 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51986 /* 146354 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51987 /* 146361 */ // (usubsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51988 /* 146361 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBZ256rm),
51989 /* 146364 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51990 /* 146366 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51991 /* 146368 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51992 /* 146372 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51993 /* 146377 */ GIR_RootConstrainSelectedInstOperands,
51994 /* 146378 */ // GIR_Coverage, 4948,
51995 /* 146378 */ GIR_EraseRootFromParent_Done,
51996 /* 146379 */ // Label 3165: @146379
51997 /* 146379 */ GIM_Try, /*On fail goto*//*Label 3166*/ GIMT_Encode4(146406), // Rule ID 2628 //
51998 /* 146384 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51999 /* 146387 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52000 /* 146391 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52001 /* 146395 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52002 /* 146399 */ // (usubsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPSUBUSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
52003 /* 146399 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBYrr),
52004 /* 146404 */ GIR_RootConstrainSelectedInstOperands,
52005 /* 146405 */ // GIR_Coverage, 2628,
52006 /* 146405 */ GIR_Done,
52007 /* 146406 */ // Label 3166: @146406
52008 /* 146406 */ GIM_Try, /*On fail goto*//*Label 3167*/ GIMT_Encode4(146433), // Rule ID 4945 //
52009 /* 146411 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
52010 /* 146414 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52011 /* 146418 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52012 /* 146422 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52013 /* 146426 */ // (usubsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPSUBUSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
52014 /* 146426 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBZ256rr),
52015 /* 146431 */ GIR_RootConstrainSelectedInstOperands,
52016 /* 146432 */ // GIR_Coverage, 4945,
52017 /* 146432 */ GIR_Done,
52018 /* 146433 */ // Label 3167: @146433
52019 /* 146433 */ GIM_Reject,
52020 /* 146434 */ // Label 3163: @146434
52021 /* 146434 */ GIM_Reject,
52022 /* 146435 */ // Label 3143: @146435
52023 /* 146435 */ GIM_Try, /*On fail goto*//*Label 3168*/ GIMT_Encode4(146528),
52024 /* 146440 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
52025 /* 146443 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
52026 /* 146446 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52027 /* 146450 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52028 /* 146454 */ GIM_Try, /*On fail goto*//*Label 3169*/ GIMT_Encode4(146508), // Rule ID 4924 //
52029 /* 146459 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
52030 /* 146462 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52031 /* 146466 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52032 /* 146470 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52033 /* 146473 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52034 /* 146477 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52035 /* 146481 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52036 /* 146483 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52037 /* 146490 */ // (usubsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
52038 /* 146490 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWZrm),
52039 /* 146493 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52040 /* 146495 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52041 /* 146497 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52042 /* 146501 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52043 /* 146506 */ GIR_RootConstrainSelectedInstOperands,
52044 /* 146507 */ // GIR_Coverage, 4924,
52045 /* 146507 */ GIR_EraseRootFromParent_Done,
52046 /* 146508 */ // Label 3169: @146508
52047 /* 146508 */ GIM_Try, /*On fail goto*//*Label 3170*/ GIMT_Encode4(146527), // Rule ID 4921 //
52048 /* 146513 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
52049 /* 146516 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52050 /* 146520 */ // (usubsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPSUBUSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
52051 /* 146520 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWZrr),
52052 /* 146525 */ GIR_RootConstrainSelectedInstOperands,
52053 /* 146526 */ // GIR_Coverage, 4921,
52054 /* 146526 */ GIR_Done,
52055 /* 146527 */ // Label 3170: @146527
52056 /* 146527 */ GIM_Reject,
52057 /* 146528 */ // Label 3168: @146528
52058 /* 146528 */ GIM_Reject,
52059 /* 146529 */ // Label 3144: @146529
52060 /* 146529 */ GIM_Try, /*On fail goto*//*Label 3171*/ GIMT_Encode4(146622),
52061 /* 146534 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
52062 /* 146537 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
52063 /* 146540 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52064 /* 146544 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52065 /* 146548 */ GIM_Try, /*On fail goto*//*Label 3172*/ GIMT_Encode4(146602), // Rule ID 4942 //
52066 /* 146553 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
52067 /* 146556 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52068 /* 146560 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52069 /* 146564 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52070 /* 146567 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52071 /* 146571 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52072 /* 146575 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52073 /* 146577 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52074 /* 146584 */ // (usubsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
52075 /* 146584 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBZrm),
52076 /* 146587 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52077 /* 146589 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52078 /* 146591 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52079 /* 146595 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52080 /* 146600 */ GIR_RootConstrainSelectedInstOperands,
52081 /* 146601 */ // GIR_Coverage, 4942,
52082 /* 146601 */ GIR_EraseRootFromParent_Done,
52083 /* 146602 */ // Label 3172: @146602
52084 /* 146602 */ GIM_Try, /*On fail goto*//*Label 3173*/ GIMT_Encode4(146621), // Rule ID 4939 //
52085 /* 146607 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
52086 /* 146610 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52087 /* 146614 */ // (usubsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPSUBUSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
52088 /* 146614 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBZrr),
52089 /* 146619 */ GIR_RootConstrainSelectedInstOperands,
52090 /* 146620 */ // GIR_Coverage, 4939,
52091 /* 146620 */ GIR_Done,
52092 /* 146621 */ // Label 3173: @146621
52093 /* 146621 */ GIM_Reject,
52094 /* 146622 */ // Label 3171: @146622
52095 /* 146622 */ GIM_Reject,
52096 /* 146623 */ // Label 3145: @146623
52097 /* 146623 */ GIM_Reject,
52098 /* 146624 */ // Label 40: @146624
52099 /* 146624 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(25), /*)*//*default:*//*Label 3180*/ GIMT_Encode4(147689),
52100 /* 146635 */ /*GILLT_v8s16*//*Label 3174*/ GIMT_Encode4(146683), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
52101 /* 146651 */ /*GILLT_v16s8*//*Label 3175*/ GIMT_Encode4(146901),
52102 /* 146655 */ /*GILLT_v16s16*//*Label 3176*/ GIMT_Encode4(147119), GIMT_Encode4(0), GIMT_Encode4(0),
52103 /* 146667 */ /*GILLT_v32s8*//*Label 3177*/ GIMT_Encode4(147310),
52104 /* 146671 */ /*GILLT_v32s16*//*Label 3178*/ GIMT_Encode4(147501), GIMT_Encode4(0),
52105 /* 146679 */ /*GILLT_v64s8*//*Label 3179*/ GIMT_Encode4(147595),
52106 /* 146683 */ // Label 3174: @146683
52107 /* 146683 */ GIM_Try, /*On fail goto*//*Label 3181*/ GIMT_Encode4(146900),
52108 /* 146688 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
52109 /* 146691 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
52110 /* 146694 */ GIM_Try, /*On fail goto*//*Label 3182*/ GIMT_Encode4(146756), // Rule ID 2619 //
52111 /* 146699 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
52112 /* 146702 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52113 /* 146706 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52114 /* 146710 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52115 /* 146714 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52116 /* 146718 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52117 /* 146721 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52118 /* 146725 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52119 /* 146729 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52120 /* 146731 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52121 /* 146738 */ // (ssubsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
52122 /* 146738 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSWrm),
52123 /* 146741 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52124 /* 146743 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52125 /* 146745 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52126 /* 146749 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52127 /* 146754 */ GIR_RootConstrainSelectedInstOperands,
52128 /* 146755 */ // GIR_Coverage, 2619,
52129 /* 146755 */ GIR_EraseRootFromParent_Done,
52130 /* 146756 */ // Label 3182: @146756
52131 /* 146756 */ GIM_Try, /*On fail goto*//*Label 3183*/ GIMT_Encode4(146818), // Rule ID 4864 //
52132 /* 146761 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
52133 /* 146764 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52134 /* 146768 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52135 /* 146772 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52136 /* 146776 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52137 /* 146780 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52138 /* 146783 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52139 /* 146787 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52140 /* 146791 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52141 /* 146793 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52142 /* 146800 */ // (ssubsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
52143 /* 146800 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSWZ128rm),
52144 /* 146803 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52145 /* 146805 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52146 /* 146807 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52147 /* 146811 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52148 /* 146816 */ GIR_RootConstrainSelectedInstOperands,
52149 /* 146817 */ // GIR_Coverage, 4864,
52150 /* 146817 */ GIR_EraseRootFromParent_Done,
52151 /* 146818 */ // Label 3183: @146818
52152 /* 146818 */ GIM_Try, /*On fail goto*//*Label 3184*/ GIMT_Encode4(146845), // Rule ID 2618 //
52153 /* 146823 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
52154 /* 146826 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52155 /* 146830 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52156 /* 146834 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52157 /* 146838 */ // (ssubsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPSUBSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
52158 /* 146838 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSWrr),
52159 /* 146843 */ GIR_RootConstrainSelectedInstOperands,
52160 /* 146844 */ // GIR_Coverage, 2618,
52161 /* 146844 */ GIR_Done,
52162 /* 146845 */ // Label 3184: @146845
52163 /* 146845 */ GIM_Try, /*On fail goto*//*Label 3185*/ GIMT_Encode4(146872), // Rule ID 2620 //
52164 /* 146850 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
52165 /* 146853 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52166 /* 146857 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52167 /* 146861 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52168 /* 146865 */ // (ssubsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PSUBSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
52169 /* 146865 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBSWrr),
52170 /* 146870 */ GIR_RootConstrainSelectedInstOperands,
52171 /* 146871 */ // GIR_Coverage, 2620,
52172 /* 146871 */ GIR_Done,
52173 /* 146872 */ // Label 3185: @146872
52174 /* 146872 */ GIM_Try, /*On fail goto*//*Label 3186*/ GIMT_Encode4(146899), // Rule ID 4861 //
52175 /* 146877 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
52176 /* 146880 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52177 /* 146884 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52178 /* 146888 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52179 /* 146892 */ // (ssubsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPSUBSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
52180 /* 146892 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSWZ128rr),
52181 /* 146897 */ GIR_RootConstrainSelectedInstOperands,
52182 /* 146898 */ // GIR_Coverage, 4861,
52183 /* 146898 */ GIR_Done,
52184 /* 146899 */ // Label 3186: @146899
52185 /* 146899 */ GIM_Reject,
52186 /* 146900 */ // Label 3181: @146900
52187 /* 146900 */ GIM_Reject,
52188 /* 146901 */ // Label 3175: @146901
52189 /* 146901 */ GIM_Try, /*On fail goto*//*Label 3187*/ GIMT_Encode4(147118),
52190 /* 146906 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
52191 /* 146909 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
52192 /* 146912 */ GIM_Try, /*On fail goto*//*Label 3188*/ GIMT_Encode4(146974), // Rule ID 2613 //
52193 /* 146917 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
52194 /* 146920 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52195 /* 146924 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52196 /* 146928 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52197 /* 146932 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52198 /* 146936 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52199 /* 146939 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52200 /* 146943 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52201 /* 146947 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52202 /* 146949 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52203 /* 146956 */ // (ssubsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
52204 /* 146956 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSBrm),
52205 /* 146959 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52206 /* 146961 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52207 /* 146963 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52208 /* 146967 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52209 /* 146972 */ GIR_RootConstrainSelectedInstOperands,
52210 /* 146973 */ // GIR_Coverage, 2613,
52211 /* 146973 */ GIR_EraseRootFromParent_Done,
52212 /* 146974 */ // Label 3188: @146974
52213 /* 146974 */ GIM_Try, /*On fail goto*//*Label 3189*/ GIMT_Encode4(147036), // Rule ID 4882 //
52214 /* 146979 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
52215 /* 146982 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52216 /* 146986 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52217 /* 146990 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52218 /* 146994 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52219 /* 146998 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52220 /* 147001 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52221 /* 147005 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52222 /* 147009 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52223 /* 147011 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52224 /* 147018 */ // (ssubsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
52225 /* 147018 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSBZ128rm),
52226 /* 147021 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52227 /* 147023 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52228 /* 147025 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52229 /* 147029 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52230 /* 147034 */ GIR_RootConstrainSelectedInstOperands,
52231 /* 147035 */ // GIR_Coverage, 4882,
52232 /* 147035 */ GIR_EraseRootFromParent_Done,
52233 /* 147036 */ // Label 3189: @147036
52234 /* 147036 */ GIM_Try, /*On fail goto*//*Label 3190*/ GIMT_Encode4(147063), // Rule ID 2612 //
52235 /* 147041 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
52236 /* 147044 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52237 /* 147048 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52238 /* 147052 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52239 /* 147056 */ // (ssubsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPSUBSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
52240 /* 147056 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSBrr),
52241 /* 147061 */ GIR_RootConstrainSelectedInstOperands,
52242 /* 147062 */ // GIR_Coverage, 2612,
52243 /* 147062 */ GIR_Done,
52244 /* 147063 */ // Label 3190: @147063
52245 /* 147063 */ GIM_Try, /*On fail goto*//*Label 3191*/ GIMT_Encode4(147090), // Rule ID 2614 //
52246 /* 147068 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
52247 /* 147071 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52248 /* 147075 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52249 /* 147079 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52250 /* 147083 */ // (ssubsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PSUBSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
52251 /* 147083 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBSBrr),
52252 /* 147088 */ GIR_RootConstrainSelectedInstOperands,
52253 /* 147089 */ // GIR_Coverage, 2614,
52254 /* 147089 */ GIR_Done,
52255 /* 147090 */ // Label 3191: @147090
52256 /* 147090 */ GIM_Try, /*On fail goto*//*Label 3192*/ GIMT_Encode4(147117), // Rule ID 4879 //
52257 /* 147095 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
52258 /* 147098 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52259 /* 147102 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52260 /* 147106 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52261 /* 147110 */ // (ssubsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPSUBSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
52262 /* 147110 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSBZ128rr),
52263 /* 147115 */ GIR_RootConstrainSelectedInstOperands,
52264 /* 147116 */ // GIR_Coverage, 4879,
52265 /* 147116 */ GIR_Done,
52266 /* 147117 */ // Label 3192: @147117
52267 /* 147117 */ GIM_Reject,
52268 /* 147118 */ // Label 3187: @147118
52269 /* 147118 */ GIM_Reject,
52270 /* 147119 */ // Label 3176: @147119
52271 /* 147119 */ GIM_Try, /*On fail goto*//*Label 3193*/ GIMT_Encode4(147309),
52272 /* 147124 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
52273 /* 147127 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
52274 /* 147130 */ GIM_Try, /*On fail goto*//*Label 3194*/ GIMT_Encode4(147192), // Rule ID 2623 //
52275 /* 147135 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
52276 /* 147138 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52277 /* 147142 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52278 /* 147146 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52279 /* 147150 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52280 /* 147154 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52281 /* 147157 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52282 /* 147161 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52283 /* 147165 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52284 /* 147167 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52285 /* 147174 */ // (ssubsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
52286 /* 147174 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSWYrm),
52287 /* 147177 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52288 /* 147179 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52289 /* 147181 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52290 /* 147185 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52291 /* 147190 */ GIR_RootConstrainSelectedInstOperands,
52292 /* 147191 */ // GIR_Coverage, 2623,
52293 /* 147191 */ GIR_EraseRootFromParent_Done,
52294 /* 147192 */ // Label 3194: @147192
52295 /* 147192 */ GIM_Try, /*On fail goto*//*Label 3195*/ GIMT_Encode4(147254), // Rule ID 4858 //
52296 /* 147197 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
52297 /* 147200 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52298 /* 147204 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52299 /* 147208 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52300 /* 147212 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52301 /* 147216 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52302 /* 147219 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52303 /* 147223 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52304 /* 147227 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52305 /* 147229 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52306 /* 147236 */ // (ssubsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
52307 /* 147236 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSWZ256rm),
52308 /* 147239 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52309 /* 147241 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52310 /* 147243 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52311 /* 147247 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52312 /* 147252 */ GIR_RootConstrainSelectedInstOperands,
52313 /* 147253 */ // GIR_Coverage, 4858,
52314 /* 147253 */ GIR_EraseRootFromParent_Done,
52315 /* 147254 */ // Label 3195: @147254
52316 /* 147254 */ GIM_Try, /*On fail goto*//*Label 3196*/ GIMT_Encode4(147281), // Rule ID 2622 //
52317 /* 147259 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
52318 /* 147262 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52319 /* 147266 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52320 /* 147270 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52321 /* 147274 */ // (ssubsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPSUBSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
52322 /* 147274 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSWYrr),
52323 /* 147279 */ GIR_RootConstrainSelectedInstOperands,
52324 /* 147280 */ // GIR_Coverage, 2622,
52325 /* 147280 */ GIR_Done,
52326 /* 147281 */ // Label 3196: @147281
52327 /* 147281 */ GIM_Try, /*On fail goto*//*Label 3197*/ GIMT_Encode4(147308), // Rule ID 4855 //
52328 /* 147286 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
52329 /* 147289 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52330 /* 147293 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52331 /* 147297 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52332 /* 147301 */ // (ssubsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPSUBSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
52333 /* 147301 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSWZ256rr),
52334 /* 147306 */ GIR_RootConstrainSelectedInstOperands,
52335 /* 147307 */ // GIR_Coverage, 4855,
52336 /* 147307 */ GIR_Done,
52337 /* 147308 */ // Label 3197: @147308
52338 /* 147308 */ GIM_Reject,
52339 /* 147309 */ // Label 3193: @147309
52340 /* 147309 */ GIM_Reject,
52341 /* 147310 */ // Label 3177: @147310
52342 /* 147310 */ GIM_Try, /*On fail goto*//*Label 3198*/ GIMT_Encode4(147500),
52343 /* 147315 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
52344 /* 147318 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
52345 /* 147321 */ GIM_Try, /*On fail goto*//*Label 3199*/ GIMT_Encode4(147383), // Rule ID 2617 //
52346 /* 147326 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
52347 /* 147329 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52348 /* 147333 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52349 /* 147337 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52350 /* 147341 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52351 /* 147345 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52352 /* 147348 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52353 /* 147352 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52354 /* 147356 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52355 /* 147358 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52356 /* 147365 */ // (ssubsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
52357 /* 147365 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSBYrm),
52358 /* 147368 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52359 /* 147370 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52360 /* 147372 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52361 /* 147376 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52362 /* 147381 */ GIR_RootConstrainSelectedInstOperands,
52363 /* 147382 */ // GIR_Coverage, 2617,
52364 /* 147382 */ GIR_EraseRootFromParent_Done,
52365 /* 147383 */ // Label 3199: @147383
52366 /* 147383 */ GIM_Try, /*On fail goto*//*Label 3200*/ GIMT_Encode4(147445), // Rule ID 4876 //
52367 /* 147388 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
52368 /* 147391 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52369 /* 147395 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52370 /* 147399 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52371 /* 147403 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52372 /* 147407 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52373 /* 147410 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52374 /* 147414 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52375 /* 147418 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52376 /* 147420 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52377 /* 147427 */ // (ssubsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
52378 /* 147427 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSBZ256rm),
52379 /* 147430 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52380 /* 147432 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52381 /* 147434 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52382 /* 147438 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52383 /* 147443 */ GIR_RootConstrainSelectedInstOperands,
52384 /* 147444 */ // GIR_Coverage, 4876,
52385 /* 147444 */ GIR_EraseRootFromParent_Done,
52386 /* 147445 */ // Label 3200: @147445
52387 /* 147445 */ GIM_Try, /*On fail goto*//*Label 3201*/ GIMT_Encode4(147472), // Rule ID 2616 //
52388 /* 147450 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
52389 /* 147453 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52390 /* 147457 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52391 /* 147461 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52392 /* 147465 */ // (ssubsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPSUBSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
52393 /* 147465 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSBYrr),
52394 /* 147470 */ GIR_RootConstrainSelectedInstOperands,
52395 /* 147471 */ // GIR_Coverage, 2616,
52396 /* 147471 */ GIR_Done,
52397 /* 147472 */ // Label 3201: @147472
52398 /* 147472 */ GIM_Try, /*On fail goto*//*Label 3202*/ GIMT_Encode4(147499), // Rule ID 4873 //
52399 /* 147477 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
52400 /* 147480 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52401 /* 147484 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52402 /* 147488 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52403 /* 147492 */ // (ssubsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPSUBSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
52404 /* 147492 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSBZ256rr),
52405 /* 147497 */ GIR_RootConstrainSelectedInstOperands,
52406 /* 147498 */ // GIR_Coverage, 4873,
52407 /* 147498 */ GIR_Done,
52408 /* 147499 */ // Label 3202: @147499
52409 /* 147499 */ GIM_Reject,
52410 /* 147500 */ // Label 3198: @147500
52411 /* 147500 */ GIM_Reject,
52412 /* 147501 */ // Label 3178: @147501
52413 /* 147501 */ GIM_Try, /*On fail goto*//*Label 3203*/ GIMT_Encode4(147594),
52414 /* 147506 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
52415 /* 147509 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
52416 /* 147512 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52417 /* 147516 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52418 /* 147520 */ GIM_Try, /*On fail goto*//*Label 3204*/ GIMT_Encode4(147574), // Rule ID 4852 //
52419 /* 147525 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
52420 /* 147528 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52421 /* 147532 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52422 /* 147536 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52423 /* 147539 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52424 /* 147543 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52425 /* 147547 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52426 /* 147549 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52427 /* 147556 */ // (ssubsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
52428 /* 147556 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSWZrm),
52429 /* 147559 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52430 /* 147561 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52431 /* 147563 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52432 /* 147567 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52433 /* 147572 */ GIR_RootConstrainSelectedInstOperands,
52434 /* 147573 */ // GIR_Coverage, 4852,
52435 /* 147573 */ GIR_EraseRootFromParent_Done,
52436 /* 147574 */ // Label 3204: @147574
52437 /* 147574 */ GIM_Try, /*On fail goto*//*Label 3205*/ GIMT_Encode4(147593), // Rule ID 4849 //
52438 /* 147579 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
52439 /* 147582 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52440 /* 147586 */ // (ssubsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPSUBSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
52441 /* 147586 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSWZrr),
52442 /* 147591 */ GIR_RootConstrainSelectedInstOperands,
52443 /* 147592 */ // GIR_Coverage, 4849,
52444 /* 147592 */ GIR_Done,
52445 /* 147593 */ // Label 3205: @147593
52446 /* 147593 */ GIM_Reject,
52447 /* 147594 */ // Label 3203: @147594
52448 /* 147594 */ GIM_Reject,
52449 /* 147595 */ // Label 3179: @147595
52450 /* 147595 */ GIM_Try, /*On fail goto*//*Label 3206*/ GIMT_Encode4(147688),
52451 /* 147600 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
52452 /* 147603 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
52453 /* 147606 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52454 /* 147610 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52455 /* 147614 */ GIM_Try, /*On fail goto*//*Label 3207*/ GIMT_Encode4(147668), // Rule ID 4870 //
52456 /* 147619 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
52457 /* 147622 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52458 /* 147626 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52459 /* 147630 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52460 /* 147633 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52461 /* 147637 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52462 /* 147641 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52463 /* 147643 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52464 /* 147650 */ // (ssubsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
52465 /* 147650 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSBZrm),
52466 /* 147653 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52467 /* 147655 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52468 /* 147657 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52469 /* 147661 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52470 /* 147666 */ GIR_RootConstrainSelectedInstOperands,
52471 /* 147667 */ // GIR_Coverage, 4870,
52472 /* 147667 */ GIR_EraseRootFromParent_Done,
52473 /* 147668 */ // Label 3207: @147668
52474 /* 147668 */ GIM_Try, /*On fail goto*//*Label 3208*/ GIMT_Encode4(147687), // Rule ID 4867 //
52475 /* 147673 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
52476 /* 147676 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52477 /* 147680 */ // (ssubsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPSUBSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
52478 /* 147680 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSBZrr),
52479 /* 147685 */ GIR_RootConstrainSelectedInstOperands,
52480 /* 147686 */ // GIR_Coverage, 4867,
52481 /* 147686 */ GIR_Done,
52482 /* 147687 */ // Label 3208: @147687
52483 /* 147687 */ GIM_Reject,
52484 /* 147688 */ // Label 3206: @147688
52485 /* 147688 */ GIM_Reject,
52486 /* 147689 */ // Label 3180: @147689
52487 /* 147689 */ GIM_Reject,
52488 /* 147690 */ // Label 41: @147690
52489 /* 147690 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 3222*/ GIMT_Encode4(153603),
52490 /* 147701 */ /*GILLT_s16*//*Label 3209*/ GIMT_Encode4(147785),
52491 /* 147705 */ /*GILLT_s32*//*Label 3210*/ GIMT_Encode4(147945),
52492 /* 147709 */ /*GILLT_s64*//*Label 3211*/ GIMT_Encode4(149342),
52493 /* 147713 */ /*GILLT_s80*//*Label 3212*/ GIMT_Encode4(150883), GIMT_Encode4(0), GIMT_Encode4(0),
52494 /* 147725 */ /*GILLT_v2s64*//*Label 3213*/ GIMT_Encode4(151449), GIMT_Encode4(0),
52495 /* 147733 */ /*GILLT_v4s32*//*Label 3214*/ GIMT_Encode4(151803),
52496 /* 147737 */ /*GILLT_v4s64*//*Label 3215*/ GIMT_Encode4(152157), GIMT_Encode4(0),
52497 /* 147745 */ /*GILLT_v8s16*//*Label 3216*/ GIMT_Encode4(152480),
52498 /* 147749 */ /*GILLT_v8s32*//*Label 3217*/ GIMT_Encode4(152640),
52499 /* 147753 */ /*GILLT_v8s64*//*Label 3218*/ GIMT_Encode4(152963), GIMT_Encode4(0), GIMT_Encode4(0),
52500 /* 147765 */ /*GILLT_v16s16*//*Label 3219*/ GIMT_Encode4(153123),
52501 /* 147769 */ /*GILLT_v16s32*//*Label 3220*/ GIMT_Encode4(153283), GIMT_Encode4(0), GIMT_Encode4(0),
52502 /* 147781 */ /*GILLT_v32s16*//*Label 3221*/ GIMT_Encode4(153443),
52503 /* 147785 */ // Label 3209: @147785
52504 /* 147785 */ GIM_Try, /*On fail goto*//*Label 3223*/ GIMT_Encode4(147944),
52505 /* 147790 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
52506 /* 147793 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
52507 /* 147796 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
52508 /* 147800 */ GIM_Try, /*On fail goto*//*Label 3224*/ GIMT_Encode4(147858), // Rule ID 24250 //
52509 /* 147805 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
52510 /* 147808 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52511 /* 147812 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52512 /* 147816 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52513 /* 147819 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52514 /* 147823 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52515 /* 147827 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
52516 /* 147831 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52517 /* 147833 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52518 /* 147840 */ // (fadd:{ *:[f16] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR16X:{ *:[f16] }:$src1) => (VADDSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
52519 /* 147840 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSHZrm),
52520 /* 147843 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52521 /* 147845 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52522 /* 147847 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52523 /* 147851 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52524 /* 147856 */ GIR_RootConstrainSelectedInstOperands,
52525 /* 147857 */ // GIR_Coverage, 24250,
52526 /* 147857 */ GIR_EraseRootFromParent_Done,
52527 /* 147858 */ // Label 3224: @147858
52528 /* 147858 */ GIM_Try, /*On fail goto*//*Label 3225*/ GIMT_Encode4(147916), // Rule ID 5955 //
52529 /* 147863 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
52530 /* 147866 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
52531 /* 147870 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52532 /* 147874 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52533 /* 147878 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52534 /* 147881 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52535 /* 147885 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52536 /* 147889 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52537 /* 147891 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52538 /* 147898 */ // (fadd:{ *:[f16] } FR16X:{ *:[f16] }:$src1, (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
52539 /* 147898 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSHZrm),
52540 /* 147901 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52541 /* 147903 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52542 /* 147905 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52543 /* 147909 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52544 /* 147914 */ GIR_RootConstrainSelectedInstOperands,
52545 /* 147915 */ // GIR_Coverage, 5955,
52546 /* 147915 */ GIR_EraseRootFromParent_Done,
52547 /* 147916 */ // Label 3225: @147916
52548 /* 147916 */ GIM_Try, /*On fail goto*//*Label 3226*/ GIMT_Encode4(147943), // Rule ID 5953 //
52549 /* 147921 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
52550 /* 147924 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
52551 /* 147928 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
52552 /* 147932 */ // (fadd:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VADDSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
52553 /* 147932 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSHZrr),
52554 /* 147937 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52555 /* 147941 */ GIR_RootConstrainSelectedInstOperands,
52556 /* 147942 */ // GIR_Coverage, 5953,
52557 /* 147942 */ GIR_Done,
52558 /* 147943 */ // Label 3226: @147943
52559 /* 147943 */ GIM_Reject,
52560 /* 147944 */ // Label 3223: @147944
52561 /* 147944 */ GIM_Reject,
52562 /* 147945 */ // Label 3210: @147945
52563 /* 147945 */ GIM_Try, /*On fail goto*//*Label 3227*/ GIMT_Encode4(149341),
52564 /* 147950 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
52565 /* 147953 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
52566 /* 147956 */ GIM_Try, /*On fail goto*//*Label 3228*/ GIMT_Encode4(148038), // Rule ID 26018 //
52567 /* 147961 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
52568 /* 147964 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52569 /* 147968 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52570 /* 147972 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
52571 /* 147976 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
52572 /* 147980 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
52573 /* 147984 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
52574 /* 147988 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
52575 /* 147991 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
52576 /* 147995 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
52577 /* 148002 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
52578 /* 148006 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52579 /* 148010 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
52580 /* 148012 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52581 /* 148019 */ // (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)
52582 /* 148019 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSSrm),
52583 /* 148022 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52584 /* 148024 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52585 /* 148026 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52586 /* 148030 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
52587 /* 148036 */ GIR_RootConstrainSelectedInstOperands,
52588 /* 148037 */ // GIR_Coverage, 26018,
52589 /* 148037 */ GIR_EraseRootFromParent_Done,
52590 /* 148038 */ // Label 3228: @148038
52591 /* 148038 */ GIM_Try, /*On fail goto*//*Label 3229*/ GIMT_Encode4(148120), // Rule ID 26019 //
52592 /* 148043 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
52593 /* 148046 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52594 /* 148050 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52595 /* 148054 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
52596 /* 148058 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
52597 /* 148062 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
52598 /* 148066 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
52599 /* 148070 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
52600 /* 148073 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
52601 /* 148077 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
52602 /* 148084 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
52603 /* 148088 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52604 /* 148092 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
52605 /* 148094 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52606 /* 148101 */ // (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)
52607 /* 148101 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSrm),
52608 /* 148104 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52609 /* 148106 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52610 /* 148108 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52611 /* 148112 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
52612 /* 148118 */ GIR_RootConstrainSelectedInstOperands,
52613 /* 148119 */ // GIR_Coverage, 26019,
52614 /* 148119 */ GIR_EraseRootFromParent_Done,
52615 /* 148120 */ // Label 3229: @148120
52616 /* 148120 */ GIM_Try, /*On fail goto*//*Label 3230*/ GIMT_Encode4(148202), // Rule ID 26020 //
52617 /* 148125 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
52618 /* 148128 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
52619 /* 148132 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52620 /* 148136 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
52621 /* 148140 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
52622 /* 148144 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
52623 /* 148148 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
52624 /* 148152 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
52625 /* 148155 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
52626 /* 148159 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
52627 /* 148166 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
52628 /* 148170 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
52629 /* 148174 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
52630 /* 148176 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52631 /* 148183 */ // (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)
52632 /* 148183 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSZrm),
52633 /* 148186 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52634 /* 148188 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52635 /* 148190 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52636 /* 148194 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
52637 /* 148200 */ GIR_RootConstrainSelectedInstOperands,
52638 /* 148201 */ // GIR_Coverage, 26020,
52639 /* 148201 */ GIR_EraseRootFromParent_Done,
52640 /* 148202 */ // Label 3230: @148202
52641 /* 148202 */ GIM_Try, /*On fail goto*//*Label 3231*/ GIMT_Encode4(148284), // Rule ID 22467 //
52642 /* 148207 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
52643 /* 148210 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52644 /* 148214 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52645 /* 148218 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52646 /* 148222 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
52647 /* 148226 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
52648 /* 148230 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
52649 /* 148234 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
52650 /* 148238 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
52651 /* 148241 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
52652 /* 148245 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
52653 /* 148252 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
52654 /* 148256 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
52655 /* 148258 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52656 /* 148265 */ // (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)
52657 /* 148265 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSSrm),
52658 /* 148268 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52659 /* 148270 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52660 /* 148272 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52661 /* 148276 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
52662 /* 148282 */ GIR_RootConstrainSelectedInstOperands,
52663 /* 148283 */ // GIR_Coverage, 22467,
52664 /* 148283 */ GIR_EraseRootFromParent_Done,
52665 /* 148284 */ // Label 3231: @148284
52666 /* 148284 */ GIM_Try, /*On fail goto*//*Label 3232*/ GIMT_Encode4(148366), // Rule ID 22468 //
52667 /* 148289 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
52668 /* 148292 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52669 /* 148296 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52670 /* 148300 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52671 /* 148304 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
52672 /* 148308 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
52673 /* 148312 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
52674 /* 148316 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
52675 /* 148320 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
52676 /* 148323 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
52677 /* 148327 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
52678 /* 148334 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
52679 /* 148338 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
52680 /* 148340 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52681 /* 148347 */ // (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)
52682 /* 148347 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSrm),
52683 /* 148350 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52684 /* 148352 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52685 /* 148354 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52686 /* 148358 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
52687 /* 148364 */ GIR_RootConstrainSelectedInstOperands,
52688 /* 148365 */ // GIR_Coverage, 22468,
52689 /* 148365 */ GIR_EraseRootFromParent_Done,
52690 /* 148366 */ // Label 3232: @148366
52691 /* 148366 */ GIM_Try, /*On fail goto*//*Label 3233*/ GIMT_Encode4(148448), // Rule ID 22469 //
52692 /* 148371 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
52693 /* 148374 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
52694 /* 148378 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
52695 /* 148382 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52696 /* 148386 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
52697 /* 148390 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
52698 /* 148394 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
52699 /* 148398 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
52700 /* 148402 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
52701 /* 148405 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
52702 /* 148409 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
52703 /* 148416 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
52704 /* 148420 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
52705 /* 148422 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52706 /* 148429 */ // (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)
52707 /* 148429 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSZrm),
52708 /* 148432 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52709 /* 148434 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52710 /* 148436 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52711 /* 148440 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
52712 /* 148446 */ GIR_RootConstrainSelectedInstOperands,
52713 /* 148447 */ // GIR_Coverage, 22469,
52714 /* 148447 */ GIR_EraseRootFromParent_Done,
52715 /* 148448 */ // Label 3233: @148448
52716 /* 148448 */ GIM_Try, /*On fail goto*//*Label 3234*/ GIMT_Encode4(148513), // Rule ID 23247 //
52717 /* 148453 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
52718 /* 148456 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52719 /* 148460 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52720 /* 148464 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
52721 /* 148468 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
52722 /* 148475 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52723 /* 148479 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52724 /* 148483 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52725 /* 148485 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52726 /* 148492 */ // (fadd:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (ADD_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52727 /* 148492 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m32),
52728 /* 148495 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52729 /* 148497 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52730 /* 148499 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52731 /* 148503 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52732 /* 148506 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52733 /* 148511 */ GIR_RootConstrainSelectedInstOperands,
52734 /* 148512 */ // GIR_Coverage, 23247,
52735 /* 148512 */ GIR_EraseRootFromParent_Done,
52736 /* 148513 */ // Label 3234: @148513
52737 /* 148513 */ GIM_Try, /*On fail goto*//*Label 3235*/ GIMT_Encode4(148578), // Rule ID 23249 //
52738 /* 148518 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
52739 /* 148521 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52740 /* 148525 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52741 /* 148529 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
52742 /* 148533 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
52743 /* 148540 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52744 /* 148544 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52745 /* 148548 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52746 /* 148550 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52747 /* 148557 */ // (fadd:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (ADD_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52748 /* 148557 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m32),
52749 /* 148560 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52750 /* 148562 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52751 /* 148564 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52752 /* 148568 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52753 /* 148571 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52754 /* 148576 */ GIR_RootConstrainSelectedInstOperands,
52755 /* 148577 */ // GIR_Coverage, 23249,
52756 /* 148577 */ GIR_EraseRootFromParent_Done,
52757 /* 148578 */ // Label 3235: @148578
52758 /* 148578 */ GIM_Try, /*On fail goto*//*Label 3236*/ GIMT_Encode4(148643), // Rule ID 23237 //
52759 /* 148583 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
52760 /* 148586 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52761 /* 148590 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52762 /* 148594 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52763 /* 148598 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52764 /* 148601 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52765 /* 148605 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52766 /* 148609 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52767 /* 148613 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52768 /* 148615 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52769 /* 148622 */ // (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)
52770 /* 148622 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp32m),
52771 /* 148625 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52772 /* 148627 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52773 /* 148629 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52774 /* 148633 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52775 /* 148636 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52776 /* 148641 */ GIR_RootConstrainSelectedInstOperands,
52777 /* 148642 */ // GIR_Coverage, 23237,
52778 /* 148642 */ GIR_EraseRootFromParent_Done,
52779 /* 148643 */ // Label 3236: @148643
52780 /* 148643 */ GIM_Try, /*On fail goto*//*Label 3237*/ GIMT_Encode4(148705), // Rule ID 23382 //
52781 /* 148648 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
52782 /* 148651 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52783 /* 148655 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52784 /* 148659 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52785 /* 148663 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52786 /* 148666 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52787 /* 148670 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52788 /* 148674 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52789 /* 148678 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52790 /* 148680 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52791 /* 148687 */ // (fadd:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32:{ *:[f32] }:$src1) => (VADDSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52792 /* 148687 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSrm),
52793 /* 148690 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52794 /* 148692 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52795 /* 148694 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52796 /* 148698 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52797 /* 148703 */ GIR_RootConstrainSelectedInstOperands,
52798 /* 148704 */ // GIR_Coverage, 23382,
52799 /* 148704 */ GIR_EraseRootFromParent_Done,
52800 /* 148705 */ // Label 3237: @148705
52801 /* 148705 */ GIM_Try, /*On fail goto*//*Label 3238*/ GIMT_Encode4(148767), // Rule ID 23386 //
52802 /* 148710 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
52803 /* 148713 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52804 /* 148717 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52805 /* 148721 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52806 /* 148725 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52807 /* 148728 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52808 /* 148732 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52809 /* 148736 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52810 /* 148740 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52811 /* 148742 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52812 /* 148749 */ // (fadd:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32:{ *:[f32] }:$src1) => (ADDSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52813 /* 148749 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSSrm),
52814 /* 148752 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52815 /* 148754 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52816 /* 148756 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52817 /* 148760 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52818 /* 148765 */ GIR_RootConstrainSelectedInstOperands,
52819 /* 148766 */ // GIR_Coverage, 23386,
52820 /* 148766 */ GIR_EraseRootFromParent_Done,
52821 /* 148767 */ // Label 3238: @148767
52822 /* 148767 */ GIM_Try, /*On fail goto*//*Label 3239*/ GIMT_Encode4(148829), // Rule ID 24246 //
52823 /* 148772 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
52824 /* 148775 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
52825 /* 148779 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52826 /* 148783 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52827 /* 148787 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52828 /* 148790 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52829 /* 148794 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52830 /* 148798 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
52831 /* 148802 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52832 /* 148804 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52833 /* 148811 */ // (fadd:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32X:{ *:[f32] }:$src1) => (VADDSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52834 /* 148811 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSZrm),
52835 /* 148814 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52836 /* 148816 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52837 /* 148818 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52838 /* 148822 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52839 /* 148827 */ GIR_RootConstrainSelectedInstOperands,
52840 /* 148828 */ // GIR_Coverage, 24246,
52841 /* 148828 */ GIR_EraseRootFromParent_Done,
52842 /* 148829 */ // Label 3239: @148829
52843 /* 148829 */ GIM_Try, /*On fail goto*//*Label 3240*/ GIMT_Encode4(148894), // Rule ID 921 //
52844 /* 148834 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
52845 /* 148837 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52846 /* 148841 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52847 /* 148845 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52848 /* 148849 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
52849 /* 148853 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
52850 /* 148860 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52851 /* 148864 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52852 /* 148866 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52853 /* 148873 */ // (fadd:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (ADD_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52854 /* 148873 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m32),
52855 /* 148876 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52856 /* 148878 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52857 /* 148880 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52858 /* 148884 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52859 /* 148887 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52860 /* 148892 */ GIR_RootConstrainSelectedInstOperands,
52861 /* 148893 */ // GIR_Coverage, 921,
52862 /* 148893 */ GIR_EraseRootFromParent_Done,
52863 /* 148894 */ // Label 3240: @148894
52864 /* 148894 */ GIM_Try, /*On fail goto*//*Label 3241*/ GIMT_Encode4(148959), // Rule ID 923 //
52865 /* 148899 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
52866 /* 148902 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52867 /* 148906 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52868 /* 148910 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52869 /* 148914 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
52870 /* 148918 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
52871 /* 148925 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52872 /* 148929 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52873 /* 148931 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52874 /* 148938 */ // (fadd:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (ADD_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52875 /* 148938 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m32),
52876 /* 148941 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52877 /* 148943 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52878 /* 148945 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52879 /* 148949 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52880 /* 148952 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52881 /* 148957 */ GIR_RootConstrainSelectedInstOperands,
52882 /* 148958 */ // GIR_Coverage, 923,
52883 /* 148958 */ GIR_EraseRootFromParent_Done,
52884 /* 148959 */ // Label 3241: @148959
52885 /* 148959 */ GIM_Try, /*On fail goto*//*Label 3242*/ GIMT_Encode4(149024), // Rule ID 911 //
52886 /* 148964 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
52887 /* 148967 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52888 /* 148971 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52889 /* 148975 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52890 /* 148979 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52891 /* 148983 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52892 /* 148986 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52893 /* 148990 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52894 /* 148994 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52895 /* 148996 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52896 /* 149003 */ // (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)
52897 /* 149003 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp32m),
52898 /* 149006 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52899 /* 149008 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52900 /* 149010 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52901 /* 149014 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52902 /* 149017 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52903 /* 149022 */ GIR_RootConstrainSelectedInstOperands,
52904 /* 149023 */ // GIR_Coverage, 911,
52905 /* 149023 */ GIR_EraseRootFromParent_Done,
52906 /* 149024 */ // Label 3242: @149024
52907 /* 149024 */ GIM_Try, /*On fail goto*//*Label 3243*/ GIMT_Encode4(149086), // Rule ID 2161 //
52908 /* 149029 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
52909 /* 149032 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52910 /* 149036 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52911 /* 149040 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52912 /* 149044 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52913 /* 149048 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52914 /* 149051 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52915 /* 149055 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52916 /* 149059 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52917 /* 149061 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52918 /* 149068 */ // (fadd:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52919 /* 149068 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSrm),
52920 /* 149071 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52921 /* 149073 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52922 /* 149075 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52923 /* 149079 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52924 /* 149084 */ GIR_RootConstrainSelectedInstOperands,
52925 /* 149085 */ // GIR_Coverage, 2161,
52926 /* 149085 */ GIR_EraseRootFromParent_Done,
52927 /* 149086 */ // Label 3243: @149086
52928 /* 149086 */ GIM_Try, /*On fail goto*//*Label 3244*/ GIMT_Encode4(149148), // Rule ID 2169 //
52929 /* 149091 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
52930 /* 149094 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52931 /* 149098 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52932 /* 149102 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52933 /* 149106 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52934 /* 149110 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52935 /* 149113 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52936 /* 149117 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52937 /* 149121 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52938 /* 149123 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52939 /* 149130 */ // (fadd:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (ADDSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52940 /* 149130 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSSrm),
52941 /* 149133 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52942 /* 149135 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52943 /* 149137 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52944 /* 149141 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52945 /* 149146 */ GIR_RootConstrainSelectedInstOperands,
52946 /* 149147 */ // GIR_Coverage, 2169,
52947 /* 149147 */ GIR_EraseRootFromParent_Done,
52948 /* 149148 */ // Label 3244: @149148
52949 /* 149148 */ GIM_Try, /*On fail goto*//*Label 3245*/ GIMT_Encode4(149210), // Rule ID 5917 //
52950 /* 149153 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
52951 /* 149156 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
52952 /* 149160 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
52953 /* 149164 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52954 /* 149168 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52955 /* 149172 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52956 /* 149175 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52957 /* 149179 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52958 /* 149183 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52959 /* 149185 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52960 /* 149192 */ // (fadd:{ *:[f32] } FR32X:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52961 /* 149192 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSZrm),
52962 /* 149195 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52963 /* 149197 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52964 /* 149199 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52965 /* 149203 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52966 /* 149208 */ GIR_RootConstrainSelectedInstOperands,
52967 /* 149209 */ // GIR_Coverage, 5917,
52968 /* 149209 */ GIR_EraseRootFromParent_Done,
52969 /* 149210 */ // Label 3245: @149210
52970 /* 149210 */ GIM_Try, /*On fail goto*//*Label 3246*/ GIMT_Encode4(149247), // Rule ID 887 //
52971 /* 149215 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
52972 /* 149218 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52973 /* 149222 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52974 /* 149226 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52975 /* 149230 */ // (fadd:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (ADD_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
52976 /* 149230 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD_Fp32),
52977 /* 149235 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(RegState::Dead),
52978 /* 149241 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
52979 /* 149245 */ GIR_RootConstrainSelectedInstOperands,
52980 /* 149246 */ // GIR_Coverage, 887,
52981 /* 149246 */ GIR_Done,
52982 /* 149247 */ // Label 3246: @149247
52983 /* 149247 */ GIM_Try, /*On fail goto*//*Label 3247*/ GIMT_Encode4(149278), // Rule ID 2159 //
52984 /* 149252 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
52985 /* 149255 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52986 /* 149259 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52987 /* 149263 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52988 /* 149267 */ // (fadd:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VADDSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
52989 /* 149267 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSSrr),
52990 /* 149272 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52991 /* 149276 */ GIR_RootConstrainSelectedInstOperands,
52992 /* 149277 */ // GIR_Coverage, 2159,
52993 /* 149277 */ GIR_Done,
52994 /* 149278 */ // Label 3247: @149278
52995 /* 149278 */ GIM_Try, /*On fail goto*//*Label 3248*/ GIMT_Encode4(149309), // Rule ID 2167 //
52996 /* 149283 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
52997 /* 149286 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52998 /* 149290 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52999 /* 149294 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
53000 /* 149298 */ // (fadd:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (ADDSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
53001 /* 149298 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDSSrr),
53002 /* 149303 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53003 /* 149307 */ GIR_RootConstrainSelectedInstOperands,
53004 /* 149308 */ // GIR_Coverage, 2167,
53005 /* 149308 */ GIR_Done,
53006 /* 149309 */ // Label 3248: @149309
53007 /* 149309 */ GIM_Try, /*On fail goto*//*Label 3249*/ GIMT_Encode4(149340), // Rule ID 5915 //
53008 /* 149314 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
53009 /* 149317 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
53010 /* 149321 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
53011 /* 149325 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
53012 /* 149329 */ // (fadd:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VADDSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
53013 /* 149329 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSSZrr),
53014 /* 149334 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53015 /* 149338 */ GIR_RootConstrainSelectedInstOperands,
53016 /* 149339 */ // GIR_Coverage, 5915,
53017 /* 149339 */ GIR_Done,
53018 /* 149340 */ // Label 3249: @149340
53019 /* 149340 */ GIM_Reject,
53020 /* 149341 */ // Label 3227: @149341
53021 /* 149341 */ GIM_Reject,
53022 /* 149342 */ // Label 3211: @149342
53023 /* 149342 */ GIM_Try, /*On fail goto*//*Label 3250*/ GIMT_Encode4(150882),
53024 /* 149347 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
53025 /* 149350 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
53026 /* 149353 */ GIM_Try, /*On fail goto*//*Label 3251*/ GIMT_Encode4(149435), // Rule ID 26021 //
53027 /* 149358 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
53028 /* 149361 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53029 /* 149365 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53030 /* 149369 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
53031 /* 149373 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
53032 /* 149377 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
53033 /* 149381 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
53034 /* 149385 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
53035 /* 149388 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
53036 /* 149392 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
53037 /* 149399 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
53038 /* 149403 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53039 /* 149407 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
53040 /* 149409 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53041 /* 149416 */ // (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)
53042 /* 149416 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSDrm),
53043 /* 149419 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53044 /* 149421 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53045 /* 149423 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53046 /* 149427 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
53047 /* 149433 */ GIR_RootConstrainSelectedInstOperands,
53048 /* 149434 */ // GIR_Coverage, 26021,
53049 /* 149434 */ GIR_EraseRootFromParent_Done,
53050 /* 149435 */ // Label 3251: @149435
53051 /* 149435 */ GIM_Try, /*On fail goto*//*Label 3252*/ GIMT_Encode4(149517), // Rule ID 26022 //
53052 /* 149440 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
53053 /* 149443 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53054 /* 149447 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53055 /* 149451 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
53056 /* 149455 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
53057 /* 149459 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
53058 /* 149463 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
53059 /* 149467 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
53060 /* 149470 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
53061 /* 149474 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
53062 /* 149481 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
53063 /* 149485 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53064 /* 149489 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
53065 /* 149491 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53066 /* 149498 */ // (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)
53067 /* 149498 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDrm),
53068 /* 149501 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53069 /* 149503 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53070 /* 149505 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53071 /* 149509 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
53072 /* 149515 */ GIR_RootConstrainSelectedInstOperands,
53073 /* 149516 */ // GIR_Coverage, 26022,
53074 /* 149516 */ GIR_EraseRootFromParent_Done,
53075 /* 149517 */ // Label 3252: @149517
53076 /* 149517 */ GIM_Try, /*On fail goto*//*Label 3253*/ GIMT_Encode4(149599), // Rule ID 26023 //
53077 /* 149522 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
53078 /* 149525 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
53079 /* 149529 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53080 /* 149533 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
53081 /* 149537 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
53082 /* 149541 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
53083 /* 149545 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
53084 /* 149549 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
53085 /* 149552 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
53086 /* 149556 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
53087 /* 149563 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
53088 /* 149567 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
53089 /* 149571 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
53090 /* 149573 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53091 /* 149580 */ // (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)
53092 /* 149580 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDZrm),
53093 /* 149583 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53094 /* 149585 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53095 /* 149587 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53096 /* 149591 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
53097 /* 149597 */ GIR_RootConstrainSelectedInstOperands,
53098 /* 149598 */ // GIR_Coverage, 26023,
53099 /* 149598 */ GIR_EraseRootFromParent_Done,
53100 /* 149599 */ // Label 3253: @149599
53101 /* 149599 */ GIM_Try, /*On fail goto*//*Label 3254*/ GIMT_Encode4(149681), // Rule ID 22470 //
53102 /* 149604 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
53103 /* 149607 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53104 /* 149611 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53105 /* 149615 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53106 /* 149619 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
53107 /* 149623 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
53108 /* 149627 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
53109 /* 149631 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
53110 /* 149635 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
53111 /* 149638 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
53112 /* 149642 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
53113 /* 149649 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
53114 /* 149653 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
53115 /* 149655 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53116 /* 149662 */ // (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)
53117 /* 149662 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSDrm),
53118 /* 149665 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53119 /* 149667 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53120 /* 149669 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53121 /* 149673 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
53122 /* 149679 */ GIR_RootConstrainSelectedInstOperands,
53123 /* 149680 */ // GIR_Coverage, 22470,
53124 /* 149680 */ GIR_EraseRootFromParent_Done,
53125 /* 149681 */ // Label 3254: @149681
53126 /* 149681 */ GIM_Try, /*On fail goto*//*Label 3255*/ GIMT_Encode4(149763), // Rule ID 22471 //
53127 /* 149686 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
53128 /* 149689 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53129 /* 149693 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53130 /* 149697 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53131 /* 149701 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
53132 /* 149705 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
53133 /* 149709 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
53134 /* 149713 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
53135 /* 149717 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
53136 /* 149720 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
53137 /* 149724 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
53138 /* 149731 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
53139 /* 149735 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
53140 /* 149737 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53141 /* 149744 */ // (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)
53142 /* 149744 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDrm),
53143 /* 149747 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53144 /* 149749 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53145 /* 149751 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53146 /* 149755 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
53147 /* 149761 */ GIR_RootConstrainSelectedInstOperands,
53148 /* 149762 */ // GIR_Coverage, 22471,
53149 /* 149762 */ GIR_EraseRootFromParent_Done,
53150 /* 149763 */ // Label 3255: @149763
53151 /* 149763 */ GIM_Try, /*On fail goto*//*Label 3256*/ GIMT_Encode4(149845), // Rule ID 22472 //
53152 /* 149768 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
53153 /* 149771 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
53154 /* 149775 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
53155 /* 149779 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53156 /* 149783 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
53157 /* 149787 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
53158 /* 149791 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
53159 /* 149795 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
53160 /* 149799 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
53161 /* 149802 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
53162 /* 149806 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
53163 /* 149813 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
53164 /* 149817 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
53165 /* 149819 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53166 /* 149826 */ // (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)
53167 /* 149826 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDZrm),
53168 /* 149829 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53169 /* 149831 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53170 /* 149833 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53171 /* 149837 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
53172 /* 149843 */ GIR_RootConstrainSelectedInstOperands,
53173 /* 149844 */ // GIR_Coverage, 22472,
53174 /* 149844 */ GIR_EraseRootFromParent_Done,
53175 /* 149845 */ // Label 3256: @149845
53176 /* 149845 */ GIM_Try, /*On fail goto*//*Label 3257*/ GIMT_Encode4(149910), // Rule ID 23251 //
53177 /* 149850 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
53178 /* 149853 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53179 /* 149857 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53180 /* 149861 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53181 /* 149865 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
53182 /* 149872 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53183 /* 149876 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53184 /* 149880 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53185 /* 149882 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53186 /* 149889 */ // (fadd:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (ADD_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53187 /* 149889 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m64),
53188 /* 149892 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53189 /* 149894 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53190 /* 149896 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53191 /* 149900 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53192 /* 149903 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53193 /* 149908 */ GIR_RootConstrainSelectedInstOperands,
53194 /* 149909 */ // GIR_Coverage, 23251,
53195 /* 149909 */ GIR_EraseRootFromParent_Done,
53196 /* 149910 */ // Label 3257: @149910
53197 /* 149910 */ GIM_Try, /*On fail goto*//*Label 3258*/ GIMT_Encode4(149975), // Rule ID 23253 //
53198 /* 149915 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
53199 /* 149918 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53200 /* 149922 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53201 /* 149926 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53202 /* 149930 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53203 /* 149937 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53204 /* 149941 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53205 /* 149945 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53206 /* 149947 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53207 /* 149954 */ // (fadd:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (ADD_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53208 /* 149954 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m64),
53209 /* 149957 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53210 /* 149959 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53211 /* 149961 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53212 /* 149965 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53213 /* 149968 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53214 /* 149973 */ GIR_RootConstrainSelectedInstOperands,
53215 /* 149974 */ // GIR_Coverage, 23253,
53216 /* 149974 */ GIR_EraseRootFromParent_Done,
53217 /* 149975 */ // Label 3258: @149975
53218 /* 149975 */ GIM_Try, /*On fail goto*//*Label 3259*/ GIMT_Encode4(150040), // Rule ID 23239 //
53219 /* 149980 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
53220 /* 149983 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53221 /* 149987 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53222 /* 149991 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53223 /* 149995 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53224 /* 149998 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53225 /* 150002 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53226 /* 150006 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53227 /* 150010 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53228 /* 150012 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53229 /* 150019 */ // (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)
53230 /* 150019 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m),
53231 /* 150022 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53232 /* 150024 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53233 /* 150026 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53234 /* 150030 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53235 /* 150033 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53236 /* 150038 */ GIR_RootConstrainSelectedInstOperands,
53237 /* 150039 */ // GIR_Coverage, 23239,
53238 /* 150039 */ GIR_EraseRootFromParent_Done,
53239 /* 150040 */ // Label 3259: @150040
53240 /* 150040 */ GIM_Try, /*On fail goto*//*Label 3260*/ GIMT_Encode4(150112), // Rule ID 23241 //
53241 /* 150045 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
53242 /* 150048 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53243 /* 150052 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53244 /* 150056 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53245 /* 150060 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53246 /* 150063 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53247 /* 150067 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53248 /* 150074 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53249 /* 150078 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53250 /* 150082 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53251 /* 150084 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53252 /* 150091 */ // (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)
53253 /* 150091 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m32),
53254 /* 150094 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53255 /* 150096 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53256 /* 150098 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53257 /* 150102 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53258 /* 150105 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53259 /* 150110 */ GIR_RootConstrainSelectedInstOperands,
53260 /* 150111 */ // GIR_Coverage, 23241,
53261 /* 150111 */ GIR_EraseRootFromParent_Done,
53262 /* 150112 */ // Label 3260: @150112
53263 /* 150112 */ GIM_Try, /*On fail goto*//*Label 3261*/ GIMT_Encode4(150174), // Rule ID 23384 //
53264 /* 150117 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
53265 /* 150120 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53266 /* 150124 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53267 /* 150128 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53268 /* 150132 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53269 /* 150135 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53270 /* 150139 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53271 /* 150143 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53272 /* 150147 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53273 /* 150149 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53274 /* 150156 */ // (fadd:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64:{ *:[f64] }:$src1) => (VADDSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53275 /* 150156 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDrm),
53276 /* 150159 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53277 /* 150161 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53278 /* 150163 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53279 /* 150167 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53280 /* 150172 */ GIR_RootConstrainSelectedInstOperands,
53281 /* 150173 */ // GIR_Coverage, 23384,
53282 /* 150173 */ GIR_EraseRootFromParent_Done,
53283 /* 150174 */ // Label 3261: @150174
53284 /* 150174 */ GIM_Try, /*On fail goto*//*Label 3262*/ GIMT_Encode4(150236), // Rule ID 23388 //
53285 /* 150179 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
53286 /* 150182 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53287 /* 150186 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53288 /* 150190 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53289 /* 150194 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53290 /* 150197 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53291 /* 150201 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53292 /* 150205 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53293 /* 150209 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53294 /* 150211 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53295 /* 150218 */ // (fadd:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64:{ *:[f64] }:$src1) => (ADDSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53296 /* 150218 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSDrm),
53297 /* 150221 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53298 /* 150223 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53299 /* 150225 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53300 /* 150229 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53301 /* 150234 */ GIR_RootConstrainSelectedInstOperands,
53302 /* 150235 */ // GIR_Coverage, 23388,
53303 /* 150235 */ GIR_EraseRootFromParent_Done,
53304 /* 150236 */ // Label 3262: @150236
53305 /* 150236 */ GIM_Try, /*On fail goto*//*Label 3263*/ GIMT_Encode4(150298), // Rule ID 24248 //
53306 /* 150241 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
53307 /* 150244 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
53308 /* 150248 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53309 /* 150252 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53310 /* 150256 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53311 /* 150259 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53312 /* 150263 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53313 /* 150267 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
53314 /* 150271 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53315 /* 150273 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53316 /* 150280 */ // (fadd:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64X:{ *:[f64] }:$src1) => (VADDSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53317 /* 150280 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDZrm),
53318 /* 150283 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53319 /* 150285 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53320 /* 150287 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53321 /* 150291 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53322 /* 150296 */ GIR_RootConstrainSelectedInstOperands,
53323 /* 150297 */ // GIR_Coverage, 24248,
53324 /* 150297 */ GIR_EraseRootFromParent_Done,
53325 /* 150298 */ // Label 3263: @150298
53326 /* 150298 */ GIM_Try, /*On fail goto*//*Label 3264*/ GIMT_Encode4(150363), // Rule ID 925 //
53327 /* 150303 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
53328 /* 150306 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53329 /* 150310 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53330 /* 150314 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53331 /* 150318 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53332 /* 150322 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
53333 /* 150329 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53334 /* 150333 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53335 /* 150335 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53336 /* 150342 */ // (fadd:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (ADD_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53337 /* 150342 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m64),
53338 /* 150345 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53339 /* 150347 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53340 /* 150349 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53341 /* 150353 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53342 /* 150356 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53343 /* 150361 */ GIR_RootConstrainSelectedInstOperands,
53344 /* 150362 */ // GIR_Coverage, 925,
53345 /* 150362 */ GIR_EraseRootFromParent_Done,
53346 /* 150363 */ // Label 3264: @150363
53347 /* 150363 */ GIM_Try, /*On fail goto*//*Label 3265*/ GIMT_Encode4(150428), // Rule ID 927 //
53348 /* 150368 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
53349 /* 150371 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53350 /* 150375 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53351 /* 150379 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53352 /* 150383 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53353 /* 150387 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53354 /* 150394 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53355 /* 150398 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53356 /* 150400 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53357 /* 150407 */ // (fadd:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (ADD_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53358 /* 150407 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m64),
53359 /* 150410 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53360 /* 150412 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53361 /* 150414 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53362 /* 150418 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53363 /* 150421 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53364 /* 150426 */ GIR_RootConstrainSelectedInstOperands,
53365 /* 150427 */ // GIR_Coverage, 927,
53366 /* 150427 */ GIR_EraseRootFromParent_Done,
53367 /* 150428 */ // Label 3265: @150428
53368 /* 150428 */ GIM_Try, /*On fail goto*//*Label 3266*/ GIMT_Encode4(150493), // Rule ID 913 //
53369 /* 150433 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
53370 /* 150436 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53371 /* 150440 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53372 /* 150444 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53373 /* 150448 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53374 /* 150452 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53375 /* 150455 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53376 /* 150459 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53377 /* 150463 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53378 /* 150465 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53379 /* 150472 */ // (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)
53380 /* 150472 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m),
53381 /* 150475 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53382 /* 150477 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53383 /* 150479 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53384 /* 150483 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53385 /* 150486 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53386 /* 150491 */ GIR_RootConstrainSelectedInstOperands,
53387 /* 150492 */ // GIR_Coverage, 913,
53388 /* 150492 */ GIR_EraseRootFromParent_Done,
53389 /* 150493 */ // Label 3266: @150493
53390 /* 150493 */ GIM_Try, /*On fail goto*//*Label 3267*/ GIMT_Encode4(150565), // Rule ID 915 //
53391 /* 150498 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
53392 /* 150501 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53393 /* 150505 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53394 /* 150509 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53395 /* 150513 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53396 /* 150517 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53397 /* 150520 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53398 /* 150524 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53399 /* 150531 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53400 /* 150535 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53401 /* 150537 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53402 /* 150544 */ // (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)
53403 /* 150544 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m32),
53404 /* 150547 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53405 /* 150549 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53406 /* 150551 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53407 /* 150555 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53408 /* 150558 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53409 /* 150563 */ GIR_RootConstrainSelectedInstOperands,
53410 /* 150564 */ // GIR_Coverage, 915,
53411 /* 150564 */ GIR_EraseRootFromParent_Done,
53412 /* 150565 */ // Label 3267: @150565
53413 /* 150565 */ GIM_Try, /*On fail goto*//*Label 3268*/ GIMT_Encode4(150627), // Rule ID 2165 //
53414 /* 150570 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
53415 /* 150573 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53416 /* 150577 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53417 /* 150581 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53418 /* 150585 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53419 /* 150589 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53420 /* 150592 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53421 /* 150596 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53422 /* 150600 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53423 /* 150602 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53424 /* 150609 */ // (fadd:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53425 /* 150609 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDrm),
53426 /* 150612 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53427 /* 150614 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53428 /* 150616 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53429 /* 150620 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53430 /* 150625 */ GIR_RootConstrainSelectedInstOperands,
53431 /* 150626 */ // GIR_Coverage, 2165,
53432 /* 150626 */ GIR_EraseRootFromParent_Done,
53433 /* 150627 */ // Label 3268: @150627
53434 /* 150627 */ GIM_Try, /*On fail goto*//*Label 3269*/ GIMT_Encode4(150689), // Rule ID 2173 //
53435 /* 150632 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
53436 /* 150635 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53437 /* 150639 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53438 /* 150643 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53439 /* 150647 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53440 /* 150651 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53441 /* 150654 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53442 /* 150658 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53443 /* 150662 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53444 /* 150664 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53445 /* 150671 */ // (fadd:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (ADDSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53446 /* 150671 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSDrm),
53447 /* 150674 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53448 /* 150676 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53449 /* 150678 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53450 /* 150682 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53451 /* 150687 */ GIR_RootConstrainSelectedInstOperands,
53452 /* 150688 */ // GIR_Coverage, 2173,
53453 /* 150688 */ GIR_EraseRootFromParent_Done,
53454 /* 150689 */ // Label 3269: @150689
53455 /* 150689 */ GIM_Try, /*On fail goto*//*Label 3270*/ GIMT_Encode4(150751), // Rule ID 5936 //
53456 /* 150694 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
53457 /* 150697 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
53458 /* 150701 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
53459 /* 150705 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53460 /* 150709 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53461 /* 150713 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53462 /* 150716 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53463 /* 150720 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53464 /* 150724 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53465 /* 150726 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53466 /* 150733 */ // (fadd:{ *:[f64] } FR64X:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53467 /* 150733 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDZrm),
53468 /* 150736 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53469 /* 150738 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53470 /* 150740 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53471 /* 150744 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53472 /* 150749 */ GIR_RootConstrainSelectedInstOperands,
53473 /* 150750 */ // GIR_Coverage, 5936,
53474 /* 150750 */ GIR_EraseRootFromParent_Done,
53475 /* 150751 */ // Label 3270: @150751
53476 /* 150751 */ GIM_Try, /*On fail goto*//*Label 3271*/ GIMT_Encode4(150788), // Rule ID 889 //
53477 /* 150756 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
53478 /* 150759 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53479 /* 150763 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53480 /* 150767 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53481 /* 150771 */ // (fadd:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (ADD_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
53482 /* 150771 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64),
53483 /* 150776 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(RegState::Dead),
53484 /* 150782 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
53485 /* 150786 */ GIR_RootConstrainSelectedInstOperands,
53486 /* 150787 */ // GIR_Coverage, 889,
53487 /* 150787 */ GIR_Done,
53488 /* 150788 */ // Label 3271: @150788
53489 /* 150788 */ GIM_Try, /*On fail goto*//*Label 3272*/ GIMT_Encode4(150819), // Rule ID 2163 //
53490 /* 150793 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
53491 /* 150796 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53492 /* 150800 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53493 /* 150804 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53494 /* 150808 */ // (fadd:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VADDSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
53495 /* 150808 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSDrr),
53496 /* 150813 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53497 /* 150817 */ GIR_RootConstrainSelectedInstOperands,
53498 /* 150818 */ // GIR_Coverage, 2163,
53499 /* 150818 */ GIR_Done,
53500 /* 150819 */ // Label 3272: @150819
53501 /* 150819 */ GIM_Try, /*On fail goto*//*Label 3273*/ GIMT_Encode4(150850), // Rule ID 2171 //
53502 /* 150824 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
53503 /* 150827 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53504 /* 150831 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53505 /* 150835 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53506 /* 150839 */ // (fadd:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (ADDSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
53507 /* 150839 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDSDrr),
53508 /* 150844 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53509 /* 150848 */ GIR_RootConstrainSelectedInstOperands,
53510 /* 150849 */ // GIR_Coverage, 2171,
53511 /* 150849 */ GIR_Done,
53512 /* 150850 */ // Label 3273: @150850
53513 /* 150850 */ GIM_Try, /*On fail goto*//*Label 3274*/ GIMT_Encode4(150881), // Rule ID 5934 //
53514 /* 150855 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
53515 /* 150858 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
53516 /* 150862 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
53517 /* 150866 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
53518 /* 150870 */ // (fadd:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VADDSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
53519 /* 150870 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSDZrr),
53520 /* 150875 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53521 /* 150879 */ GIR_RootConstrainSelectedInstOperands,
53522 /* 150880 */ // GIR_Coverage, 5934,
53523 /* 150880 */ GIR_Done,
53524 /* 150881 */ // Label 3274: @150881
53525 /* 150881 */ GIM_Reject,
53526 /* 150882 */ // Label 3250: @150882
53527 /* 150882 */ GIM_Reject,
53528 /* 150883 */ // Label 3212: @150883
53529 /* 150883 */ GIM_Try, /*On fail goto*//*Label 3275*/ GIMT_Encode4(151448),
53530 /* 150888 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
53531 /* 150891 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
53532 /* 150894 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53533 /* 150898 */ GIM_Try, /*On fail goto*//*Label 3276*/ GIMT_Encode4(150959), // Rule ID 23255 //
53534 /* 150903 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
53535 /* 150906 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53536 /* 150910 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53537 /* 150914 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
53538 /* 150921 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53539 /* 150925 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53540 /* 150929 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53541 /* 150931 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53542 /* 150938 */ // (fadd:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (ADD_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
53543 /* 150938 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m80),
53544 /* 150941 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53545 /* 150943 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53546 /* 150945 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53547 /* 150949 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53548 /* 150952 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53549 /* 150957 */ GIR_RootConstrainSelectedInstOperands,
53550 /* 150958 */ // GIR_Coverage, 23255,
53551 /* 150958 */ GIR_EraseRootFromParent_Done,
53552 /* 150959 */ // Label 3276: @150959
53553 /* 150959 */ GIM_Try, /*On fail goto*//*Label 3277*/ GIMT_Encode4(151020), // Rule ID 23257 //
53554 /* 150964 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
53555 /* 150967 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53556 /* 150971 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53557 /* 150975 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53558 /* 150982 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53559 /* 150986 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53560 /* 150990 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53561 /* 150992 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53562 /* 150999 */ // (fadd:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (ADD_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
53563 /* 150999 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m80),
53564 /* 151002 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53565 /* 151004 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53566 /* 151006 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53567 /* 151010 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53568 /* 151013 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53569 /* 151018 */ GIR_RootConstrainSelectedInstOperands,
53570 /* 151019 */ // GIR_Coverage, 23257,
53571 /* 151019 */ GIR_EraseRootFromParent_Done,
53572 /* 151020 */ // Label 3277: @151020
53573 /* 151020 */ GIM_Try, /*On fail goto*//*Label 3278*/ GIMT_Encode4(151088), // Rule ID 23243 //
53574 /* 151025 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
53575 /* 151028 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53576 /* 151032 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53577 /* 151036 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53578 /* 151039 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53579 /* 151043 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53580 /* 151050 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53581 /* 151054 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53582 /* 151058 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53583 /* 151060 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53584 /* 151067 */ // (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)
53585 /* 151067 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m32),
53586 /* 151070 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53587 /* 151072 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53588 /* 151074 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53589 /* 151078 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53590 /* 151081 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53591 /* 151086 */ GIR_RootConstrainSelectedInstOperands,
53592 /* 151087 */ // GIR_Coverage, 23243,
53593 /* 151087 */ GIR_EraseRootFromParent_Done,
53594 /* 151088 */ // Label 3278: @151088
53595 /* 151088 */ GIM_Try, /*On fail goto*//*Label 3279*/ GIMT_Encode4(151156), // Rule ID 23245 //
53596 /* 151093 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
53597 /* 151096 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53598 /* 151100 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53599 /* 151104 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53600 /* 151107 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53601 /* 151111 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
53602 /* 151118 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53603 /* 151122 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53604 /* 151126 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53605 /* 151128 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53606 /* 151135 */ // (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)
53607 /* 151135 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m64),
53608 /* 151138 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53609 /* 151140 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53610 /* 151142 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53611 /* 151146 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53612 /* 151149 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53613 /* 151154 */ GIR_RootConstrainSelectedInstOperands,
53614 /* 151155 */ // GIR_Coverage, 23245,
53615 /* 151155 */ GIR_EraseRootFromParent_Done,
53616 /* 151156 */ // Label 3279: @151156
53617 /* 151156 */ GIM_Try, /*On fail goto*//*Label 3280*/ GIMT_Encode4(151217), // Rule ID 929 //
53618 /* 151161 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
53619 /* 151164 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53620 /* 151168 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53621 /* 151172 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53622 /* 151176 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
53623 /* 151183 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53624 /* 151187 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53625 /* 151189 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53626 /* 151196 */ // (fadd:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (ADD_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
53627 /* 151196 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m80),
53628 /* 151199 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53629 /* 151201 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53630 /* 151203 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53631 /* 151207 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53632 /* 151210 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53633 /* 151215 */ GIR_RootConstrainSelectedInstOperands,
53634 /* 151216 */ // GIR_Coverage, 929,
53635 /* 151216 */ GIR_EraseRootFromParent_Done,
53636 /* 151217 */ // Label 3280: @151217
53637 /* 151217 */ GIM_Try, /*On fail goto*//*Label 3281*/ GIMT_Encode4(151278), // Rule ID 931 //
53638 /* 151222 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
53639 /* 151225 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53640 /* 151229 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53641 /* 151233 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53642 /* 151237 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53643 /* 151244 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53644 /* 151248 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53645 /* 151250 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53646 /* 151257 */ // (fadd:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (ADD_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
53647 /* 151257 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m80),
53648 /* 151260 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53649 /* 151262 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53650 /* 151264 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53651 /* 151268 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53652 /* 151271 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53653 /* 151276 */ GIR_RootConstrainSelectedInstOperands,
53654 /* 151277 */ // GIR_Coverage, 931,
53655 /* 151277 */ GIR_EraseRootFromParent_Done,
53656 /* 151278 */ // Label 3281: @151278
53657 /* 151278 */ GIM_Try, /*On fail goto*//*Label 3282*/ GIMT_Encode4(151346), // Rule ID 917 //
53658 /* 151283 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
53659 /* 151286 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53660 /* 151290 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53661 /* 151294 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53662 /* 151298 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53663 /* 151301 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53664 /* 151305 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53665 /* 151312 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53666 /* 151316 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53667 /* 151318 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53668 /* 151325 */ // (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)
53669 /* 151325 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m32),
53670 /* 151328 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53671 /* 151330 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53672 /* 151332 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53673 /* 151336 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53674 /* 151339 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53675 /* 151344 */ GIR_RootConstrainSelectedInstOperands,
53676 /* 151345 */ // GIR_Coverage, 917,
53677 /* 151345 */ GIR_EraseRootFromParent_Done,
53678 /* 151346 */ // Label 3282: @151346
53679 /* 151346 */ GIM_Try, /*On fail goto*//*Label 3283*/ GIMT_Encode4(151414), // Rule ID 919 //
53680 /* 151351 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
53681 /* 151354 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53682 /* 151358 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53683 /* 151362 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53684 /* 151366 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53685 /* 151369 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53686 /* 151373 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
53687 /* 151380 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53688 /* 151384 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53689 /* 151386 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53690 /* 151393 */ // (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)
53691 /* 151393 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m64),
53692 /* 151396 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53693 /* 151398 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53694 /* 151400 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53695 /* 151404 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53696 /* 151407 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53697 /* 151412 */ GIR_RootConstrainSelectedInstOperands,
53698 /* 151413 */ // GIR_Coverage, 919,
53699 /* 151413 */ GIR_EraseRootFromParent_Done,
53700 /* 151414 */ // Label 3283: @151414
53701 /* 151414 */ GIM_Try, /*On fail goto*//*Label 3284*/ GIMT_Encode4(151447), // Rule ID 891 //
53702 /* 151419 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
53703 /* 151422 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53704 /* 151426 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53705 /* 151430 */ // (fadd:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (ADD_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
53706 /* 151430 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80),
53707 /* 151435 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(RegState::Dead),
53708 /* 151441 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
53709 /* 151445 */ GIR_RootConstrainSelectedInstOperands,
53710 /* 151446 */ // GIR_Coverage, 891,
53711 /* 151446 */ GIR_Done,
53712 /* 151447 */ // Label 3284: @151447
53713 /* 151447 */ GIM_Reject,
53714 /* 151448 */ // Label 3275: @151448
53715 /* 151448 */ GIM_Reject,
53716 /* 151449 */ // Label 3213: @151449
53717 /* 151449 */ GIM_Try, /*On fail goto*//*Label 3285*/ GIMT_Encode4(151802),
53718 /* 151454 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
53719 /* 151457 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
53720 /* 151460 */ GIM_Try, /*On fail goto*//*Label 3286*/ GIMT_Encode4(151522), // Rule ID 23372 //
53721 /* 151465 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
53722 /* 151468 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53723 /* 151472 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53724 /* 151476 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53725 /* 151480 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53726 /* 151483 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53727 /* 151487 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53728 /* 151491 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53729 /* 151495 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53730 /* 151497 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53731 /* 151504 */ // (fadd:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2f64] }:$src1) => (VADDPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53732 /* 151504 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDrm),
53733 /* 151507 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53734 /* 151509 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53735 /* 151511 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53736 /* 151515 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53737 /* 151520 */ GIR_RootConstrainSelectedInstOperands,
53738 /* 151521 */ // GIR_Coverage, 23372,
53739 /* 151521 */ GIR_EraseRootFromParent_Done,
53740 /* 151522 */ // Label 3286: @151522
53741 /* 151522 */ GIM_Try, /*On fail goto*//*Label 3287*/ GIMT_Encode4(151584), // Rule ID 24296 //
53742 /* 151527 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
53743 /* 151530 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53744 /* 151534 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53745 /* 151538 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53746 /* 151542 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53747 /* 151545 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53748 /* 151549 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53749 /* 151553 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53750 /* 151557 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53751 /* 151559 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53752 /* 151566 */ // (fadd:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2f64] }:$src1) => (VADDPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53753 /* 151566 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ128rm),
53754 /* 151569 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53755 /* 151571 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53756 /* 151573 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53757 /* 151577 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53758 /* 151582 */ GIR_RootConstrainSelectedInstOperands,
53759 /* 151583 */ // GIR_Coverage, 24296,
53760 /* 151583 */ GIR_EraseRootFromParent_Done,
53761 /* 151584 */ // Label 3287: @151584
53762 /* 151584 */ GIM_Try, /*On fail goto*//*Label 3288*/ GIMT_Encode4(151646), // Rule ID 2141 //
53763 /* 151589 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
53764 /* 151592 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53765 /* 151596 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53766 /* 151600 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53767 /* 151604 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53768 /* 151608 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53769 /* 151611 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53770 /* 151615 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53771 /* 151619 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53772 /* 151621 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53773 /* 151628 */ // (fadd:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53774 /* 151628 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDrm),
53775 /* 151631 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53776 /* 151633 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53777 /* 151635 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53778 /* 151639 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53779 /* 151644 */ GIR_RootConstrainSelectedInstOperands,
53780 /* 151645 */ // GIR_Coverage, 2141,
53781 /* 151645 */ GIR_EraseRootFromParent_Done,
53782 /* 151646 */ // Label 3288: @151646
53783 /* 151646 */ GIM_Try, /*On fail goto*//*Label 3289*/ GIMT_Encode4(151708), // Rule ID 6309 //
53784 /* 151651 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
53785 /* 151654 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53786 /* 151658 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53787 /* 151662 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53788 /* 151666 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53789 /* 151670 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53790 /* 151673 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53791 /* 151677 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53792 /* 151681 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53793 /* 151683 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53794 /* 151690 */ // (fadd:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53795 /* 151690 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ128rm),
53796 /* 151693 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53797 /* 151695 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53798 /* 151697 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53799 /* 151701 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53800 /* 151706 */ GIR_RootConstrainSelectedInstOperands,
53801 /* 151707 */ // GIR_Coverage, 6309,
53802 /* 151707 */ GIR_EraseRootFromParent_Done,
53803 /* 151708 */ // Label 3289: @151708
53804 /* 151708 */ GIM_Try, /*On fail goto*//*Label 3290*/ GIMT_Encode4(151739), // Rule ID 2139 //
53805 /* 151713 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
53806 /* 151716 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53807 /* 151720 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53808 /* 151724 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53809 /* 151728 */ // (fadd:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VADDPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
53810 /* 151728 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDrr),
53811 /* 151733 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53812 /* 151737 */ GIR_RootConstrainSelectedInstOperands,
53813 /* 151738 */ // GIR_Coverage, 2139,
53814 /* 151738 */ GIR_Done,
53815 /* 151739 */ // Label 3290: @151739
53816 /* 151739 */ GIM_Try, /*On fail goto*//*Label 3291*/ GIMT_Encode4(151770), // Rule ID 2155 //
53817 /* 151744 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
53818 /* 151747 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53819 /* 151751 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53820 /* 151755 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53821 /* 151759 */ // (fadd:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (ADDPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
53822 /* 151759 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDPDrr),
53823 /* 151764 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53824 /* 151768 */ GIR_RootConstrainSelectedInstOperands,
53825 /* 151769 */ // GIR_Coverage, 2155,
53826 /* 151769 */ GIR_Done,
53827 /* 151770 */ // Label 3291: @151770
53828 /* 151770 */ GIM_Try, /*On fail goto*//*Label 3292*/ GIMT_Encode4(151801), // Rule ID 6305 //
53829 /* 151775 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
53830 /* 151778 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53831 /* 151782 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53832 /* 151786 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53833 /* 151790 */ // (fadd:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VADDPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
53834 /* 151790 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDZ128rr),
53835 /* 151795 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53836 /* 151799 */ GIR_RootConstrainSelectedInstOperands,
53837 /* 151800 */ // GIR_Coverage, 6305,
53838 /* 151800 */ GIR_Done,
53839 /* 151801 */ // Label 3292: @151801
53840 /* 151801 */ GIM_Reject,
53841 /* 151802 */ // Label 3285: @151802
53842 /* 151802 */ GIM_Reject,
53843 /* 151803 */ // Label 3214: @151803
53844 /* 151803 */ GIM_Try, /*On fail goto*//*Label 3293*/ GIMT_Encode4(152156),
53845 /* 151808 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
53846 /* 151811 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
53847 /* 151814 */ GIM_Try, /*On fail goto*//*Label 3294*/ GIMT_Encode4(151876), // Rule ID 23370 //
53848 /* 151819 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
53849 /* 151822 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53850 /* 151826 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53851 /* 151830 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53852 /* 151834 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53853 /* 151837 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53854 /* 151841 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53855 /* 151845 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53856 /* 151849 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53857 /* 151851 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53858 /* 151858 */ // (fadd:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4f32] }:$src1) => (VADDPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53859 /* 151858 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSrm),
53860 /* 151861 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53861 /* 151863 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53862 /* 151865 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53863 /* 151869 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53864 /* 151874 */ GIR_RootConstrainSelectedInstOperands,
53865 /* 151875 */ // GIR_Coverage, 23370,
53866 /* 151875 */ GIR_EraseRootFromParent_Done,
53867 /* 151876 */ // Label 3294: @151876
53868 /* 151876 */ GIM_Try, /*On fail goto*//*Label 3295*/ GIMT_Encode4(151938), // Rule ID 24280 //
53869 /* 151881 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
53870 /* 151884 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53871 /* 151888 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53872 /* 151892 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53873 /* 151896 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53874 /* 151899 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53875 /* 151903 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53876 /* 151907 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53877 /* 151911 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53878 /* 151913 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53879 /* 151920 */ // (fadd:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4f32] }:$src1) => (VADDPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53880 /* 151920 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ128rm),
53881 /* 151923 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53882 /* 151925 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53883 /* 151927 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53884 /* 151931 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53885 /* 151936 */ GIR_RootConstrainSelectedInstOperands,
53886 /* 151937 */ // GIR_Coverage, 24280,
53887 /* 151937 */ GIR_EraseRootFromParent_Done,
53888 /* 151938 */ // Label 3295: @151938
53889 /* 151938 */ GIM_Try, /*On fail goto*//*Label 3296*/ GIMT_Encode4(152000), // Rule ID 2137 //
53890 /* 151943 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
53891 /* 151946 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53892 /* 151950 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53893 /* 151954 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53894 /* 151958 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53895 /* 151962 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53896 /* 151965 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53897 /* 151969 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53898 /* 151973 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53899 /* 151975 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53900 /* 151982 */ // (fadd:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53901 /* 151982 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSrm),
53902 /* 151985 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53903 /* 151987 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53904 /* 151989 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53905 /* 151993 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53906 /* 151998 */ GIR_RootConstrainSelectedInstOperands,
53907 /* 151999 */ // GIR_Coverage, 2137,
53908 /* 151999 */ GIR_EraseRootFromParent_Done,
53909 /* 152000 */ // Label 3296: @152000
53910 /* 152000 */ GIM_Try, /*On fail goto*//*Label 3297*/ GIMT_Encode4(152062), // Rule ID 6285 //
53911 /* 152005 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
53912 /* 152008 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53913 /* 152012 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53914 /* 152016 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53915 /* 152020 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53916 /* 152024 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53917 /* 152027 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53918 /* 152031 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53919 /* 152035 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53920 /* 152037 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53921 /* 152044 */ // (fadd:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53922 /* 152044 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ128rm),
53923 /* 152047 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53924 /* 152049 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53925 /* 152051 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53926 /* 152055 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53927 /* 152060 */ GIR_RootConstrainSelectedInstOperands,
53928 /* 152061 */ // GIR_Coverage, 6285,
53929 /* 152061 */ GIR_EraseRootFromParent_Done,
53930 /* 152062 */ // Label 3297: @152062
53931 /* 152062 */ GIM_Try, /*On fail goto*//*Label 3298*/ GIMT_Encode4(152093), // Rule ID 2135 //
53932 /* 152067 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
53933 /* 152070 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53934 /* 152074 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53935 /* 152078 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53936 /* 152082 */ // (fadd:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VADDPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
53937 /* 152082 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSrr),
53938 /* 152087 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53939 /* 152091 */ GIR_RootConstrainSelectedInstOperands,
53940 /* 152092 */ // GIR_Coverage, 2135,
53941 /* 152092 */ GIR_Done,
53942 /* 152093 */ // Label 3298: @152093
53943 /* 152093 */ GIM_Try, /*On fail goto*//*Label 3299*/ GIMT_Encode4(152124), // Rule ID 2151 //
53944 /* 152098 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
53945 /* 152101 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53946 /* 152105 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53947 /* 152109 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53948 /* 152113 */ // (fadd:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (ADDPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
53949 /* 152113 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDPSrr),
53950 /* 152118 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53951 /* 152122 */ GIR_RootConstrainSelectedInstOperands,
53952 /* 152123 */ // GIR_Coverage, 2151,
53953 /* 152123 */ GIR_Done,
53954 /* 152124 */ // Label 3299: @152124
53955 /* 152124 */ GIM_Try, /*On fail goto*//*Label 3300*/ GIMT_Encode4(152155), // Rule ID 6281 //
53956 /* 152129 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
53957 /* 152132 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53958 /* 152136 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53959 /* 152140 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53960 /* 152144 */ // (fadd:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VADDPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
53961 /* 152144 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSZ128rr),
53962 /* 152149 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53963 /* 152153 */ GIR_RootConstrainSelectedInstOperands,
53964 /* 152154 */ // GIR_Coverage, 6281,
53965 /* 152154 */ GIR_Done,
53966 /* 152155 */ // Label 3300: @152155
53967 /* 152155 */ GIM_Reject,
53968 /* 152156 */ // Label 3293: @152156
53969 /* 152156 */ GIM_Reject,
53970 /* 152157 */ // Label 3215: @152157
53971 /* 152157 */ GIM_Try, /*On fail goto*//*Label 3301*/ GIMT_Encode4(152479),
53972 /* 152162 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
53973 /* 152165 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
53974 /* 152168 */ GIM_Try, /*On fail goto*//*Label 3302*/ GIMT_Encode4(152230), // Rule ID 23376 //
53975 /* 152173 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
53976 /* 152176 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
53977 /* 152180 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53978 /* 152184 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53979 /* 152188 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53980 /* 152191 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53981 /* 152195 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53982 /* 152199 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
53983 /* 152203 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53984 /* 152205 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53985 /* 152212 */ // (fadd:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4f64] }:$src1) => (VADDPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53986 /* 152212 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDYrm),
53987 /* 152215 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53988 /* 152217 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53989 /* 152219 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53990 /* 152223 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53991 /* 152228 */ GIR_RootConstrainSelectedInstOperands,
53992 /* 152229 */ // GIR_Coverage, 23376,
53993 /* 152229 */ GIR_EraseRootFromParent_Done,
53994 /* 152230 */ // Label 3302: @152230
53995 /* 152230 */ GIM_Try, /*On fail goto*//*Label 3303*/ GIMT_Encode4(152292), // Rule ID 24304 //
53996 /* 152235 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
53997 /* 152238 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53998 /* 152242 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53999 /* 152246 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54000 /* 152250 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54001 /* 152253 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54002 /* 152257 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54003 /* 152261 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54004 /* 152265 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54005 /* 152267 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54006 /* 152274 */ // (fadd:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4f64] }:$src1) => (VADDPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54007 /* 152274 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ256rm),
54008 /* 152277 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54009 /* 152279 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54010 /* 152281 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54011 /* 152285 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54012 /* 152290 */ GIR_RootConstrainSelectedInstOperands,
54013 /* 152291 */ // GIR_Coverage, 24304,
54014 /* 152291 */ GIR_EraseRootFromParent_Done,
54015 /* 152292 */ // Label 3303: @152292
54016 /* 152292 */ GIM_Try, /*On fail goto*//*Label 3304*/ GIMT_Encode4(152354), // Rule ID 2149 //
54017 /* 152297 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
54018 /* 152300 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54019 /* 152304 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54020 /* 152308 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54021 /* 152312 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54022 /* 152316 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54023 /* 152319 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54024 /* 152323 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54025 /* 152327 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54026 /* 152329 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54027 /* 152336 */ // (fadd:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54028 /* 152336 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDYrm),
54029 /* 152339 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54030 /* 152341 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54031 /* 152343 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54032 /* 152347 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54033 /* 152352 */ GIR_RootConstrainSelectedInstOperands,
54034 /* 152353 */ // GIR_Coverage, 2149,
54035 /* 152353 */ GIR_EraseRootFromParent_Done,
54036 /* 152354 */ // Label 3304: @152354
54037 /* 152354 */ GIM_Try, /*On fail goto*//*Label 3305*/ GIMT_Encode4(152416), // Rule ID 6321 //
54038 /* 152359 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
54039 /* 152362 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54040 /* 152366 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54041 /* 152370 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54042 /* 152374 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54043 /* 152378 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54044 /* 152381 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54045 /* 152385 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54046 /* 152389 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54047 /* 152391 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54048 /* 152398 */ // (fadd:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54049 /* 152398 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ256rm),
54050 /* 152401 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54051 /* 152403 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54052 /* 152405 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54053 /* 152409 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54054 /* 152414 */ GIR_RootConstrainSelectedInstOperands,
54055 /* 152415 */ // GIR_Coverage, 6321,
54056 /* 152415 */ GIR_EraseRootFromParent_Done,
54057 /* 152416 */ // Label 3305: @152416
54058 /* 152416 */ GIM_Try, /*On fail goto*//*Label 3306*/ GIMT_Encode4(152447), // Rule ID 2147 //
54059 /* 152421 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
54060 /* 152424 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54061 /* 152428 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54062 /* 152432 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54063 /* 152436 */ // (fadd:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VADDPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
54064 /* 152436 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDYrr),
54065 /* 152441 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54066 /* 152445 */ GIR_RootConstrainSelectedInstOperands,
54067 /* 152446 */ // GIR_Coverage, 2147,
54068 /* 152446 */ GIR_Done,
54069 /* 152447 */ // Label 3306: @152447
54070 /* 152447 */ GIM_Try, /*On fail goto*//*Label 3307*/ GIMT_Encode4(152478), // Rule ID 6317 //
54071 /* 152452 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
54072 /* 152455 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54073 /* 152459 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54074 /* 152463 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54075 /* 152467 */ // (fadd:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VADDPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
54076 /* 152467 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDZ256rr),
54077 /* 152472 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54078 /* 152476 */ GIR_RootConstrainSelectedInstOperands,
54079 /* 152477 */ // GIR_Coverage, 6317,
54080 /* 152477 */ GIR_Done,
54081 /* 152478 */ // Label 3307: @152478
54082 /* 152478 */ GIM_Reject,
54083 /* 152479 */ // Label 3301: @152479
54084 /* 152479 */ GIM_Reject,
54085 /* 152480 */ // Label 3216: @152480
54086 /* 152480 */ GIM_Try, /*On fail goto*//*Label 3308*/ GIMT_Encode4(152639),
54087 /* 152485 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
54088 /* 152488 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
54089 /* 152491 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54090 /* 152495 */ GIM_Try, /*On fail goto*//*Label 3309*/ GIMT_Encode4(152553), // Rule ID 24320 //
54091 /* 152500 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
54092 /* 152503 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54093 /* 152507 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54094 /* 152511 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54095 /* 152514 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54096 /* 152518 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54097 /* 152522 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54098 /* 152526 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54099 /* 152528 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54100 /* 152535 */ // (fadd:{ *:[v8f16] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8f16] }:$src1) => (VADDPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
54101 /* 152535 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ128rm),
54102 /* 152538 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54103 /* 152540 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54104 /* 152542 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54105 /* 152546 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54106 /* 152551 */ GIR_RootConstrainSelectedInstOperands,
54107 /* 152552 */ // GIR_Coverage, 24320,
54108 /* 152552 */ GIR_EraseRootFromParent_Done,
54109 /* 152553 */ // Label 3309: @152553
54110 /* 152553 */ GIM_Try, /*On fail goto*//*Label 3310*/ GIMT_Encode4(152611), // Rule ID 6345 //
54111 /* 152558 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
54112 /* 152561 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54113 /* 152565 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54114 /* 152569 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54115 /* 152573 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54116 /* 152576 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54117 /* 152580 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54118 /* 152584 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54119 /* 152586 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54120 /* 152593 */ // (fadd:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
54121 /* 152593 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ128rm),
54122 /* 152596 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54123 /* 152598 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54124 /* 152600 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54125 /* 152604 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54126 /* 152609 */ GIR_RootConstrainSelectedInstOperands,
54127 /* 152610 */ // GIR_Coverage, 6345,
54128 /* 152610 */ GIR_EraseRootFromParent_Done,
54129 /* 152611 */ // Label 3310: @152611
54130 /* 152611 */ GIM_Try, /*On fail goto*//*Label 3311*/ GIMT_Encode4(152638), // Rule ID 6341 //
54131 /* 152616 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
54132 /* 152619 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54133 /* 152623 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54134 /* 152627 */ // (fadd:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VADDPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
54135 /* 152627 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPHZ128rr),
54136 /* 152632 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54137 /* 152636 */ GIR_RootConstrainSelectedInstOperands,
54138 /* 152637 */ // GIR_Coverage, 6341,
54139 /* 152637 */ GIR_Done,
54140 /* 152638 */ // Label 3311: @152638
54141 /* 152638 */ GIM_Reject,
54142 /* 152639 */ // Label 3308: @152639
54143 /* 152639 */ GIM_Reject,
54144 /* 152640 */ // Label 3217: @152640
54145 /* 152640 */ GIM_Try, /*On fail goto*//*Label 3312*/ GIMT_Encode4(152962),
54146 /* 152645 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
54147 /* 152648 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
54148 /* 152651 */ GIM_Try, /*On fail goto*//*Label 3313*/ GIMT_Encode4(152713), // Rule ID 23374 //
54149 /* 152656 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
54150 /* 152659 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54151 /* 152663 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54152 /* 152667 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54153 /* 152671 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54154 /* 152674 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54155 /* 152678 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54156 /* 152682 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54157 /* 152686 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54158 /* 152688 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54159 /* 152695 */ // (fadd:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8f32] }:$src1) => (VADDPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54160 /* 152695 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSYrm),
54161 /* 152698 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54162 /* 152700 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54163 /* 152702 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54164 /* 152706 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54165 /* 152711 */ GIR_RootConstrainSelectedInstOperands,
54166 /* 152712 */ // GIR_Coverage, 23374,
54167 /* 152712 */ GIR_EraseRootFromParent_Done,
54168 /* 152713 */ // Label 3313: @152713
54169 /* 152713 */ GIM_Try, /*On fail goto*//*Label 3314*/ GIMT_Encode4(152775), // Rule ID 24288 //
54170 /* 152718 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
54171 /* 152721 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54172 /* 152725 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54173 /* 152729 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54174 /* 152733 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54175 /* 152736 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54176 /* 152740 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54177 /* 152744 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54178 /* 152748 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54179 /* 152750 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54180 /* 152757 */ // (fadd:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8f32] }:$src1) => (VADDPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54181 /* 152757 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ256rm),
54182 /* 152760 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54183 /* 152762 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54184 /* 152764 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54185 /* 152768 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54186 /* 152773 */ GIR_RootConstrainSelectedInstOperands,
54187 /* 152774 */ // GIR_Coverage, 24288,
54188 /* 152774 */ GIR_EraseRootFromParent_Done,
54189 /* 152775 */ // Label 3314: @152775
54190 /* 152775 */ GIM_Try, /*On fail goto*//*Label 3315*/ GIMT_Encode4(152837), // Rule ID 2145 //
54191 /* 152780 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
54192 /* 152783 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54193 /* 152787 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54194 /* 152791 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54195 /* 152795 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54196 /* 152799 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54197 /* 152802 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54198 /* 152806 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54199 /* 152810 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54200 /* 152812 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54201 /* 152819 */ // (fadd:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54202 /* 152819 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSYrm),
54203 /* 152822 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54204 /* 152824 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54205 /* 152826 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54206 /* 152830 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54207 /* 152835 */ GIR_RootConstrainSelectedInstOperands,
54208 /* 152836 */ // GIR_Coverage, 2145,
54209 /* 152836 */ GIR_EraseRootFromParent_Done,
54210 /* 152837 */ // Label 3315: @152837
54211 /* 152837 */ GIM_Try, /*On fail goto*//*Label 3316*/ GIMT_Encode4(152899), // Rule ID 6297 //
54212 /* 152842 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
54213 /* 152845 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54214 /* 152849 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54215 /* 152853 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54216 /* 152857 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54217 /* 152861 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54218 /* 152864 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54219 /* 152868 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54220 /* 152872 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54221 /* 152874 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54222 /* 152881 */ // (fadd:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54223 /* 152881 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ256rm),
54224 /* 152884 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54225 /* 152886 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54226 /* 152888 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54227 /* 152892 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54228 /* 152897 */ GIR_RootConstrainSelectedInstOperands,
54229 /* 152898 */ // GIR_Coverage, 6297,
54230 /* 152898 */ GIR_EraseRootFromParent_Done,
54231 /* 152899 */ // Label 3316: @152899
54232 /* 152899 */ GIM_Try, /*On fail goto*//*Label 3317*/ GIMT_Encode4(152930), // Rule ID 2143 //
54233 /* 152904 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
54234 /* 152907 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54235 /* 152911 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54236 /* 152915 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54237 /* 152919 */ // (fadd:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VADDPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
54238 /* 152919 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSYrr),
54239 /* 152924 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54240 /* 152928 */ GIR_RootConstrainSelectedInstOperands,
54241 /* 152929 */ // GIR_Coverage, 2143,
54242 /* 152929 */ GIR_Done,
54243 /* 152930 */ // Label 3317: @152930
54244 /* 152930 */ GIM_Try, /*On fail goto*//*Label 3318*/ GIMT_Encode4(152961), // Rule ID 6293 //
54245 /* 152935 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
54246 /* 152938 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54247 /* 152942 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54248 /* 152946 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54249 /* 152950 */ // (fadd:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VADDPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
54250 /* 152950 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSZ256rr),
54251 /* 152955 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54252 /* 152959 */ GIR_RootConstrainSelectedInstOperands,
54253 /* 152960 */ // GIR_Coverage, 6293,
54254 /* 152960 */ GIR_Done,
54255 /* 152961 */ // Label 3318: @152961
54256 /* 152961 */ GIM_Reject,
54257 /* 152962 */ // Label 3312: @152962
54258 /* 152962 */ GIM_Reject,
54259 /* 152963 */ // Label 3218: @152963
54260 /* 152963 */ GIM_Try, /*On fail goto*//*Label 3319*/ GIMT_Encode4(153122),
54261 /* 152968 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
54262 /* 152971 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
54263 /* 152974 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
54264 /* 152978 */ GIM_Try, /*On fail goto*//*Label 3320*/ GIMT_Encode4(153036), // Rule ID 24272 //
54265 /* 152983 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
54266 /* 152986 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54267 /* 152990 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54268 /* 152994 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54269 /* 152997 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54270 /* 153001 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54271 /* 153005 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
54272 /* 153009 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54273 /* 153011 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54274 /* 153018 */ // (fadd:{ *:[v8f64] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8f64] }:$src1) => (VADDPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54275 /* 153018 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZrm),
54276 /* 153021 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54277 /* 153023 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54278 /* 153025 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54279 /* 153029 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54280 /* 153034 */ GIR_RootConstrainSelectedInstOperands,
54281 /* 153035 */ // GIR_Coverage, 24272,
54282 /* 153035 */ GIR_EraseRootFromParent_Done,
54283 /* 153036 */ // Label 3320: @153036
54284 /* 153036 */ GIM_Try, /*On fail goto*//*Label 3321*/ GIMT_Encode4(153094), // Rule ID 6273 //
54285 /* 153041 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
54286 /* 153044 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
54287 /* 153048 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54288 /* 153052 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54289 /* 153056 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54290 /* 153059 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54291 /* 153063 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54292 /* 153067 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54293 /* 153069 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54294 /* 153076 */ // (fadd:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54295 /* 153076 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZrm),
54296 /* 153079 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54297 /* 153081 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54298 /* 153083 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54299 /* 153087 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54300 /* 153092 */ GIR_RootConstrainSelectedInstOperands,
54301 /* 153093 */ // GIR_Coverage, 6273,
54302 /* 153093 */ GIR_EraseRootFromParent_Done,
54303 /* 153094 */ // Label 3321: @153094
54304 /* 153094 */ GIM_Try, /*On fail goto*//*Label 3322*/ GIMT_Encode4(153121), // Rule ID 6269 //
54305 /* 153099 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
54306 /* 153102 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
54307 /* 153106 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
54308 /* 153110 */ // (fadd:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VADDPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
54309 /* 153110 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDZrr),
54310 /* 153115 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54311 /* 153119 */ GIR_RootConstrainSelectedInstOperands,
54312 /* 153120 */ // GIR_Coverage, 6269,
54313 /* 153120 */ GIR_Done,
54314 /* 153121 */ // Label 3322: @153121
54315 /* 153121 */ GIM_Reject,
54316 /* 153122 */ // Label 3319: @153122
54317 /* 153122 */ GIM_Reject,
54318 /* 153123 */ // Label 3219: @153123
54319 /* 153123 */ GIM_Try, /*On fail goto*//*Label 3323*/ GIMT_Encode4(153282),
54320 /* 153128 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
54321 /* 153131 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
54322 /* 153134 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54323 /* 153138 */ GIM_Try, /*On fail goto*//*Label 3324*/ GIMT_Encode4(153196), // Rule ID 24328 //
54324 /* 153143 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
54325 /* 153146 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54326 /* 153150 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54327 /* 153154 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54328 /* 153157 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54329 /* 153161 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54330 /* 153165 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54331 /* 153169 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54332 /* 153171 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54333 /* 153178 */ // (fadd:{ *:[v16f16] } (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16f16] }:$src1) => (VADDPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
54334 /* 153178 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ256rm),
54335 /* 153181 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54336 /* 153183 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54337 /* 153185 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54338 /* 153189 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54339 /* 153194 */ GIR_RootConstrainSelectedInstOperands,
54340 /* 153195 */ // GIR_Coverage, 24328,
54341 /* 153195 */ GIR_EraseRootFromParent_Done,
54342 /* 153196 */ // Label 3324: @153196
54343 /* 153196 */ GIM_Try, /*On fail goto*//*Label 3325*/ GIMT_Encode4(153254), // Rule ID 6357 //
54344 /* 153201 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
54345 /* 153204 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54346 /* 153208 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54347 /* 153212 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54348 /* 153216 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54349 /* 153219 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54350 /* 153223 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54351 /* 153227 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54352 /* 153229 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54353 /* 153236 */ // (fadd:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
54354 /* 153236 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ256rm),
54355 /* 153239 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54356 /* 153241 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54357 /* 153243 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54358 /* 153247 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54359 /* 153252 */ GIR_RootConstrainSelectedInstOperands,
54360 /* 153253 */ // GIR_Coverage, 6357,
54361 /* 153253 */ GIR_EraseRootFromParent_Done,
54362 /* 153254 */ // Label 3325: @153254
54363 /* 153254 */ GIM_Try, /*On fail goto*//*Label 3326*/ GIMT_Encode4(153281), // Rule ID 6353 //
54364 /* 153259 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
54365 /* 153262 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54366 /* 153266 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54367 /* 153270 */ // (fadd:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VADDPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
54368 /* 153270 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPHZ256rr),
54369 /* 153275 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54370 /* 153279 */ GIR_RootConstrainSelectedInstOperands,
54371 /* 153280 */ // GIR_Coverage, 6353,
54372 /* 153280 */ GIR_Done,
54373 /* 153281 */ // Label 3326: @153281
54374 /* 153281 */ GIM_Reject,
54375 /* 153282 */ // Label 3323: @153282
54376 /* 153282 */ GIM_Reject,
54377 /* 153283 */ // Label 3220: @153283
54378 /* 153283 */ GIM_Try, /*On fail goto*//*Label 3327*/ GIMT_Encode4(153442),
54379 /* 153288 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
54380 /* 153291 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
54381 /* 153294 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
54382 /* 153298 */ GIM_Try, /*On fail goto*//*Label 3328*/ GIMT_Encode4(153356), // Rule ID 24264 //
54383 /* 153303 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
54384 /* 153306 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54385 /* 153310 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54386 /* 153314 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54387 /* 153317 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54388 /* 153321 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54389 /* 153325 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
54390 /* 153329 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54391 /* 153331 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54392 /* 153338 */ // (fadd:{ *:[v16f32] } (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16f32] }:$src1) => (VADDPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54393 /* 153338 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZrm),
54394 /* 153341 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54395 /* 153343 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54396 /* 153345 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54397 /* 153349 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54398 /* 153354 */ GIR_RootConstrainSelectedInstOperands,
54399 /* 153355 */ // GIR_Coverage, 24264,
54400 /* 153355 */ GIR_EraseRootFromParent_Done,
54401 /* 153356 */ // Label 3328: @153356
54402 /* 153356 */ GIM_Try, /*On fail goto*//*Label 3329*/ GIMT_Encode4(153414), // Rule ID 6261 //
54403 /* 153361 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
54404 /* 153364 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
54405 /* 153368 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54406 /* 153372 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54407 /* 153376 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54408 /* 153379 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54409 /* 153383 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54410 /* 153387 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54411 /* 153389 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54412 /* 153396 */ // (fadd:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54413 /* 153396 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZrm),
54414 /* 153399 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54415 /* 153401 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54416 /* 153403 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54417 /* 153407 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54418 /* 153412 */ GIR_RootConstrainSelectedInstOperands,
54419 /* 153413 */ // GIR_Coverage, 6261,
54420 /* 153413 */ GIR_EraseRootFromParent_Done,
54421 /* 153414 */ // Label 3329: @153414
54422 /* 153414 */ GIM_Try, /*On fail goto*//*Label 3330*/ GIMT_Encode4(153441), // Rule ID 6257 //
54423 /* 153419 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
54424 /* 153422 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
54425 /* 153426 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
54426 /* 153430 */ // (fadd:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VADDPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
54427 /* 153430 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSZrr),
54428 /* 153435 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54429 /* 153439 */ GIR_RootConstrainSelectedInstOperands,
54430 /* 153440 */ // GIR_Coverage, 6257,
54431 /* 153440 */ GIR_Done,
54432 /* 153441 */ // Label 3330: @153441
54433 /* 153441 */ GIM_Reject,
54434 /* 153442 */ // Label 3327: @153442
54435 /* 153442 */ GIM_Reject,
54436 /* 153443 */ // Label 3221: @153443
54437 /* 153443 */ GIM_Try, /*On fail goto*//*Label 3331*/ GIMT_Encode4(153602),
54438 /* 153448 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
54439 /* 153451 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
54440 /* 153454 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
54441 /* 153458 */ GIM_Try, /*On fail goto*//*Label 3332*/ GIMT_Encode4(153516), // Rule ID 24312 //
54442 /* 153463 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
54443 /* 153466 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54444 /* 153470 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54445 /* 153474 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54446 /* 153477 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54447 /* 153481 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54448 /* 153485 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
54449 /* 153489 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54450 /* 153491 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54451 /* 153498 */ // (fadd:{ *:[v32f16] } (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32f16] }:$src1) => (VADDPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
54452 /* 153498 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZrm),
54453 /* 153501 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54454 /* 153503 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54455 /* 153505 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54456 /* 153509 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54457 /* 153514 */ GIR_RootConstrainSelectedInstOperands,
54458 /* 153515 */ // GIR_Coverage, 24312,
54459 /* 153515 */ GIR_EraseRootFromParent_Done,
54460 /* 153516 */ // Label 3332: @153516
54461 /* 153516 */ GIM_Try, /*On fail goto*//*Label 3333*/ GIMT_Encode4(153574), // Rule ID 6333 //
54462 /* 153521 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
54463 /* 153524 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
54464 /* 153528 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54465 /* 153532 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54466 /* 153536 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54467 /* 153539 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54468 /* 153543 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54469 /* 153547 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54470 /* 153549 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54471 /* 153556 */ // (fadd:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
54472 /* 153556 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZrm),
54473 /* 153559 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54474 /* 153561 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54475 /* 153563 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54476 /* 153567 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54477 /* 153572 */ GIR_RootConstrainSelectedInstOperands,
54478 /* 153573 */ // GIR_Coverage, 6333,
54479 /* 153573 */ GIR_EraseRootFromParent_Done,
54480 /* 153574 */ // Label 3333: @153574
54481 /* 153574 */ GIM_Try, /*On fail goto*//*Label 3334*/ GIMT_Encode4(153601), // Rule ID 6329 //
54482 /* 153579 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
54483 /* 153582 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
54484 /* 153586 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
54485 /* 153590 */ // (fadd:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VADDPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
54486 /* 153590 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPHZrr),
54487 /* 153595 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54488 /* 153599 */ GIR_RootConstrainSelectedInstOperands,
54489 /* 153600 */ // GIR_Coverage, 6329,
54490 /* 153600 */ GIR_Done,
54491 /* 153601 */ // Label 3334: @153601
54492 /* 153601 */ GIM_Reject,
54493 /* 153602 */ // Label 3331: @153602
54494 /* 153602 */ GIM_Reject,
54495 /* 153603 */ // Label 3222: @153603
54496 /* 153603 */ GIM_Reject,
54497 /* 153604 */ // Label 42: @153604
54498 /* 153604 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 3348*/ GIMT_Encode4(157785),
54499 /* 153615 */ /*GILLT_s16*//*Label 3335*/ GIMT_Encode4(153699),
54500 /* 153619 */ /*GILLT_s32*//*Label 3336*/ GIMT_Encode4(153797),
54501 /* 153623 */ /*GILLT_s64*//*Label 3337*/ GIMT_Encode4(154762),
54502 /* 153627 */ /*GILLT_s80*//*Label 3338*/ GIMT_Encode4(155871), GIMT_Encode4(0), GIMT_Encode4(0),
54503 /* 153639 */ /*GILLT_v2s64*//*Label 3339*/ GIMT_Encode4(156437), GIMT_Encode4(0),
54504 /* 153647 */ /*GILLT_v4s32*//*Label 3340*/ GIMT_Encode4(156667),
54505 /* 153651 */ /*GILLT_v4s64*//*Label 3341*/ GIMT_Encode4(156897), GIMT_Encode4(0),
54506 /* 153659 */ /*GILLT_v8s16*//*Label 3342*/ GIMT_Encode4(157096),
54507 /* 153663 */ /*GILLT_v8s32*//*Label 3343*/ GIMT_Encode4(157194),
54508 /* 153667 */ /*GILLT_v8s64*//*Label 3344*/ GIMT_Encode4(157393), GIMT_Encode4(0), GIMT_Encode4(0),
54509 /* 153679 */ /*GILLT_v16s16*//*Label 3345*/ GIMT_Encode4(157491),
54510 /* 153683 */ /*GILLT_v16s32*//*Label 3346*/ GIMT_Encode4(157589), GIMT_Encode4(0), GIMT_Encode4(0),
54511 /* 153695 */ /*GILLT_v32s16*//*Label 3347*/ GIMT_Encode4(157687),
54512 /* 153699 */ // Label 3335: @153699
54513 /* 153699 */ GIM_Try, /*On fail goto*//*Label 3349*/ GIMT_Encode4(153796),
54514 /* 153704 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
54515 /* 153707 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
54516 /* 153710 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
54517 /* 153714 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
54518 /* 153718 */ GIM_Try, /*On fail goto*//*Label 3350*/ GIMT_Encode4(153772), // Rule ID 6069 //
54519 /* 153723 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
54520 /* 153726 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54521 /* 153730 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54522 /* 153734 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54523 /* 153737 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54524 /* 153741 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54525 /* 153745 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54526 /* 153747 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54527 /* 153754 */ // (fsub:{ *:[f16] } FR16X:{ *:[f16] }:$src1, (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
54528 /* 153754 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSHZrm),
54529 /* 153757 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54530 /* 153759 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54531 /* 153761 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54532 /* 153765 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54533 /* 153770 */ GIR_RootConstrainSelectedInstOperands,
54534 /* 153771 */ // GIR_Coverage, 6069,
54535 /* 153771 */ GIR_EraseRootFromParent_Done,
54536 /* 153772 */ // Label 3350: @153772
54537 /* 153772 */ GIM_Try, /*On fail goto*//*Label 3351*/ GIMT_Encode4(153795), // Rule ID 6067 //
54538 /* 153777 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
54539 /* 153780 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
54540 /* 153784 */ // (fsub:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VSUBSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
54541 /* 153784 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSHZrr),
54542 /* 153789 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54543 /* 153793 */ GIR_RootConstrainSelectedInstOperands,
54544 /* 153794 */ // GIR_Coverage, 6067,
54545 /* 153794 */ GIR_Done,
54546 /* 153795 */ // Label 3351: @153795
54547 /* 153795 */ GIM_Reject,
54548 /* 153796 */ // Label 3349: @153796
54549 /* 153796 */ GIM_Reject,
54550 /* 153797 */ // Label 3336: @153797
54551 /* 153797 */ GIM_Try, /*On fail goto*//*Label 3352*/ GIMT_Encode4(154761),
54552 /* 153802 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
54553 /* 153805 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
54554 /* 153808 */ GIM_Try, /*On fail goto*//*Label 3353*/ GIMT_Encode4(153890), // Rule ID 22473 //
54555 /* 153813 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
54556 /* 153816 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54557 /* 153820 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54558 /* 153824 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54559 /* 153828 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54560 /* 153832 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
54561 /* 153836 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54562 /* 153840 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54563 /* 153844 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54564 /* 153847 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54565 /* 153851 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54566 /* 153858 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54567 /* 153862 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54568 /* 153864 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54569 /* 153871 */ // (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)
54570 /* 153871 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBSSrm),
54571 /* 153874 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54572 /* 153876 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54573 /* 153878 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54574 /* 153882 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54575 /* 153888 */ GIR_RootConstrainSelectedInstOperands,
54576 /* 153889 */ // GIR_Coverage, 22473,
54577 /* 153889 */ GIR_EraseRootFromParent_Done,
54578 /* 153890 */ // Label 3353: @153890
54579 /* 153890 */ GIM_Try, /*On fail goto*//*Label 3354*/ GIMT_Encode4(153972), // Rule ID 22474 //
54580 /* 153895 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
54581 /* 153898 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54582 /* 153902 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54583 /* 153906 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54584 /* 153910 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54585 /* 153914 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
54586 /* 153918 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54587 /* 153922 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54588 /* 153926 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54589 /* 153929 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54590 /* 153933 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54591 /* 153940 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54592 /* 153944 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54593 /* 153946 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54594 /* 153953 */ // (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)
54595 /* 153953 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSSrm),
54596 /* 153956 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54597 /* 153958 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54598 /* 153960 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54599 /* 153964 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54600 /* 153970 */ GIR_RootConstrainSelectedInstOperands,
54601 /* 153971 */ // GIR_Coverage, 22474,
54602 /* 153971 */ GIR_EraseRootFromParent_Done,
54603 /* 153972 */ // Label 3354: @153972
54604 /* 153972 */ GIM_Try, /*On fail goto*//*Label 3355*/ GIMT_Encode4(154054), // Rule ID 22475 //
54605 /* 153977 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
54606 /* 153980 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54607 /* 153984 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54608 /* 153988 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54609 /* 153992 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54610 /* 153996 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
54611 /* 154000 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54612 /* 154004 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54613 /* 154008 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54614 /* 154011 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54615 /* 154015 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54616 /* 154022 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54617 /* 154026 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54618 /* 154028 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54619 /* 154035 */ // (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)
54620 /* 154035 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSSZrm),
54621 /* 154038 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54622 /* 154040 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54623 /* 154042 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54624 /* 154046 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54625 /* 154052 */ GIR_RootConstrainSelectedInstOperands,
54626 /* 154053 */ // GIR_Coverage, 22475,
54627 /* 154053 */ GIR_EraseRootFromParent_Done,
54628 /* 154054 */ // Label 3355: @154054
54629 /* 154054 */ GIM_Try, /*On fail goto*//*Label 3356*/ GIMT_Encode4(154119), // Rule ID 965 //
54630 /* 154059 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
54631 /* 154062 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54632 /* 154066 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54633 /* 154070 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54634 /* 154074 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
54635 /* 154081 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54636 /* 154085 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54637 /* 154089 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54638 /* 154091 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54639 /* 154098 */ // (fsub:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (SUBR_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54640 /* 154098 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI16m32),
54641 /* 154101 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54642 /* 154103 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54643 /* 154105 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54644 /* 154109 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54645 /* 154112 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54646 /* 154117 */ GIR_RootConstrainSelectedInstOperands,
54647 /* 154118 */ // GIR_Coverage, 965,
54648 /* 154118 */ GIR_EraseRootFromParent_Done,
54649 /* 154119 */ // Label 3356: @154119
54650 /* 154119 */ GIM_Try, /*On fail goto*//*Label 3357*/ GIMT_Encode4(154184), // Rule ID 967 //
54651 /* 154124 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
54652 /* 154127 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54653 /* 154131 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54654 /* 154135 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54655 /* 154139 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54656 /* 154146 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54657 /* 154150 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54658 /* 154154 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54659 /* 154156 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54660 /* 154163 */ // (fsub:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (SUBR_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54661 /* 154163 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI32m32),
54662 /* 154166 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54663 /* 154168 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54664 /* 154170 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54665 /* 154174 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54666 /* 154177 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54667 /* 154182 */ GIR_RootConstrainSelectedInstOperands,
54668 /* 154183 */ // GIR_Coverage, 967,
54669 /* 154183 */ GIR_EraseRootFromParent_Done,
54670 /* 154184 */ // Label 3357: @154184
54671 /* 154184 */ GIM_Try, /*On fail goto*//*Label 3358*/ GIMT_Encode4(154249), // Rule ID 955 //
54672 /* 154189 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
54673 /* 154192 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54674 /* 154196 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54675 /* 154200 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54676 /* 154204 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54677 /* 154207 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54678 /* 154211 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54679 /* 154215 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54680 /* 154219 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54681 /* 154221 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54682 /* 154228 */ // (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)
54683 /* 154228 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp32m),
54684 /* 154231 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54685 /* 154233 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54686 /* 154235 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54687 /* 154239 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54688 /* 154242 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54689 /* 154247 */ GIR_RootConstrainSelectedInstOperands,
54690 /* 154248 */ // GIR_Coverage, 955,
54691 /* 154248 */ GIR_EraseRootFromParent_Done,
54692 /* 154249 */ // Label 3358: @154249
54693 /* 154249 */ GIM_Try, /*On fail goto*//*Label 3359*/ GIMT_Encode4(154314), // Rule ID 943 //
54694 /* 154254 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
54695 /* 154257 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54696 /* 154261 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54697 /* 154265 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54698 /* 154269 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54699 /* 154273 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
54700 /* 154280 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54701 /* 154284 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54702 /* 154286 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54703 /* 154293 */ // (fsub:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (SUB_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54704 /* 154293 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI16m32),
54705 /* 154296 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54706 /* 154298 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54707 /* 154300 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54708 /* 154304 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54709 /* 154307 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54710 /* 154312 */ GIR_RootConstrainSelectedInstOperands,
54711 /* 154313 */ // GIR_Coverage, 943,
54712 /* 154313 */ GIR_EraseRootFromParent_Done,
54713 /* 154314 */ // Label 3359: @154314
54714 /* 154314 */ GIM_Try, /*On fail goto*//*Label 3360*/ GIMT_Encode4(154379), // Rule ID 945 //
54715 /* 154319 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
54716 /* 154322 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54717 /* 154326 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54718 /* 154330 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54719 /* 154334 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54720 /* 154338 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54721 /* 154345 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54722 /* 154349 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54723 /* 154351 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54724 /* 154358 */ // (fsub:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (SUB_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54725 /* 154358 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI32m32),
54726 /* 154361 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54727 /* 154363 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54728 /* 154365 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54729 /* 154369 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54730 /* 154372 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54731 /* 154377 */ GIR_RootConstrainSelectedInstOperands,
54732 /* 154378 */ // GIR_Coverage, 945,
54733 /* 154378 */ GIR_EraseRootFromParent_Done,
54734 /* 154379 */ // Label 3360: @154379
54735 /* 154379 */ GIM_Try, /*On fail goto*//*Label 3361*/ GIMT_Encode4(154444), // Rule ID 933 //
54736 /* 154384 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
54737 /* 154387 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54738 /* 154391 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54739 /* 154395 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54740 /* 154399 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54741 /* 154403 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54742 /* 154406 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54743 /* 154410 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54744 /* 154414 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54745 /* 154416 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54746 /* 154423 */ // (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)
54747 /* 154423 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp32m),
54748 /* 154426 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54749 /* 154428 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54750 /* 154430 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54751 /* 154434 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54752 /* 154437 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54753 /* 154442 */ GIR_RootConstrainSelectedInstOperands,
54754 /* 154443 */ // GIR_Coverage, 933,
54755 /* 154443 */ GIR_EraseRootFromParent_Done,
54756 /* 154444 */ // Label 3361: @154444
54757 /* 154444 */ GIM_Try, /*On fail goto*//*Label 3362*/ GIMT_Encode4(154506), // Rule ID 2241 //
54758 /* 154449 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
54759 /* 154452 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54760 /* 154456 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54761 /* 154460 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54762 /* 154464 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54763 /* 154468 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54764 /* 154471 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54765 /* 154475 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54766 /* 154479 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54767 /* 154481 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54768 /* 154488 */ // (fsub:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54769 /* 154488 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSSrm),
54770 /* 154491 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54771 /* 154493 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54772 /* 154495 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54773 /* 154499 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54774 /* 154504 */ GIR_RootConstrainSelectedInstOperands,
54775 /* 154505 */ // GIR_Coverage, 2241,
54776 /* 154505 */ GIR_EraseRootFromParent_Done,
54777 /* 154506 */ // Label 3362: @154506
54778 /* 154506 */ GIM_Try, /*On fail goto*//*Label 3363*/ GIMT_Encode4(154568), // Rule ID 2249 //
54779 /* 154511 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
54780 /* 154514 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54781 /* 154518 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54782 /* 154522 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54783 /* 154526 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54784 /* 154530 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54785 /* 154533 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54786 /* 154537 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54787 /* 154541 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54788 /* 154543 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54789 /* 154550 */ // (fsub:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SUBSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54790 /* 154550 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBSSrm),
54791 /* 154553 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54792 /* 154555 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54793 /* 154557 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54794 /* 154561 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54795 /* 154566 */ GIR_RootConstrainSelectedInstOperands,
54796 /* 154567 */ // GIR_Coverage, 2249,
54797 /* 154567 */ GIR_EraseRootFromParent_Done,
54798 /* 154568 */ // Label 3363: @154568
54799 /* 154568 */ GIM_Try, /*On fail goto*//*Label 3364*/ GIMT_Encode4(154630), // Rule ID 6031 //
54800 /* 154573 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
54801 /* 154576 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54802 /* 154580 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54803 /* 154584 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54804 /* 154588 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54805 /* 154592 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54806 /* 154595 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54807 /* 154599 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54808 /* 154603 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54809 /* 154605 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54810 /* 154612 */ // (fsub:{ *:[f32] } FR32X:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54811 /* 154612 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSSZrm),
54812 /* 154615 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54813 /* 154617 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54814 /* 154619 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54815 /* 154623 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54816 /* 154628 */ GIR_RootConstrainSelectedInstOperands,
54817 /* 154629 */ // GIR_Coverage, 6031,
54818 /* 154629 */ GIR_EraseRootFromParent_Done,
54819 /* 154630 */ // Label 3364: @154630
54820 /* 154630 */ GIM_Try, /*On fail goto*//*Label 3365*/ GIMT_Encode4(154667), // Rule ID 893 //
54821 /* 154635 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
54822 /* 154638 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54823 /* 154642 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54824 /* 154646 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54825 /* 154650 */ // (fsub:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (SUB_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
54826 /* 154650 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB_Fp32),
54827 /* 154655 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(RegState::Dead),
54828 /* 154661 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
54829 /* 154665 */ GIR_RootConstrainSelectedInstOperands,
54830 /* 154666 */ // GIR_Coverage, 893,
54831 /* 154666 */ GIR_Done,
54832 /* 154667 */ // Label 3365: @154667
54833 /* 154667 */ GIM_Try, /*On fail goto*//*Label 3366*/ GIMT_Encode4(154698), // Rule ID 2239 //
54834 /* 154672 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
54835 /* 154675 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54836 /* 154679 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54837 /* 154683 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54838 /* 154687 */ // (fsub:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VSUBSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
54839 /* 154687 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSSrr),
54840 /* 154692 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54841 /* 154696 */ GIR_RootConstrainSelectedInstOperands,
54842 /* 154697 */ // GIR_Coverage, 2239,
54843 /* 154697 */ GIR_Done,
54844 /* 154698 */ // Label 3366: @154698
54845 /* 154698 */ GIM_Try, /*On fail goto*//*Label 3367*/ GIMT_Encode4(154729), // Rule ID 2247 //
54846 /* 154703 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
54847 /* 154706 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54848 /* 154710 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54849 /* 154714 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54850 /* 154718 */ // (fsub:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (SUBSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
54851 /* 154718 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBSSrr),
54852 /* 154723 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54853 /* 154727 */ GIR_RootConstrainSelectedInstOperands,
54854 /* 154728 */ // GIR_Coverage, 2247,
54855 /* 154728 */ GIR_Done,
54856 /* 154729 */ // Label 3367: @154729
54857 /* 154729 */ GIM_Try, /*On fail goto*//*Label 3368*/ GIMT_Encode4(154760), // Rule ID 6029 //
54858 /* 154734 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
54859 /* 154737 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54860 /* 154741 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54861 /* 154745 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54862 /* 154749 */ // (fsub:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VSUBSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
54863 /* 154749 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSSZrr),
54864 /* 154754 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54865 /* 154758 */ GIR_RootConstrainSelectedInstOperands,
54866 /* 154759 */ // GIR_Coverage, 6029,
54867 /* 154759 */ GIR_Done,
54868 /* 154760 */ // Label 3368: @154760
54869 /* 154760 */ GIM_Reject,
54870 /* 154761 */ // Label 3352: @154761
54871 /* 154761 */ GIM_Reject,
54872 /* 154762 */ // Label 3337: @154762
54873 /* 154762 */ GIM_Try, /*On fail goto*//*Label 3369*/ GIMT_Encode4(155870),
54874 /* 154767 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
54875 /* 154770 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
54876 /* 154773 */ GIM_Try, /*On fail goto*//*Label 3370*/ GIMT_Encode4(154855), // Rule ID 22476 //
54877 /* 154778 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
54878 /* 154781 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54879 /* 154785 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54880 /* 154789 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54881 /* 154793 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54882 /* 154797 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
54883 /* 154801 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54884 /* 154805 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54885 /* 154809 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54886 /* 154812 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54887 /* 154816 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
54888 /* 154823 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54889 /* 154827 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54890 /* 154829 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54891 /* 154836 */ // (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)
54892 /* 154836 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBSDrm),
54893 /* 154839 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54894 /* 154841 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54895 /* 154843 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54896 /* 154847 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54897 /* 154853 */ GIR_RootConstrainSelectedInstOperands,
54898 /* 154854 */ // GIR_Coverage, 22476,
54899 /* 154854 */ GIR_EraseRootFromParent_Done,
54900 /* 154855 */ // Label 3370: @154855
54901 /* 154855 */ GIM_Try, /*On fail goto*//*Label 3371*/ GIMT_Encode4(154937), // Rule ID 22477 //
54902 /* 154860 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
54903 /* 154863 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54904 /* 154867 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54905 /* 154871 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54906 /* 154875 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54907 /* 154879 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
54908 /* 154883 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54909 /* 154887 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54910 /* 154891 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54911 /* 154894 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54912 /* 154898 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
54913 /* 154905 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54914 /* 154909 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54915 /* 154911 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54916 /* 154918 */ // (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)
54917 /* 154918 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSDrm),
54918 /* 154921 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54919 /* 154923 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54920 /* 154925 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54921 /* 154929 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54922 /* 154935 */ GIR_RootConstrainSelectedInstOperands,
54923 /* 154936 */ // GIR_Coverage, 22477,
54924 /* 154936 */ GIR_EraseRootFromParent_Done,
54925 /* 154937 */ // Label 3371: @154937
54926 /* 154937 */ GIM_Try, /*On fail goto*//*Label 3372*/ GIMT_Encode4(155019), // Rule ID 22478 //
54927 /* 154942 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
54928 /* 154945 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
54929 /* 154949 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
54930 /* 154953 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54931 /* 154957 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54932 /* 154961 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
54933 /* 154965 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54934 /* 154969 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54935 /* 154973 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54936 /* 154976 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54937 /* 154980 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
54938 /* 154987 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54939 /* 154991 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54940 /* 154993 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54941 /* 155000 */ // (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)
54942 /* 155000 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSDZrm),
54943 /* 155003 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54944 /* 155005 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54945 /* 155007 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54946 /* 155011 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54947 /* 155017 */ GIR_RootConstrainSelectedInstOperands,
54948 /* 155018 */ // GIR_Coverage, 22478,
54949 /* 155018 */ GIR_EraseRootFromParent_Done,
54950 /* 155019 */ // Label 3372: @155019
54951 /* 155019 */ GIM_Try, /*On fail goto*//*Label 3373*/ GIMT_Encode4(155084), // Rule ID 969 //
54952 /* 155024 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
54953 /* 155027 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54954 /* 155031 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54955 /* 155035 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54956 /* 155039 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
54957 /* 155046 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54958 /* 155050 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54959 /* 155054 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54960 /* 155056 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54961 /* 155063 */ // (fsub:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (SUBR_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54962 /* 155063 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI16m64),
54963 /* 155066 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54964 /* 155068 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54965 /* 155070 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54966 /* 155074 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54967 /* 155077 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54968 /* 155082 */ GIR_RootConstrainSelectedInstOperands,
54969 /* 155083 */ // GIR_Coverage, 969,
54970 /* 155083 */ GIR_EraseRootFromParent_Done,
54971 /* 155084 */ // Label 3373: @155084
54972 /* 155084 */ GIM_Try, /*On fail goto*//*Label 3374*/ GIMT_Encode4(155149), // Rule ID 971 //
54973 /* 155089 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
54974 /* 155092 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54975 /* 155096 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54976 /* 155100 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54977 /* 155104 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54978 /* 155111 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54979 /* 155115 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54980 /* 155119 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54981 /* 155121 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54982 /* 155128 */ // (fsub:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (SUBR_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54983 /* 155128 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI32m64),
54984 /* 155131 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54985 /* 155133 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54986 /* 155135 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54987 /* 155139 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54988 /* 155142 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54989 /* 155147 */ GIR_RootConstrainSelectedInstOperands,
54990 /* 155148 */ // GIR_Coverage, 971,
54991 /* 155148 */ GIR_EraseRootFromParent_Done,
54992 /* 155149 */ // Label 3374: @155149
54993 /* 155149 */ GIM_Try, /*On fail goto*//*Label 3375*/ GIMT_Encode4(155214), // Rule ID 957 //
54994 /* 155154 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
54995 /* 155157 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54996 /* 155161 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54997 /* 155165 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54998 /* 155169 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54999 /* 155172 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55000 /* 155176 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55001 /* 155180 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55002 /* 155184 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55003 /* 155186 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55004 /* 155193 */ // (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)
55005 /* 155193 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp64m),
55006 /* 155196 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55007 /* 155198 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55008 /* 155200 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55009 /* 155204 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55010 /* 155207 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55011 /* 155212 */ GIR_RootConstrainSelectedInstOperands,
55012 /* 155213 */ // GIR_Coverage, 957,
55013 /* 155213 */ GIR_EraseRootFromParent_Done,
55014 /* 155214 */ // Label 3375: @155214
55015 /* 155214 */ GIM_Try, /*On fail goto*//*Label 3376*/ GIMT_Encode4(155286), // Rule ID 959 //
55016 /* 155219 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
55017 /* 155222 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55018 /* 155226 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55019 /* 155230 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55020 /* 155234 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55021 /* 155237 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55022 /* 155241 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55023 /* 155248 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55024 /* 155252 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55025 /* 155256 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55026 /* 155258 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55027 /* 155265 */ // (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)
55028 /* 155265 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp64m32),
55029 /* 155268 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55030 /* 155270 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55031 /* 155272 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55032 /* 155276 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55033 /* 155279 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55034 /* 155284 */ GIR_RootConstrainSelectedInstOperands,
55035 /* 155285 */ // GIR_Coverage, 959,
55036 /* 155285 */ GIR_EraseRootFromParent_Done,
55037 /* 155286 */ // Label 3376: @155286
55038 /* 155286 */ GIM_Try, /*On fail goto*//*Label 3377*/ GIMT_Encode4(155351), // Rule ID 947 //
55039 /* 155291 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
55040 /* 155294 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55041 /* 155298 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55042 /* 155302 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55043 /* 155306 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
55044 /* 155310 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
55045 /* 155317 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55046 /* 155321 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55047 /* 155323 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55048 /* 155330 */ // (fsub:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (SUB_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55049 /* 155330 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI16m64),
55050 /* 155333 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55051 /* 155335 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55052 /* 155337 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55053 /* 155341 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55054 /* 155344 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55055 /* 155349 */ GIR_RootConstrainSelectedInstOperands,
55056 /* 155350 */ // GIR_Coverage, 947,
55057 /* 155350 */ GIR_EraseRootFromParent_Done,
55058 /* 155351 */ // Label 3377: @155351
55059 /* 155351 */ GIM_Try, /*On fail goto*//*Label 3378*/ GIMT_Encode4(155416), // Rule ID 949 //
55060 /* 155356 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
55061 /* 155359 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55062 /* 155363 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55063 /* 155367 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55064 /* 155371 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
55065 /* 155375 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55066 /* 155382 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55067 /* 155386 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55068 /* 155388 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55069 /* 155395 */ // (fsub:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (SUB_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55070 /* 155395 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI32m64),
55071 /* 155398 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55072 /* 155400 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55073 /* 155402 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55074 /* 155406 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55075 /* 155409 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55076 /* 155414 */ GIR_RootConstrainSelectedInstOperands,
55077 /* 155415 */ // GIR_Coverage, 949,
55078 /* 155415 */ GIR_EraseRootFromParent_Done,
55079 /* 155416 */ // Label 3378: @155416
55080 /* 155416 */ GIM_Try, /*On fail goto*//*Label 3379*/ GIMT_Encode4(155481), // Rule ID 935 //
55081 /* 155421 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
55082 /* 155424 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55083 /* 155428 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55084 /* 155432 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55085 /* 155436 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55086 /* 155440 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55087 /* 155443 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55088 /* 155447 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55089 /* 155451 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55090 /* 155453 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55091 /* 155460 */ // (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)
55092 /* 155460 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp64m),
55093 /* 155463 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55094 /* 155465 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55095 /* 155467 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55096 /* 155471 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55097 /* 155474 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55098 /* 155479 */ GIR_RootConstrainSelectedInstOperands,
55099 /* 155480 */ // GIR_Coverage, 935,
55100 /* 155480 */ GIR_EraseRootFromParent_Done,
55101 /* 155481 */ // Label 3379: @155481
55102 /* 155481 */ GIM_Try, /*On fail goto*//*Label 3380*/ GIMT_Encode4(155553), // Rule ID 937 //
55103 /* 155486 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
55104 /* 155489 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55105 /* 155493 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55106 /* 155497 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55107 /* 155501 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55108 /* 155505 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55109 /* 155508 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55110 /* 155512 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55111 /* 155519 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55112 /* 155523 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55113 /* 155525 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55114 /* 155532 */ // (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)
55115 /* 155532 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp64m32),
55116 /* 155535 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55117 /* 155537 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55118 /* 155539 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55119 /* 155543 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55120 /* 155546 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55121 /* 155551 */ GIR_RootConstrainSelectedInstOperands,
55122 /* 155552 */ // GIR_Coverage, 937,
55123 /* 155552 */ GIR_EraseRootFromParent_Done,
55124 /* 155553 */ // Label 3380: @155553
55125 /* 155553 */ GIM_Try, /*On fail goto*//*Label 3381*/ GIMT_Encode4(155615), // Rule ID 2245 //
55126 /* 155558 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
55127 /* 155561 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
55128 /* 155565 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
55129 /* 155569 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55130 /* 155573 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55131 /* 155577 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55132 /* 155580 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55133 /* 155584 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55134 /* 155588 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55135 /* 155590 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55136 /* 155597 */ // (fsub:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55137 /* 155597 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSDrm),
55138 /* 155600 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55139 /* 155602 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55140 /* 155604 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55141 /* 155608 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55142 /* 155613 */ GIR_RootConstrainSelectedInstOperands,
55143 /* 155614 */ // GIR_Coverage, 2245,
55144 /* 155614 */ GIR_EraseRootFromParent_Done,
55145 /* 155615 */ // Label 3381: @155615
55146 /* 155615 */ GIM_Try, /*On fail goto*//*Label 3382*/ GIMT_Encode4(155677), // Rule ID 2253 //
55147 /* 155620 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
55148 /* 155623 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
55149 /* 155627 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
55150 /* 155631 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55151 /* 155635 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55152 /* 155639 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55153 /* 155642 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55154 /* 155646 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55155 /* 155650 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55156 /* 155652 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55157 /* 155659 */ // (fsub:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SUBSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55158 /* 155659 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBSDrm),
55159 /* 155662 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55160 /* 155664 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55161 /* 155666 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55162 /* 155670 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55163 /* 155675 */ GIR_RootConstrainSelectedInstOperands,
55164 /* 155676 */ // GIR_Coverage, 2253,
55165 /* 155676 */ GIR_EraseRootFromParent_Done,
55166 /* 155677 */ // Label 3382: @155677
55167 /* 155677 */ GIM_Try, /*On fail goto*//*Label 3383*/ GIMT_Encode4(155739), // Rule ID 6050 //
55168 /* 155682 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
55169 /* 155685 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
55170 /* 155689 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
55171 /* 155693 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55172 /* 155697 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55173 /* 155701 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55174 /* 155704 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55175 /* 155708 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55176 /* 155712 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55177 /* 155714 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55178 /* 155721 */ // (fsub:{ *:[f64] } FR64X:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55179 /* 155721 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSDZrm),
55180 /* 155724 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55181 /* 155726 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55182 /* 155728 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55183 /* 155732 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55184 /* 155737 */ GIR_RootConstrainSelectedInstOperands,
55185 /* 155738 */ // GIR_Coverage, 6050,
55186 /* 155738 */ GIR_EraseRootFromParent_Done,
55187 /* 155739 */ // Label 3383: @155739
55188 /* 155739 */ GIM_Try, /*On fail goto*//*Label 3384*/ GIMT_Encode4(155776), // Rule ID 895 //
55189 /* 155744 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
55190 /* 155747 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55191 /* 155751 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55192 /* 155755 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55193 /* 155759 */ // (fsub:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (SUB_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
55194 /* 155759 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB_Fp64),
55195 /* 155764 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(RegState::Dead),
55196 /* 155770 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
55197 /* 155774 */ GIR_RootConstrainSelectedInstOperands,
55198 /* 155775 */ // GIR_Coverage, 895,
55199 /* 155775 */ GIR_Done,
55200 /* 155776 */ // Label 3384: @155776
55201 /* 155776 */ GIM_Try, /*On fail goto*//*Label 3385*/ GIMT_Encode4(155807), // Rule ID 2243 //
55202 /* 155781 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
55203 /* 155784 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
55204 /* 155788 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
55205 /* 155792 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
55206 /* 155796 */ // (fsub:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VSUBSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
55207 /* 155796 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSDrr),
55208 /* 155801 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55209 /* 155805 */ GIR_RootConstrainSelectedInstOperands,
55210 /* 155806 */ // GIR_Coverage, 2243,
55211 /* 155806 */ GIR_Done,
55212 /* 155807 */ // Label 3385: @155807
55213 /* 155807 */ GIM_Try, /*On fail goto*//*Label 3386*/ GIMT_Encode4(155838), // Rule ID 2251 //
55214 /* 155812 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
55215 /* 155815 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
55216 /* 155819 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
55217 /* 155823 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
55218 /* 155827 */ // (fsub:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (SUBSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
55219 /* 155827 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBSDrr),
55220 /* 155832 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55221 /* 155836 */ GIR_RootConstrainSelectedInstOperands,
55222 /* 155837 */ // GIR_Coverage, 2251,
55223 /* 155837 */ GIR_Done,
55224 /* 155838 */ // Label 3386: @155838
55225 /* 155838 */ GIM_Try, /*On fail goto*//*Label 3387*/ GIMT_Encode4(155869), // Rule ID 6048 //
55226 /* 155843 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
55227 /* 155846 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
55228 /* 155850 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
55229 /* 155854 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
55230 /* 155858 */ // (fsub:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VSUBSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
55231 /* 155858 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSDZrr),
55232 /* 155863 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55233 /* 155867 */ GIR_RootConstrainSelectedInstOperands,
55234 /* 155868 */ // GIR_Coverage, 6048,
55235 /* 155868 */ GIR_Done,
55236 /* 155869 */ // Label 3387: @155869
55237 /* 155869 */ GIM_Reject,
55238 /* 155870 */ // Label 3369: @155870
55239 /* 155870 */ GIM_Reject,
55240 /* 155871 */ // Label 3338: @155871
55241 /* 155871 */ GIM_Try, /*On fail goto*//*Label 3388*/ GIMT_Encode4(156436),
55242 /* 155876 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
55243 /* 155879 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
55244 /* 155882 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
55245 /* 155886 */ GIM_Try, /*On fail goto*//*Label 3389*/ GIMT_Encode4(155947), // Rule ID 973 //
55246 /* 155891 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
55247 /* 155894 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55248 /* 155898 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
55249 /* 155902 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
55250 /* 155909 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55251 /* 155913 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
55252 /* 155917 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55253 /* 155919 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55254 /* 155926 */ // (fsub:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (SUBR_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
55255 /* 155926 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI16m80),
55256 /* 155929 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55257 /* 155931 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55258 /* 155933 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55259 /* 155937 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55260 /* 155940 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55261 /* 155945 */ GIR_RootConstrainSelectedInstOperands,
55262 /* 155946 */ // GIR_Coverage, 973,
55263 /* 155946 */ GIR_EraseRootFromParent_Done,
55264 /* 155947 */ // Label 3389: @155947
55265 /* 155947 */ GIM_Try, /*On fail goto*//*Label 3390*/ GIMT_Encode4(156008), // Rule ID 975 //
55266 /* 155952 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
55267 /* 155955 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55268 /* 155959 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
55269 /* 155963 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55270 /* 155970 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55271 /* 155974 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
55272 /* 155978 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55273 /* 155980 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55274 /* 155987 */ // (fsub:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (SUBR_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
55275 /* 155987 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI32m80),
55276 /* 155990 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55277 /* 155992 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55278 /* 155994 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55279 /* 155998 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55280 /* 156001 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55281 /* 156006 */ GIR_RootConstrainSelectedInstOperands,
55282 /* 156007 */ // GIR_Coverage, 975,
55283 /* 156007 */ GIR_EraseRootFromParent_Done,
55284 /* 156008 */ // Label 3390: @156008
55285 /* 156008 */ GIM_Try, /*On fail goto*//*Label 3391*/ GIMT_Encode4(156076), // Rule ID 961 //
55286 /* 156013 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
55287 /* 156016 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55288 /* 156020 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55289 /* 156024 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55290 /* 156027 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55291 /* 156031 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55292 /* 156038 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55293 /* 156042 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
55294 /* 156046 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55295 /* 156048 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55296 /* 156055 */ // (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)
55297 /* 156055 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp80m32),
55298 /* 156058 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55299 /* 156060 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55300 /* 156062 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55301 /* 156066 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55302 /* 156069 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55303 /* 156074 */ GIR_RootConstrainSelectedInstOperands,
55304 /* 156075 */ // GIR_Coverage, 961,
55305 /* 156075 */ GIR_EraseRootFromParent_Done,
55306 /* 156076 */ // Label 3391: @156076
55307 /* 156076 */ GIM_Try, /*On fail goto*//*Label 3392*/ GIMT_Encode4(156144), // Rule ID 963 //
55308 /* 156081 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
55309 /* 156084 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55310 /* 156088 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55311 /* 156092 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55312 /* 156095 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55313 /* 156099 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
55314 /* 156106 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55315 /* 156110 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
55316 /* 156114 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55317 /* 156116 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55318 /* 156123 */ // (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)
55319 /* 156123 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp80m64),
55320 /* 156126 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55321 /* 156128 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55322 /* 156130 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55323 /* 156134 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55324 /* 156137 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55325 /* 156142 */ GIR_RootConstrainSelectedInstOperands,
55326 /* 156143 */ // GIR_Coverage, 963,
55327 /* 156143 */ GIR_EraseRootFromParent_Done,
55328 /* 156144 */ // Label 3392: @156144
55329 /* 156144 */ GIM_Try, /*On fail goto*//*Label 3393*/ GIMT_Encode4(156205), // Rule ID 951 //
55330 /* 156149 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
55331 /* 156152 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
55332 /* 156156 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55333 /* 156160 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
55334 /* 156164 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
55335 /* 156171 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55336 /* 156175 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55337 /* 156177 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55338 /* 156184 */ // (fsub:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (SUB_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
55339 /* 156184 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI16m80),
55340 /* 156187 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55341 /* 156189 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55342 /* 156191 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55343 /* 156195 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55344 /* 156198 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55345 /* 156203 */ GIR_RootConstrainSelectedInstOperands,
55346 /* 156204 */ // GIR_Coverage, 951,
55347 /* 156204 */ GIR_EraseRootFromParent_Done,
55348 /* 156205 */ // Label 3393: @156205
55349 /* 156205 */ GIM_Try, /*On fail goto*//*Label 3394*/ GIMT_Encode4(156266), // Rule ID 953 //
55350 /* 156210 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
55351 /* 156213 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
55352 /* 156217 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55353 /* 156221 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
55354 /* 156225 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55355 /* 156232 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55356 /* 156236 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55357 /* 156238 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55358 /* 156245 */ // (fsub:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (SUB_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
55359 /* 156245 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI32m80),
55360 /* 156248 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55361 /* 156250 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55362 /* 156252 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55363 /* 156256 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55364 /* 156259 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55365 /* 156264 */ GIR_RootConstrainSelectedInstOperands,
55366 /* 156265 */ // GIR_Coverage, 953,
55367 /* 156265 */ GIR_EraseRootFromParent_Done,
55368 /* 156266 */ // Label 3394: @156266
55369 /* 156266 */ GIM_Try, /*On fail goto*//*Label 3395*/ GIMT_Encode4(156334), // Rule ID 939 //
55370 /* 156271 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
55371 /* 156274 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
55372 /* 156278 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55373 /* 156282 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55374 /* 156286 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55375 /* 156289 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55376 /* 156293 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55377 /* 156300 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55378 /* 156304 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55379 /* 156306 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55380 /* 156313 */ // (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)
55381 /* 156313 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp80m32),
55382 /* 156316 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55383 /* 156318 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55384 /* 156320 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55385 /* 156324 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55386 /* 156327 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55387 /* 156332 */ GIR_RootConstrainSelectedInstOperands,
55388 /* 156333 */ // GIR_Coverage, 939,
55389 /* 156333 */ GIR_EraseRootFromParent_Done,
55390 /* 156334 */ // Label 3395: @156334
55391 /* 156334 */ GIM_Try, /*On fail goto*//*Label 3396*/ GIMT_Encode4(156402), // Rule ID 941 //
55392 /* 156339 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
55393 /* 156342 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
55394 /* 156346 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55395 /* 156350 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55396 /* 156354 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55397 /* 156357 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55398 /* 156361 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
55399 /* 156368 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55400 /* 156372 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55401 /* 156374 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55402 /* 156381 */ // (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)
55403 /* 156381 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp80m64),
55404 /* 156384 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55405 /* 156386 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55406 /* 156388 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55407 /* 156392 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55408 /* 156395 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55409 /* 156400 */ GIR_RootConstrainSelectedInstOperands,
55410 /* 156401 */ // GIR_Coverage, 941,
55411 /* 156401 */ GIR_EraseRootFromParent_Done,
55412 /* 156402 */ // Label 3396: @156402
55413 /* 156402 */ GIM_Try, /*On fail goto*//*Label 3397*/ GIMT_Encode4(156435), // Rule ID 897 //
55414 /* 156407 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
55415 /* 156410 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
55416 /* 156414 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
55417 /* 156418 */ // (fsub:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (SUB_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
55418 /* 156418 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB_Fp80),
55419 /* 156423 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(RegState::Dead),
55420 /* 156429 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
55421 /* 156433 */ GIR_RootConstrainSelectedInstOperands,
55422 /* 156434 */ // GIR_Coverage, 897,
55423 /* 156434 */ GIR_Done,
55424 /* 156435 */ // Label 3397: @156435
55425 /* 156435 */ GIM_Reject,
55426 /* 156436 */ // Label 3388: @156436
55427 /* 156436 */ GIM_Reject,
55428 /* 156437 */ // Label 3339: @156437
55429 /* 156437 */ GIM_Try, /*On fail goto*//*Label 3398*/ GIMT_Encode4(156666),
55430 /* 156442 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
55431 /* 156445 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
55432 /* 156448 */ GIM_Try, /*On fail goto*//*Label 3399*/ GIMT_Encode4(156510), // Rule ID 2221 //
55433 /* 156453 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
55434 /* 156456 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55435 /* 156460 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55436 /* 156464 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55437 /* 156468 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55438 /* 156472 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55439 /* 156475 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55440 /* 156479 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55441 /* 156483 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55442 /* 156485 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55443 /* 156492 */ // (fsub:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55444 /* 156492 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDrm),
55445 /* 156495 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55446 /* 156497 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55447 /* 156499 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55448 /* 156503 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55449 /* 156508 */ GIR_RootConstrainSelectedInstOperands,
55450 /* 156509 */ // GIR_Coverage, 2221,
55451 /* 156509 */ GIR_EraseRootFromParent_Done,
55452 /* 156510 */ // Label 3399: @156510
55453 /* 156510 */ GIM_Try, /*On fail goto*//*Label 3400*/ GIMT_Encode4(156572), // Rule ID 6543 //
55454 /* 156515 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
55455 /* 156518 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55456 /* 156522 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55457 /* 156526 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55458 /* 156530 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55459 /* 156534 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55460 /* 156537 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55461 /* 156541 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55462 /* 156545 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55463 /* 156547 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55464 /* 156554 */ // (fsub:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55465 /* 156554 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ128rm),
55466 /* 156557 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55467 /* 156559 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55468 /* 156561 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55469 /* 156565 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55470 /* 156570 */ GIR_RootConstrainSelectedInstOperands,
55471 /* 156571 */ // GIR_Coverage, 6543,
55472 /* 156571 */ GIR_EraseRootFromParent_Done,
55473 /* 156572 */ // Label 3400: @156572
55474 /* 156572 */ GIM_Try, /*On fail goto*//*Label 3401*/ GIMT_Encode4(156603), // Rule ID 2219 //
55475 /* 156577 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
55476 /* 156580 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55477 /* 156584 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55478 /* 156588 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55479 /* 156592 */ // (fsub:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VSUBPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
55480 /* 156592 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDrr),
55481 /* 156597 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55482 /* 156601 */ GIR_RootConstrainSelectedInstOperands,
55483 /* 156602 */ // GIR_Coverage, 2219,
55484 /* 156602 */ GIR_Done,
55485 /* 156603 */ // Label 3401: @156603
55486 /* 156603 */ GIM_Try, /*On fail goto*//*Label 3402*/ GIMT_Encode4(156634), // Rule ID 2235 //
55487 /* 156608 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
55488 /* 156611 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55489 /* 156615 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55490 /* 156619 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55491 /* 156623 */ // (fsub:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (SUBPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
55492 /* 156623 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBPDrr),
55493 /* 156628 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55494 /* 156632 */ GIR_RootConstrainSelectedInstOperands,
55495 /* 156633 */ // GIR_Coverage, 2235,
55496 /* 156633 */ GIR_Done,
55497 /* 156634 */ // Label 3402: @156634
55498 /* 156634 */ GIM_Try, /*On fail goto*//*Label 3403*/ GIMT_Encode4(156665), // Rule ID 6539 //
55499 /* 156639 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
55500 /* 156642 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55501 /* 156646 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55502 /* 156650 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55503 /* 156654 */ // (fsub:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VSUBPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
55504 /* 156654 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ128rr),
55505 /* 156659 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55506 /* 156663 */ GIR_RootConstrainSelectedInstOperands,
55507 /* 156664 */ // GIR_Coverage, 6539,
55508 /* 156664 */ GIR_Done,
55509 /* 156665 */ // Label 3403: @156665
55510 /* 156665 */ GIM_Reject,
55511 /* 156666 */ // Label 3398: @156666
55512 /* 156666 */ GIM_Reject,
55513 /* 156667 */ // Label 3340: @156667
55514 /* 156667 */ GIM_Try, /*On fail goto*//*Label 3404*/ GIMT_Encode4(156896),
55515 /* 156672 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
55516 /* 156675 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
55517 /* 156678 */ GIM_Try, /*On fail goto*//*Label 3405*/ GIMT_Encode4(156740), // Rule ID 2217 //
55518 /* 156683 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
55519 /* 156686 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55520 /* 156690 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55521 /* 156694 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55522 /* 156698 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55523 /* 156702 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55524 /* 156705 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55525 /* 156709 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55526 /* 156713 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55527 /* 156715 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55528 /* 156722 */ // (fsub:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55529 /* 156722 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSrm),
55530 /* 156725 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55531 /* 156727 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55532 /* 156729 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55533 /* 156733 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55534 /* 156738 */ GIR_RootConstrainSelectedInstOperands,
55535 /* 156739 */ // GIR_Coverage, 2217,
55536 /* 156739 */ GIR_EraseRootFromParent_Done,
55537 /* 156740 */ // Label 3405: @156740
55538 /* 156740 */ GIM_Try, /*On fail goto*//*Label 3406*/ GIMT_Encode4(156802), // Rule ID 6519 //
55539 /* 156745 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
55540 /* 156748 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55541 /* 156752 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55542 /* 156756 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55543 /* 156760 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55544 /* 156764 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55545 /* 156767 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55546 /* 156771 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55547 /* 156775 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55548 /* 156777 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55549 /* 156784 */ // (fsub:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55550 /* 156784 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ128rm),
55551 /* 156787 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55552 /* 156789 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55553 /* 156791 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55554 /* 156795 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55555 /* 156800 */ GIR_RootConstrainSelectedInstOperands,
55556 /* 156801 */ // GIR_Coverage, 6519,
55557 /* 156801 */ GIR_EraseRootFromParent_Done,
55558 /* 156802 */ // Label 3406: @156802
55559 /* 156802 */ GIM_Try, /*On fail goto*//*Label 3407*/ GIMT_Encode4(156833), // Rule ID 2215 //
55560 /* 156807 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
55561 /* 156810 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55562 /* 156814 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55563 /* 156818 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55564 /* 156822 */ // (fsub:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VSUBPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
55565 /* 156822 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSrr),
55566 /* 156827 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55567 /* 156831 */ GIR_RootConstrainSelectedInstOperands,
55568 /* 156832 */ // GIR_Coverage, 2215,
55569 /* 156832 */ GIR_Done,
55570 /* 156833 */ // Label 3407: @156833
55571 /* 156833 */ GIM_Try, /*On fail goto*//*Label 3408*/ GIMT_Encode4(156864), // Rule ID 2231 //
55572 /* 156838 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
55573 /* 156841 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55574 /* 156845 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55575 /* 156849 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55576 /* 156853 */ // (fsub:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (SUBPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
55577 /* 156853 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBPSrr),
55578 /* 156858 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55579 /* 156862 */ GIR_RootConstrainSelectedInstOperands,
55580 /* 156863 */ // GIR_Coverage, 2231,
55581 /* 156863 */ GIR_Done,
55582 /* 156864 */ // Label 3408: @156864
55583 /* 156864 */ GIM_Try, /*On fail goto*//*Label 3409*/ GIMT_Encode4(156895), // Rule ID 6515 //
55584 /* 156869 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
55585 /* 156872 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55586 /* 156876 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55587 /* 156880 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55588 /* 156884 */ // (fsub:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VSUBPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
55589 /* 156884 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ128rr),
55590 /* 156889 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55591 /* 156893 */ GIR_RootConstrainSelectedInstOperands,
55592 /* 156894 */ // GIR_Coverage, 6515,
55593 /* 156894 */ GIR_Done,
55594 /* 156895 */ // Label 3409: @156895
55595 /* 156895 */ GIM_Reject,
55596 /* 156896 */ // Label 3404: @156896
55597 /* 156896 */ GIM_Reject,
55598 /* 156897 */ // Label 3341: @156897
55599 /* 156897 */ GIM_Try, /*On fail goto*//*Label 3410*/ GIMT_Encode4(157095),
55600 /* 156902 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
55601 /* 156905 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
55602 /* 156908 */ GIM_Try, /*On fail goto*//*Label 3411*/ GIMT_Encode4(156970), // Rule ID 2229 //
55603 /* 156913 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
55604 /* 156916 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55605 /* 156920 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55606 /* 156924 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55607 /* 156928 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55608 /* 156932 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55609 /* 156935 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55610 /* 156939 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55611 /* 156943 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55612 /* 156945 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55613 /* 156952 */ // (fsub:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55614 /* 156952 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDYrm),
55615 /* 156955 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55616 /* 156957 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55617 /* 156959 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55618 /* 156963 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55619 /* 156968 */ GIR_RootConstrainSelectedInstOperands,
55620 /* 156969 */ // GIR_Coverage, 2229,
55621 /* 156969 */ GIR_EraseRootFromParent_Done,
55622 /* 156970 */ // Label 3411: @156970
55623 /* 156970 */ GIM_Try, /*On fail goto*//*Label 3412*/ GIMT_Encode4(157032), // Rule ID 6555 //
55624 /* 156975 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
55625 /* 156978 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55626 /* 156982 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55627 /* 156986 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55628 /* 156990 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55629 /* 156994 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55630 /* 156997 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55631 /* 157001 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55632 /* 157005 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55633 /* 157007 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55634 /* 157014 */ // (fsub:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55635 /* 157014 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ256rm),
55636 /* 157017 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55637 /* 157019 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55638 /* 157021 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55639 /* 157025 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55640 /* 157030 */ GIR_RootConstrainSelectedInstOperands,
55641 /* 157031 */ // GIR_Coverage, 6555,
55642 /* 157031 */ GIR_EraseRootFromParent_Done,
55643 /* 157032 */ // Label 3412: @157032
55644 /* 157032 */ GIM_Try, /*On fail goto*//*Label 3413*/ GIMT_Encode4(157063), // Rule ID 2227 //
55645 /* 157037 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
55646 /* 157040 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55647 /* 157044 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55648 /* 157048 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55649 /* 157052 */ // (fsub:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VSUBPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
55650 /* 157052 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDYrr),
55651 /* 157057 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55652 /* 157061 */ GIR_RootConstrainSelectedInstOperands,
55653 /* 157062 */ // GIR_Coverage, 2227,
55654 /* 157062 */ GIR_Done,
55655 /* 157063 */ // Label 3413: @157063
55656 /* 157063 */ GIM_Try, /*On fail goto*//*Label 3414*/ GIMT_Encode4(157094), // Rule ID 6551 //
55657 /* 157068 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
55658 /* 157071 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55659 /* 157075 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55660 /* 157079 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55661 /* 157083 */ // (fsub:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VSUBPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
55662 /* 157083 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ256rr),
55663 /* 157088 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55664 /* 157092 */ GIR_RootConstrainSelectedInstOperands,
55665 /* 157093 */ // GIR_Coverage, 6551,
55666 /* 157093 */ GIR_Done,
55667 /* 157094 */ // Label 3414: @157094
55668 /* 157094 */ GIM_Reject,
55669 /* 157095 */ // Label 3410: @157095
55670 /* 157095 */ GIM_Reject,
55671 /* 157096 */ // Label 3342: @157096
55672 /* 157096 */ GIM_Try, /*On fail goto*//*Label 3415*/ GIMT_Encode4(157193),
55673 /* 157101 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
55674 /* 157104 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
55675 /* 157107 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55676 /* 157111 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55677 /* 157115 */ GIM_Try, /*On fail goto*//*Label 3416*/ GIMT_Encode4(157169), // Rule ID 6579 //
55678 /* 157120 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
55679 /* 157123 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55680 /* 157127 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55681 /* 157131 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55682 /* 157134 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55683 /* 157138 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55684 /* 157142 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55685 /* 157144 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55686 /* 157151 */ // (fsub:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
55687 /* 157151 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ128rm),
55688 /* 157154 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55689 /* 157156 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55690 /* 157158 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55691 /* 157162 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55692 /* 157167 */ GIR_RootConstrainSelectedInstOperands,
55693 /* 157168 */ // GIR_Coverage, 6579,
55694 /* 157168 */ GIR_EraseRootFromParent_Done,
55695 /* 157169 */ // Label 3416: @157169
55696 /* 157169 */ GIM_Try, /*On fail goto*//*Label 3417*/ GIMT_Encode4(157192), // Rule ID 6575 //
55697 /* 157174 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
55698 /* 157177 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55699 /* 157181 */ // (fsub:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VSUBPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
55700 /* 157181 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ128rr),
55701 /* 157186 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55702 /* 157190 */ GIR_RootConstrainSelectedInstOperands,
55703 /* 157191 */ // GIR_Coverage, 6575,
55704 /* 157191 */ GIR_Done,
55705 /* 157192 */ // Label 3417: @157192
55706 /* 157192 */ GIM_Reject,
55707 /* 157193 */ // Label 3415: @157193
55708 /* 157193 */ GIM_Reject,
55709 /* 157194 */ // Label 3343: @157194
55710 /* 157194 */ GIM_Try, /*On fail goto*//*Label 3418*/ GIMT_Encode4(157392),
55711 /* 157199 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
55712 /* 157202 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
55713 /* 157205 */ GIM_Try, /*On fail goto*//*Label 3419*/ GIMT_Encode4(157267), // Rule ID 2225 //
55714 /* 157210 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
55715 /* 157213 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55716 /* 157217 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55717 /* 157221 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55718 /* 157225 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55719 /* 157229 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55720 /* 157232 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55721 /* 157236 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55722 /* 157240 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55723 /* 157242 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55724 /* 157249 */ // (fsub:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55725 /* 157249 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSYrm),
55726 /* 157252 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55727 /* 157254 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55728 /* 157256 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55729 /* 157260 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55730 /* 157265 */ GIR_RootConstrainSelectedInstOperands,
55731 /* 157266 */ // GIR_Coverage, 2225,
55732 /* 157266 */ GIR_EraseRootFromParent_Done,
55733 /* 157267 */ // Label 3419: @157267
55734 /* 157267 */ GIM_Try, /*On fail goto*//*Label 3420*/ GIMT_Encode4(157329), // Rule ID 6531 //
55735 /* 157272 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
55736 /* 157275 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55737 /* 157279 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55738 /* 157283 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55739 /* 157287 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55740 /* 157291 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55741 /* 157294 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55742 /* 157298 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55743 /* 157302 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55744 /* 157304 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55745 /* 157311 */ // (fsub:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55746 /* 157311 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ256rm),
55747 /* 157314 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55748 /* 157316 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55749 /* 157318 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55750 /* 157322 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55751 /* 157327 */ GIR_RootConstrainSelectedInstOperands,
55752 /* 157328 */ // GIR_Coverage, 6531,
55753 /* 157328 */ GIR_EraseRootFromParent_Done,
55754 /* 157329 */ // Label 3420: @157329
55755 /* 157329 */ GIM_Try, /*On fail goto*//*Label 3421*/ GIMT_Encode4(157360), // Rule ID 2223 //
55756 /* 157334 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
55757 /* 157337 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55758 /* 157341 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55759 /* 157345 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55760 /* 157349 */ // (fsub:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VSUBPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
55761 /* 157349 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSYrr),
55762 /* 157354 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55763 /* 157358 */ GIR_RootConstrainSelectedInstOperands,
55764 /* 157359 */ // GIR_Coverage, 2223,
55765 /* 157359 */ GIR_Done,
55766 /* 157360 */ // Label 3421: @157360
55767 /* 157360 */ GIM_Try, /*On fail goto*//*Label 3422*/ GIMT_Encode4(157391), // Rule ID 6527 //
55768 /* 157365 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
55769 /* 157368 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55770 /* 157372 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55771 /* 157376 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55772 /* 157380 */ // (fsub:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VSUBPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
55773 /* 157380 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ256rr),
55774 /* 157385 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55775 /* 157389 */ GIR_RootConstrainSelectedInstOperands,
55776 /* 157390 */ // GIR_Coverage, 6527,
55777 /* 157390 */ GIR_Done,
55778 /* 157391 */ // Label 3422: @157391
55779 /* 157391 */ GIM_Reject,
55780 /* 157392 */ // Label 3418: @157392
55781 /* 157392 */ GIM_Reject,
55782 /* 157393 */ // Label 3344: @157393
55783 /* 157393 */ GIM_Try, /*On fail goto*//*Label 3423*/ GIMT_Encode4(157490),
55784 /* 157398 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
55785 /* 157401 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
55786 /* 157404 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55787 /* 157408 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55788 /* 157412 */ GIM_Try, /*On fail goto*//*Label 3424*/ GIMT_Encode4(157466), // Rule ID 6507 //
55789 /* 157417 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
55790 /* 157420 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55791 /* 157424 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55792 /* 157428 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55793 /* 157431 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55794 /* 157435 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55795 /* 157439 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55796 /* 157441 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55797 /* 157448 */ // (fsub:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55798 /* 157448 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDZrm),
55799 /* 157451 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55800 /* 157453 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55801 /* 157455 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55802 /* 157459 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55803 /* 157464 */ GIR_RootConstrainSelectedInstOperands,
55804 /* 157465 */ // GIR_Coverage, 6507,
55805 /* 157465 */ GIR_EraseRootFromParent_Done,
55806 /* 157466 */ // Label 3424: @157466
55807 /* 157466 */ GIM_Try, /*On fail goto*//*Label 3425*/ GIMT_Encode4(157489), // Rule ID 6503 //
55808 /* 157471 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
55809 /* 157474 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55810 /* 157478 */ // (fsub:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VSUBPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
55811 /* 157478 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDZrr),
55812 /* 157483 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55813 /* 157487 */ GIR_RootConstrainSelectedInstOperands,
55814 /* 157488 */ // GIR_Coverage, 6503,
55815 /* 157488 */ GIR_Done,
55816 /* 157489 */ // Label 3425: @157489
55817 /* 157489 */ GIM_Reject,
55818 /* 157490 */ // Label 3423: @157490
55819 /* 157490 */ GIM_Reject,
55820 /* 157491 */ // Label 3345: @157491
55821 /* 157491 */ GIM_Try, /*On fail goto*//*Label 3426*/ GIMT_Encode4(157588),
55822 /* 157496 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
55823 /* 157499 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
55824 /* 157502 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55825 /* 157506 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55826 /* 157510 */ GIM_Try, /*On fail goto*//*Label 3427*/ GIMT_Encode4(157564), // Rule ID 6591 //
55827 /* 157515 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
55828 /* 157518 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55829 /* 157522 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55830 /* 157526 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55831 /* 157529 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55832 /* 157533 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55833 /* 157537 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55834 /* 157539 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55835 /* 157546 */ // (fsub:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
55836 /* 157546 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ256rm),
55837 /* 157549 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55838 /* 157551 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55839 /* 157553 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55840 /* 157557 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55841 /* 157562 */ GIR_RootConstrainSelectedInstOperands,
55842 /* 157563 */ // GIR_Coverage, 6591,
55843 /* 157563 */ GIR_EraseRootFromParent_Done,
55844 /* 157564 */ // Label 3427: @157564
55845 /* 157564 */ GIM_Try, /*On fail goto*//*Label 3428*/ GIMT_Encode4(157587), // Rule ID 6587 //
55846 /* 157569 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
55847 /* 157572 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55848 /* 157576 */ // (fsub:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VSUBPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
55849 /* 157576 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ256rr),
55850 /* 157581 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55851 /* 157585 */ GIR_RootConstrainSelectedInstOperands,
55852 /* 157586 */ // GIR_Coverage, 6587,
55853 /* 157586 */ GIR_Done,
55854 /* 157587 */ // Label 3428: @157587
55855 /* 157587 */ GIM_Reject,
55856 /* 157588 */ // Label 3426: @157588
55857 /* 157588 */ GIM_Reject,
55858 /* 157589 */ // Label 3346: @157589
55859 /* 157589 */ GIM_Try, /*On fail goto*//*Label 3429*/ GIMT_Encode4(157686),
55860 /* 157594 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
55861 /* 157597 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
55862 /* 157600 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55863 /* 157604 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55864 /* 157608 */ GIM_Try, /*On fail goto*//*Label 3430*/ GIMT_Encode4(157662), // Rule ID 6495 //
55865 /* 157613 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
55866 /* 157616 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55867 /* 157620 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55868 /* 157624 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55869 /* 157627 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55870 /* 157631 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55871 /* 157635 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55872 /* 157637 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55873 /* 157644 */ // (fsub:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55874 /* 157644 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSZrm),
55875 /* 157647 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55876 /* 157649 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55877 /* 157651 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55878 /* 157655 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55879 /* 157660 */ GIR_RootConstrainSelectedInstOperands,
55880 /* 157661 */ // GIR_Coverage, 6495,
55881 /* 157661 */ GIR_EraseRootFromParent_Done,
55882 /* 157662 */ // Label 3430: @157662
55883 /* 157662 */ GIM_Try, /*On fail goto*//*Label 3431*/ GIMT_Encode4(157685), // Rule ID 6491 //
55884 /* 157667 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
55885 /* 157670 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55886 /* 157674 */ // (fsub:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VSUBPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
55887 /* 157674 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSZrr),
55888 /* 157679 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55889 /* 157683 */ GIR_RootConstrainSelectedInstOperands,
55890 /* 157684 */ // GIR_Coverage, 6491,
55891 /* 157684 */ GIR_Done,
55892 /* 157685 */ // Label 3431: @157685
55893 /* 157685 */ GIM_Reject,
55894 /* 157686 */ // Label 3429: @157686
55895 /* 157686 */ GIM_Reject,
55896 /* 157687 */ // Label 3347: @157687
55897 /* 157687 */ GIM_Try, /*On fail goto*//*Label 3432*/ GIMT_Encode4(157784),
55898 /* 157692 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
55899 /* 157695 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
55900 /* 157698 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55901 /* 157702 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55902 /* 157706 */ GIM_Try, /*On fail goto*//*Label 3433*/ GIMT_Encode4(157760), // Rule ID 6567 //
55903 /* 157711 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
55904 /* 157714 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55905 /* 157718 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55906 /* 157722 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55907 /* 157725 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55908 /* 157729 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55909 /* 157733 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55910 /* 157735 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55911 /* 157742 */ // (fsub:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
55912 /* 157742 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPHZrm),
55913 /* 157745 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55914 /* 157747 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55915 /* 157749 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55916 /* 157753 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55917 /* 157758 */ GIR_RootConstrainSelectedInstOperands,
55918 /* 157759 */ // GIR_Coverage, 6567,
55919 /* 157759 */ GIR_EraseRootFromParent_Done,
55920 /* 157760 */ // Label 3433: @157760
55921 /* 157760 */ GIM_Try, /*On fail goto*//*Label 3434*/ GIMT_Encode4(157783), // Rule ID 6563 //
55922 /* 157765 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
55923 /* 157768 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55924 /* 157772 */ // (fsub:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VSUBPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
55925 /* 157772 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPHZrr),
55926 /* 157777 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55927 /* 157781 */ GIR_RootConstrainSelectedInstOperands,
55928 /* 157782 */ // GIR_Coverage, 6563,
55929 /* 157782 */ GIR_Done,
55930 /* 157783 */ // Label 3434: @157783
55931 /* 157783 */ GIM_Reject,
55932 /* 157784 */ // Label 3432: @157784
55933 /* 157784 */ GIM_Reject,
55934 /* 157785 */ // Label 3348: @157785
55935 /* 157785 */ GIM_Reject,
55936 /* 157786 */ // Label 43: @157786
55937 /* 157786 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 3448*/ GIMT_Encode4(163699),
55938 /* 157797 */ /*GILLT_s16*//*Label 3435*/ GIMT_Encode4(157881),
55939 /* 157801 */ /*GILLT_s32*//*Label 3436*/ GIMT_Encode4(158041),
55940 /* 157805 */ /*GILLT_s64*//*Label 3437*/ GIMT_Encode4(159438),
55941 /* 157809 */ /*GILLT_s80*//*Label 3438*/ GIMT_Encode4(160979), GIMT_Encode4(0), GIMT_Encode4(0),
55942 /* 157821 */ /*GILLT_v2s64*//*Label 3439*/ GIMT_Encode4(161545), GIMT_Encode4(0),
55943 /* 157829 */ /*GILLT_v4s32*//*Label 3440*/ GIMT_Encode4(161899),
55944 /* 157833 */ /*GILLT_v4s64*//*Label 3441*/ GIMT_Encode4(162253), GIMT_Encode4(0),
55945 /* 157841 */ /*GILLT_v8s16*//*Label 3442*/ GIMT_Encode4(162576),
55946 /* 157845 */ /*GILLT_v8s32*//*Label 3443*/ GIMT_Encode4(162736),
55947 /* 157849 */ /*GILLT_v8s64*//*Label 3444*/ GIMT_Encode4(163059), GIMT_Encode4(0), GIMT_Encode4(0),
55948 /* 157861 */ /*GILLT_v16s16*//*Label 3445*/ GIMT_Encode4(163219),
55949 /* 157865 */ /*GILLT_v16s32*//*Label 3446*/ GIMT_Encode4(163379), GIMT_Encode4(0), GIMT_Encode4(0),
55950 /* 157877 */ /*GILLT_v32s16*//*Label 3447*/ GIMT_Encode4(163539),
55951 /* 157881 */ // Label 3435: @157881
55952 /* 157881 */ GIM_Try, /*On fail goto*//*Label 3449*/ GIMT_Encode4(158040),
55953 /* 157886 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
55954 /* 157889 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
55955 /* 157892 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
55956 /* 157896 */ GIM_Try, /*On fail goto*//*Label 3450*/ GIMT_Encode4(157954), // Rule ID 24256 //
55957 /* 157901 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
55958 /* 157904 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55959 /* 157908 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55960 /* 157912 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55961 /* 157915 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55962 /* 157919 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55963 /* 157923 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
55964 /* 157927 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55965 /* 157929 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55966 /* 157936 */ // (fmul:{ *:[f16] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR16X:{ *:[f16] }:$src1) => (VMULSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
55967 /* 157936 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSHZrm),
55968 /* 157939 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55969 /* 157941 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55970 /* 157943 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55971 /* 157947 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55972 /* 157952 */ GIR_RootConstrainSelectedInstOperands,
55973 /* 157953 */ // GIR_Coverage, 24256,
55974 /* 157953 */ GIR_EraseRootFromParent_Done,
55975 /* 157954 */ // Label 3450: @157954
55976 /* 157954 */ GIM_Try, /*On fail goto*//*Label 3451*/ GIMT_Encode4(158012), // Rule ID 6012 //
55977 /* 157959 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
55978 /* 157962 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
55979 /* 157966 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55980 /* 157970 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55981 /* 157974 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55982 /* 157977 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55983 /* 157981 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55984 /* 157985 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55985 /* 157987 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55986 /* 157994 */ // (fmul:{ *:[f16] } FR16X:{ *:[f16] }:$src1, (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
55987 /* 157994 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSHZrm),
55988 /* 157997 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55989 /* 157999 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55990 /* 158001 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55991 /* 158005 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55992 /* 158010 */ GIR_RootConstrainSelectedInstOperands,
55993 /* 158011 */ // GIR_Coverage, 6012,
55994 /* 158011 */ GIR_EraseRootFromParent_Done,
55995 /* 158012 */ // Label 3451: @158012
55996 /* 158012 */ GIM_Try, /*On fail goto*//*Label 3452*/ GIMT_Encode4(158039), // Rule ID 6010 //
55997 /* 158017 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
55998 /* 158020 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
55999 /* 158024 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
56000 /* 158028 */ // (fmul:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VMULSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
56001 /* 158028 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSHZrr),
56002 /* 158033 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56003 /* 158037 */ GIR_RootConstrainSelectedInstOperands,
56004 /* 158038 */ // GIR_Coverage, 6010,
56005 /* 158038 */ GIR_Done,
56006 /* 158039 */ // Label 3452: @158039
56007 /* 158039 */ GIM_Reject,
56008 /* 158040 */ // Label 3449: @158040
56009 /* 158040 */ GIM_Reject,
56010 /* 158041 */ // Label 3436: @158041
56011 /* 158041 */ GIM_Try, /*On fail goto*//*Label 3453*/ GIMT_Encode4(159437),
56012 /* 158046 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
56013 /* 158049 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
56014 /* 158052 */ GIM_Try, /*On fail goto*//*Label 3454*/ GIMT_Encode4(158134), // Rule ID 26024 //
56015 /* 158057 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
56016 /* 158060 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56017 /* 158064 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56018 /* 158068 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
56019 /* 158072 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
56020 /* 158076 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
56021 /* 158080 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
56022 /* 158084 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
56023 /* 158087 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
56024 /* 158091 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
56025 /* 158098 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
56026 /* 158102 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56027 /* 158106 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
56028 /* 158108 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56029 /* 158115 */ // (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)
56030 /* 158115 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSSrm),
56031 /* 158118 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56032 /* 158120 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56033 /* 158122 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56034 /* 158126 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
56035 /* 158132 */ GIR_RootConstrainSelectedInstOperands,
56036 /* 158133 */ // GIR_Coverage, 26024,
56037 /* 158133 */ GIR_EraseRootFromParent_Done,
56038 /* 158134 */ // Label 3454: @158134
56039 /* 158134 */ GIM_Try, /*On fail goto*//*Label 3455*/ GIMT_Encode4(158216), // Rule ID 26025 //
56040 /* 158139 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
56041 /* 158142 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56042 /* 158146 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56043 /* 158150 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
56044 /* 158154 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
56045 /* 158158 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
56046 /* 158162 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
56047 /* 158166 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
56048 /* 158169 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
56049 /* 158173 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
56050 /* 158180 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
56051 /* 158184 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56052 /* 158188 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
56053 /* 158190 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56054 /* 158197 */ // (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)
56055 /* 158197 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSrm),
56056 /* 158200 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56057 /* 158202 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56058 /* 158204 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56059 /* 158208 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
56060 /* 158214 */ GIR_RootConstrainSelectedInstOperands,
56061 /* 158215 */ // GIR_Coverage, 26025,
56062 /* 158215 */ GIR_EraseRootFromParent_Done,
56063 /* 158216 */ // Label 3455: @158216
56064 /* 158216 */ GIM_Try, /*On fail goto*//*Label 3456*/ GIMT_Encode4(158298), // Rule ID 26026 //
56065 /* 158221 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
56066 /* 158224 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56067 /* 158228 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56068 /* 158232 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
56069 /* 158236 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
56070 /* 158240 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
56071 /* 158244 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
56072 /* 158248 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
56073 /* 158251 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
56074 /* 158255 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
56075 /* 158262 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
56076 /* 158266 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56077 /* 158270 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
56078 /* 158272 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56079 /* 158279 */ // (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)
56080 /* 158279 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSZrm),
56081 /* 158282 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56082 /* 158284 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56083 /* 158286 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56084 /* 158290 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
56085 /* 158296 */ GIR_RootConstrainSelectedInstOperands,
56086 /* 158297 */ // GIR_Coverage, 26026,
56087 /* 158297 */ GIR_EraseRootFromParent_Done,
56088 /* 158298 */ // Label 3456: @158298
56089 /* 158298 */ GIM_Try, /*On fail goto*//*Label 3457*/ GIMT_Encode4(158380), // Rule ID 22479 //
56090 /* 158303 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
56091 /* 158306 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56092 /* 158310 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56093 /* 158314 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56094 /* 158318 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
56095 /* 158322 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
56096 /* 158326 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
56097 /* 158330 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
56098 /* 158334 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
56099 /* 158337 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
56100 /* 158341 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
56101 /* 158348 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
56102 /* 158352 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
56103 /* 158354 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56104 /* 158361 */ // (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)
56105 /* 158361 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSSrm),
56106 /* 158364 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56107 /* 158366 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56108 /* 158368 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56109 /* 158372 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
56110 /* 158378 */ GIR_RootConstrainSelectedInstOperands,
56111 /* 158379 */ // GIR_Coverage, 22479,
56112 /* 158379 */ GIR_EraseRootFromParent_Done,
56113 /* 158380 */ // Label 3457: @158380
56114 /* 158380 */ GIM_Try, /*On fail goto*//*Label 3458*/ GIMT_Encode4(158462), // Rule ID 22480 //
56115 /* 158385 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
56116 /* 158388 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56117 /* 158392 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56118 /* 158396 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56119 /* 158400 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
56120 /* 158404 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
56121 /* 158408 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
56122 /* 158412 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
56123 /* 158416 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
56124 /* 158419 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
56125 /* 158423 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
56126 /* 158430 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
56127 /* 158434 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
56128 /* 158436 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56129 /* 158443 */ // (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)
56130 /* 158443 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSrm),
56131 /* 158446 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56132 /* 158448 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56133 /* 158450 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56134 /* 158454 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
56135 /* 158460 */ GIR_RootConstrainSelectedInstOperands,
56136 /* 158461 */ // GIR_Coverage, 22480,
56137 /* 158461 */ GIR_EraseRootFromParent_Done,
56138 /* 158462 */ // Label 3458: @158462
56139 /* 158462 */ GIM_Try, /*On fail goto*//*Label 3459*/ GIMT_Encode4(158544), // Rule ID 22481 //
56140 /* 158467 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
56141 /* 158470 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56142 /* 158474 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56143 /* 158478 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56144 /* 158482 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
56145 /* 158486 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
56146 /* 158490 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
56147 /* 158494 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
56148 /* 158498 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
56149 /* 158501 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
56150 /* 158505 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
56151 /* 158512 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
56152 /* 158516 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
56153 /* 158518 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56154 /* 158525 */ // (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)
56155 /* 158525 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSZrm),
56156 /* 158528 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56157 /* 158530 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56158 /* 158532 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56159 /* 158536 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
56160 /* 158542 */ GIR_RootConstrainSelectedInstOperands,
56161 /* 158543 */ // GIR_Coverage, 22481,
56162 /* 158543 */ GIR_EraseRootFromParent_Done,
56163 /* 158544 */ // Label 3459: @158544
56164 /* 158544 */ GIM_Try, /*On fail goto*//*Label 3460*/ GIMT_Encode4(158609), // Rule ID 23269 //
56165 /* 158549 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
56166 /* 158552 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
56167 /* 158556 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56168 /* 158560 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
56169 /* 158564 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
56170 /* 158571 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56171 /* 158575 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
56172 /* 158579 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56173 /* 158581 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56174 /* 158588 */ // (fmul:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (MUL_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
56175 /* 158588 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m32),
56176 /* 158591 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56177 /* 158593 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56178 /* 158595 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56179 /* 158599 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56180 /* 158602 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56181 /* 158607 */ GIR_RootConstrainSelectedInstOperands,
56182 /* 158608 */ // GIR_Coverage, 23269,
56183 /* 158608 */ GIR_EraseRootFromParent_Done,
56184 /* 158609 */ // Label 3460: @158609
56185 /* 158609 */ GIM_Try, /*On fail goto*//*Label 3461*/ GIMT_Encode4(158674), // Rule ID 23271 //
56186 /* 158614 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
56187 /* 158617 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
56188 /* 158621 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56189 /* 158625 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
56190 /* 158629 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
56191 /* 158636 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56192 /* 158640 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
56193 /* 158644 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56194 /* 158646 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56195 /* 158653 */ // (fmul:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (MUL_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
56196 /* 158653 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m32),
56197 /* 158656 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56198 /* 158658 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56199 /* 158660 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56200 /* 158664 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56201 /* 158667 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56202 /* 158672 */ GIR_RootConstrainSelectedInstOperands,
56203 /* 158673 */ // GIR_Coverage, 23271,
56204 /* 158673 */ GIR_EraseRootFromParent_Done,
56205 /* 158674 */ // Label 3461: @158674
56206 /* 158674 */ GIM_Try, /*On fail goto*//*Label 3462*/ GIMT_Encode4(158739), // Rule ID 23259 //
56207 /* 158679 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
56208 /* 158682 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
56209 /* 158686 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56210 /* 158690 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56211 /* 158694 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56212 /* 158697 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56213 /* 158701 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56214 /* 158705 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
56215 /* 158709 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56216 /* 158711 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56217 /* 158718 */ // (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)
56218 /* 158718 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp32m),
56219 /* 158721 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56220 /* 158723 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56221 /* 158725 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56222 /* 158729 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56223 /* 158732 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56224 /* 158737 */ GIR_RootConstrainSelectedInstOperands,
56225 /* 158738 */ // GIR_Coverage, 23259,
56226 /* 158738 */ GIR_EraseRootFromParent_Done,
56227 /* 158739 */ // Label 3462: @158739
56228 /* 158739 */ GIM_Try, /*On fail goto*//*Label 3463*/ GIMT_Encode4(158801), // Rule ID 23402 //
56229 /* 158744 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
56230 /* 158747 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56231 /* 158751 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56232 /* 158755 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56233 /* 158759 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56234 /* 158762 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56235 /* 158766 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56236 /* 158770 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56237 /* 158774 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56238 /* 158776 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56239 /* 158783 */ // (fmul:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32:{ *:[f32] }:$src1) => (VMULSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
56240 /* 158783 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSrm),
56241 /* 158786 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56242 /* 158788 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56243 /* 158790 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56244 /* 158794 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56245 /* 158799 */ GIR_RootConstrainSelectedInstOperands,
56246 /* 158800 */ // GIR_Coverage, 23402,
56247 /* 158800 */ GIR_EraseRootFromParent_Done,
56248 /* 158801 */ // Label 3463: @158801
56249 /* 158801 */ GIM_Try, /*On fail goto*//*Label 3464*/ GIMT_Encode4(158863), // Rule ID 23406 //
56250 /* 158806 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
56251 /* 158809 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56252 /* 158813 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56253 /* 158817 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56254 /* 158821 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56255 /* 158824 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56256 /* 158828 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56257 /* 158832 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56258 /* 158836 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56259 /* 158838 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56260 /* 158845 */ // (fmul:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32:{ *:[f32] }:$src1) => (MULSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
56261 /* 158845 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSSrm),
56262 /* 158848 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56263 /* 158850 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56264 /* 158852 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56265 /* 158856 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56266 /* 158861 */ GIR_RootConstrainSelectedInstOperands,
56267 /* 158862 */ // GIR_Coverage, 23406,
56268 /* 158862 */ GIR_EraseRootFromParent_Done,
56269 /* 158863 */ // Label 3464: @158863
56270 /* 158863 */ GIM_Try, /*On fail goto*//*Label 3465*/ GIMT_Encode4(158925), // Rule ID 24252 //
56271 /* 158868 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
56272 /* 158871 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56273 /* 158875 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56274 /* 158879 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56275 /* 158883 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56276 /* 158886 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56277 /* 158890 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56278 /* 158894 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56279 /* 158898 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56280 /* 158900 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56281 /* 158907 */ // (fmul:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32X:{ *:[f32] }:$src1) => (VMULSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
56282 /* 158907 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSZrm),
56283 /* 158910 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56284 /* 158912 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56285 /* 158914 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56286 /* 158918 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56287 /* 158923 */ GIR_RootConstrainSelectedInstOperands,
56288 /* 158924 */ // GIR_Coverage, 24252,
56289 /* 158924 */ GIR_EraseRootFromParent_Done,
56290 /* 158925 */ // Label 3465: @158925
56291 /* 158925 */ GIM_Try, /*On fail goto*//*Label 3466*/ GIMT_Encode4(158990), // Rule ID 987 //
56292 /* 158930 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
56293 /* 158933 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
56294 /* 158937 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
56295 /* 158941 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56296 /* 158945 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
56297 /* 158949 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
56298 /* 158956 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56299 /* 158960 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56300 /* 158962 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56301 /* 158969 */ // (fmul:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (MUL_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
56302 /* 158969 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m32),
56303 /* 158972 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56304 /* 158974 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56305 /* 158976 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56306 /* 158980 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56307 /* 158983 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56308 /* 158988 */ GIR_RootConstrainSelectedInstOperands,
56309 /* 158989 */ // GIR_Coverage, 987,
56310 /* 158989 */ GIR_EraseRootFromParent_Done,
56311 /* 158990 */ // Label 3466: @158990
56312 /* 158990 */ GIM_Try, /*On fail goto*//*Label 3467*/ GIMT_Encode4(159055), // Rule ID 989 //
56313 /* 158995 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
56314 /* 158998 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
56315 /* 159002 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
56316 /* 159006 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56317 /* 159010 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
56318 /* 159014 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
56319 /* 159021 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56320 /* 159025 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56321 /* 159027 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56322 /* 159034 */ // (fmul:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (MUL_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
56323 /* 159034 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m32),
56324 /* 159037 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56325 /* 159039 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56326 /* 159041 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56327 /* 159045 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56328 /* 159048 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56329 /* 159053 */ GIR_RootConstrainSelectedInstOperands,
56330 /* 159054 */ // GIR_Coverage, 989,
56331 /* 159054 */ GIR_EraseRootFromParent_Done,
56332 /* 159055 */ // Label 3467: @159055
56333 /* 159055 */ GIM_Try, /*On fail goto*//*Label 3468*/ GIMT_Encode4(159120), // Rule ID 977 //
56334 /* 159060 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
56335 /* 159063 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
56336 /* 159067 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
56337 /* 159071 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56338 /* 159075 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56339 /* 159079 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56340 /* 159082 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56341 /* 159086 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56342 /* 159090 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56343 /* 159092 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56344 /* 159099 */ // (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)
56345 /* 159099 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp32m),
56346 /* 159102 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56347 /* 159104 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56348 /* 159106 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56349 /* 159110 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56350 /* 159113 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56351 /* 159118 */ GIR_RootConstrainSelectedInstOperands,
56352 /* 159119 */ // GIR_Coverage, 977,
56353 /* 159119 */ GIR_EraseRootFromParent_Done,
56354 /* 159120 */ // Label 3468: @159120
56355 /* 159120 */ GIM_Try, /*On fail goto*//*Label 3469*/ GIMT_Encode4(159182), // Rule ID 2201 //
56356 /* 159125 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
56357 /* 159128 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56358 /* 159132 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56359 /* 159136 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56360 /* 159140 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56361 /* 159144 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56362 /* 159147 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56363 /* 159151 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56364 /* 159155 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56365 /* 159157 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56366 /* 159164 */ // (fmul:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
56367 /* 159164 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSrm),
56368 /* 159167 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56369 /* 159169 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56370 /* 159171 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56371 /* 159175 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56372 /* 159180 */ GIR_RootConstrainSelectedInstOperands,
56373 /* 159181 */ // GIR_Coverage, 2201,
56374 /* 159181 */ GIR_EraseRootFromParent_Done,
56375 /* 159182 */ // Label 3469: @159182
56376 /* 159182 */ GIM_Try, /*On fail goto*//*Label 3470*/ GIMT_Encode4(159244), // Rule ID 2209 //
56377 /* 159187 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
56378 /* 159190 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56379 /* 159194 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56380 /* 159198 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56381 /* 159202 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56382 /* 159206 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56383 /* 159209 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56384 /* 159213 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56385 /* 159217 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56386 /* 159219 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56387 /* 159226 */ // (fmul:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (MULSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
56388 /* 159226 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSSrm),
56389 /* 159229 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56390 /* 159231 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56391 /* 159233 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56392 /* 159237 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56393 /* 159242 */ GIR_RootConstrainSelectedInstOperands,
56394 /* 159243 */ // GIR_Coverage, 2209,
56395 /* 159243 */ GIR_EraseRootFromParent_Done,
56396 /* 159244 */ // Label 3470: @159244
56397 /* 159244 */ GIM_Try, /*On fail goto*//*Label 3471*/ GIMT_Encode4(159306), // Rule ID 5974 //
56398 /* 159249 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
56399 /* 159252 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56400 /* 159256 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56401 /* 159260 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56402 /* 159264 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56403 /* 159268 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56404 /* 159271 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56405 /* 159275 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56406 /* 159279 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56407 /* 159281 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56408 /* 159288 */ // (fmul:{ *:[f32] } FR32X:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
56409 /* 159288 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSZrm),
56410 /* 159291 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56411 /* 159293 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56412 /* 159295 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56413 /* 159299 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56414 /* 159304 */ GIR_RootConstrainSelectedInstOperands,
56415 /* 159305 */ // GIR_Coverage, 5974,
56416 /* 159305 */ GIR_EraseRootFromParent_Done,
56417 /* 159306 */ // Label 3471: @159306
56418 /* 159306 */ GIM_Try, /*On fail goto*//*Label 3472*/ GIMT_Encode4(159343), // Rule ID 899 //
56419 /* 159311 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
56420 /* 159314 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
56421 /* 159318 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
56422 /* 159322 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
56423 /* 159326 */ // (fmul:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (MUL_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
56424 /* 159326 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MUL_Fp32),
56425 /* 159331 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(RegState::Dead),
56426 /* 159337 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
56427 /* 159341 */ GIR_RootConstrainSelectedInstOperands,
56428 /* 159342 */ // GIR_Coverage, 899,
56429 /* 159342 */ GIR_Done,
56430 /* 159343 */ // Label 3472: @159343
56431 /* 159343 */ GIM_Try, /*On fail goto*//*Label 3473*/ GIMT_Encode4(159374), // Rule ID 2199 //
56432 /* 159348 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
56433 /* 159351 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56434 /* 159355 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56435 /* 159359 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56436 /* 159363 */ // (fmul:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VMULSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
56437 /* 159363 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSSrr),
56438 /* 159368 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56439 /* 159372 */ GIR_RootConstrainSelectedInstOperands,
56440 /* 159373 */ // GIR_Coverage, 2199,
56441 /* 159373 */ GIR_Done,
56442 /* 159374 */ // Label 3473: @159374
56443 /* 159374 */ GIM_Try, /*On fail goto*//*Label 3474*/ GIMT_Encode4(159405), // Rule ID 2207 //
56444 /* 159379 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
56445 /* 159382 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56446 /* 159386 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56447 /* 159390 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56448 /* 159394 */ // (fmul:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (MULSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
56449 /* 159394 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULSSrr),
56450 /* 159399 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56451 /* 159403 */ GIR_RootConstrainSelectedInstOperands,
56452 /* 159404 */ // GIR_Coverage, 2207,
56453 /* 159404 */ GIR_Done,
56454 /* 159405 */ // Label 3474: @159405
56455 /* 159405 */ GIM_Try, /*On fail goto*//*Label 3475*/ GIMT_Encode4(159436), // Rule ID 5972 //
56456 /* 159410 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
56457 /* 159413 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56458 /* 159417 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56459 /* 159421 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56460 /* 159425 */ // (fmul:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VMULSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
56461 /* 159425 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSSZrr),
56462 /* 159430 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56463 /* 159434 */ GIR_RootConstrainSelectedInstOperands,
56464 /* 159435 */ // GIR_Coverage, 5972,
56465 /* 159435 */ GIR_Done,
56466 /* 159436 */ // Label 3475: @159436
56467 /* 159436 */ GIM_Reject,
56468 /* 159437 */ // Label 3453: @159437
56469 /* 159437 */ GIM_Reject,
56470 /* 159438 */ // Label 3437: @159438
56471 /* 159438 */ GIM_Try, /*On fail goto*//*Label 3476*/ GIMT_Encode4(160978),
56472 /* 159443 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
56473 /* 159446 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
56474 /* 159449 */ GIM_Try, /*On fail goto*//*Label 3477*/ GIMT_Encode4(159531), // Rule ID 26027 //
56475 /* 159454 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
56476 /* 159457 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56477 /* 159461 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56478 /* 159465 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
56479 /* 159469 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
56480 /* 159473 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
56481 /* 159477 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
56482 /* 159481 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
56483 /* 159484 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
56484 /* 159488 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
56485 /* 159495 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
56486 /* 159499 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56487 /* 159503 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
56488 /* 159505 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56489 /* 159512 */ // (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)
56490 /* 159512 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSDrm),
56491 /* 159515 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56492 /* 159517 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56493 /* 159519 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56494 /* 159523 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
56495 /* 159529 */ GIR_RootConstrainSelectedInstOperands,
56496 /* 159530 */ // GIR_Coverage, 26027,
56497 /* 159530 */ GIR_EraseRootFromParent_Done,
56498 /* 159531 */ // Label 3477: @159531
56499 /* 159531 */ GIM_Try, /*On fail goto*//*Label 3478*/ GIMT_Encode4(159613), // Rule ID 26028 //
56500 /* 159536 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
56501 /* 159539 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56502 /* 159543 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56503 /* 159547 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
56504 /* 159551 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
56505 /* 159555 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
56506 /* 159559 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
56507 /* 159563 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
56508 /* 159566 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
56509 /* 159570 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
56510 /* 159577 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
56511 /* 159581 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56512 /* 159585 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
56513 /* 159587 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56514 /* 159594 */ // (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)
56515 /* 159594 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDrm),
56516 /* 159597 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56517 /* 159599 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56518 /* 159601 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56519 /* 159605 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
56520 /* 159611 */ GIR_RootConstrainSelectedInstOperands,
56521 /* 159612 */ // GIR_Coverage, 26028,
56522 /* 159612 */ GIR_EraseRootFromParent_Done,
56523 /* 159613 */ // Label 3478: @159613
56524 /* 159613 */ GIM_Try, /*On fail goto*//*Label 3479*/ GIMT_Encode4(159695), // Rule ID 26029 //
56525 /* 159618 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
56526 /* 159621 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56527 /* 159625 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56528 /* 159629 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
56529 /* 159633 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
56530 /* 159637 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
56531 /* 159641 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
56532 /* 159645 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
56533 /* 159648 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
56534 /* 159652 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
56535 /* 159659 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
56536 /* 159663 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56537 /* 159667 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
56538 /* 159669 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56539 /* 159676 */ // (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)
56540 /* 159676 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDZrm),
56541 /* 159679 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56542 /* 159681 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56543 /* 159683 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56544 /* 159687 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
56545 /* 159693 */ GIR_RootConstrainSelectedInstOperands,
56546 /* 159694 */ // GIR_Coverage, 26029,
56547 /* 159694 */ GIR_EraseRootFromParent_Done,
56548 /* 159695 */ // Label 3479: @159695
56549 /* 159695 */ GIM_Try, /*On fail goto*//*Label 3480*/ GIMT_Encode4(159777), // Rule ID 22482 //
56550 /* 159700 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
56551 /* 159703 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56552 /* 159707 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56553 /* 159711 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56554 /* 159715 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
56555 /* 159719 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
56556 /* 159723 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
56557 /* 159727 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
56558 /* 159731 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
56559 /* 159734 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
56560 /* 159738 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
56561 /* 159745 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
56562 /* 159749 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
56563 /* 159751 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56564 /* 159758 */ // (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)
56565 /* 159758 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSDrm),
56566 /* 159761 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56567 /* 159763 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56568 /* 159765 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56569 /* 159769 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
56570 /* 159775 */ GIR_RootConstrainSelectedInstOperands,
56571 /* 159776 */ // GIR_Coverage, 22482,
56572 /* 159776 */ GIR_EraseRootFromParent_Done,
56573 /* 159777 */ // Label 3480: @159777
56574 /* 159777 */ GIM_Try, /*On fail goto*//*Label 3481*/ GIMT_Encode4(159859), // Rule ID 22483 //
56575 /* 159782 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
56576 /* 159785 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56577 /* 159789 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56578 /* 159793 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56579 /* 159797 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
56580 /* 159801 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
56581 /* 159805 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
56582 /* 159809 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
56583 /* 159813 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
56584 /* 159816 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
56585 /* 159820 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
56586 /* 159827 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
56587 /* 159831 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
56588 /* 159833 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56589 /* 159840 */ // (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)
56590 /* 159840 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDrm),
56591 /* 159843 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56592 /* 159845 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56593 /* 159847 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56594 /* 159851 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
56595 /* 159857 */ GIR_RootConstrainSelectedInstOperands,
56596 /* 159858 */ // GIR_Coverage, 22483,
56597 /* 159858 */ GIR_EraseRootFromParent_Done,
56598 /* 159859 */ // Label 3481: @159859
56599 /* 159859 */ GIM_Try, /*On fail goto*//*Label 3482*/ GIMT_Encode4(159941), // Rule ID 22484 //
56600 /* 159864 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
56601 /* 159867 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56602 /* 159871 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56603 /* 159875 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56604 /* 159879 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
56605 /* 159883 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
56606 /* 159887 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
56607 /* 159891 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
56608 /* 159895 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
56609 /* 159898 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
56610 /* 159902 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
56611 /* 159909 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
56612 /* 159913 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
56613 /* 159915 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56614 /* 159922 */ // (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)
56615 /* 159922 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDZrm),
56616 /* 159925 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56617 /* 159927 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56618 /* 159929 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56619 /* 159933 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
56620 /* 159939 */ GIR_RootConstrainSelectedInstOperands,
56621 /* 159940 */ // GIR_Coverage, 22484,
56622 /* 159940 */ GIR_EraseRootFromParent_Done,
56623 /* 159941 */ // Label 3482: @159941
56624 /* 159941 */ GIM_Try, /*On fail goto*//*Label 3483*/ GIMT_Encode4(160006), // Rule ID 23273 //
56625 /* 159946 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
56626 /* 159949 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56627 /* 159953 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56628 /* 159957 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
56629 /* 159961 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
56630 /* 159968 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56631 /* 159972 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56632 /* 159976 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56633 /* 159978 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56634 /* 159985 */ // (fmul:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (MUL_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56635 /* 159985 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m64),
56636 /* 159988 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56637 /* 159990 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56638 /* 159992 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56639 /* 159996 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56640 /* 159999 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56641 /* 160004 */ GIR_RootConstrainSelectedInstOperands,
56642 /* 160005 */ // GIR_Coverage, 23273,
56643 /* 160005 */ GIR_EraseRootFromParent_Done,
56644 /* 160006 */ // Label 3483: @160006
56645 /* 160006 */ GIM_Try, /*On fail goto*//*Label 3484*/ GIMT_Encode4(160071), // Rule ID 23275 //
56646 /* 160011 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
56647 /* 160014 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56648 /* 160018 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56649 /* 160022 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
56650 /* 160026 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
56651 /* 160033 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56652 /* 160037 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56653 /* 160041 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56654 /* 160043 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56655 /* 160050 */ // (fmul:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (MUL_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56656 /* 160050 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m64),
56657 /* 160053 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56658 /* 160055 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56659 /* 160057 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56660 /* 160061 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56661 /* 160064 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56662 /* 160069 */ GIR_RootConstrainSelectedInstOperands,
56663 /* 160070 */ // GIR_Coverage, 23275,
56664 /* 160070 */ GIR_EraseRootFromParent_Done,
56665 /* 160071 */ // Label 3484: @160071
56666 /* 160071 */ GIM_Try, /*On fail goto*//*Label 3485*/ GIMT_Encode4(160136), // Rule ID 23261 //
56667 /* 160076 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
56668 /* 160079 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56669 /* 160083 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56670 /* 160087 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56671 /* 160091 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56672 /* 160094 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56673 /* 160098 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56674 /* 160102 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56675 /* 160106 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56676 /* 160108 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56677 /* 160115 */ // (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)
56678 /* 160115 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m),
56679 /* 160118 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56680 /* 160120 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56681 /* 160122 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56682 /* 160126 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56683 /* 160129 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56684 /* 160134 */ GIR_RootConstrainSelectedInstOperands,
56685 /* 160135 */ // GIR_Coverage, 23261,
56686 /* 160135 */ GIR_EraseRootFromParent_Done,
56687 /* 160136 */ // Label 3485: @160136
56688 /* 160136 */ GIM_Try, /*On fail goto*//*Label 3486*/ GIMT_Encode4(160208), // Rule ID 23263 //
56689 /* 160141 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
56690 /* 160144 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56691 /* 160148 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56692 /* 160152 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56693 /* 160156 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56694 /* 160159 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56695 /* 160163 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
56696 /* 160170 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56697 /* 160174 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56698 /* 160178 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56699 /* 160180 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56700 /* 160187 */ // (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)
56701 /* 160187 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m32),
56702 /* 160190 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56703 /* 160192 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56704 /* 160194 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56705 /* 160198 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56706 /* 160201 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56707 /* 160206 */ GIR_RootConstrainSelectedInstOperands,
56708 /* 160207 */ // GIR_Coverage, 23263,
56709 /* 160207 */ GIR_EraseRootFromParent_Done,
56710 /* 160208 */ // Label 3486: @160208
56711 /* 160208 */ GIM_Try, /*On fail goto*//*Label 3487*/ GIMT_Encode4(160270), // Rule ID 23404 //
56712 /* 160213 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
56713 /* 160216 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56714 /* 160220 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56715 /* 160224 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56716 /* 160228 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56717 /* 160231 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56718 /* 160235 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56719 /* 160239 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56720 /* 160243 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56721 /* 160245 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56722 /* 160252 */ // (fmul:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64:{ *:[f64] }:$src1) => (VMULSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56723 /* 160252 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDrm),
56724 /* 160255 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56725 /* 160257 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56726 /* 160259 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56727 /* 160263 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56728 /* 160268 */ GIR_RootConstrainSelectedInstOperands,
56729 /* 160269 */ // GIR_Coverage, 23404,
56730 /* 160269 */ GIR_EraseRootFromParent_Done,
56731 /* 160270 */ // Label 3487: @160270
56732 /* 160270 */ GIM_Try, /*On fail goto*//*Label 3488*/ GIMT_Encode4(160332), // Rule ID 23408 //
56733 /* 160275 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
56734 /* 160278 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56735 /* 160282 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56736 /* 160286 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56737 /* 160290 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56738 /* 160293 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56739 /* 160297 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56740 /* 160301 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56741 /* 160305 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56742 /* 160307 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56743 /* 160314 */ // (fmul:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64:{ *:[f64] }:$src1) => (MULSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56744 /* 160314 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSDrm),
56745 /* 160317 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56746 /* 160319 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56747 /* 160321 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56748 /* 160325 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56749 /* 160330 */ GIR_RootConstrainSelectedInstOperands,
56750 /* 160331 */ // GIR_Coverage, 23408,
56751 /* 160331 */ GIR_EraseRootFromParent_Done,
56752 /* 160332 */ // Label 3488: @160332
56753 /* 160332 */ GIM_Try, /*On fail goto*//*Label 3489*/ GIMT_Encode4(160394), // Rule ID 24254 //
56754 /* 160337 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
56755 /* 160340 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56756 /* 160344 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56757 /* 160348 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56758 /* 160352 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56759 /* 160355 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56760 /* 160359 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56761 /* 160363 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56762 /* 160367 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56763 /* 160369 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56764 /* 160376 */ // (fmul:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64X:{ *:[f64] }:$src1) => (VMULSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56765 /* 160376 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDZrm),
56766 /* 160379 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56767 /* 160381 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56768 /* 160383 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56769 /* 160387 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56770 /* 160392 */ GIR_RootConstrainSelectedInstOperands,
56771 /* 160393 */ // GIR_Coverage, 24254,
56772 /* 160393 */ GIR_EraseRootFromParent_Done,
56773 /* 160394 */ // Label 3489: @160394
56774 /* 160394 */ GIM_Try, /*On fail goto*//*Label 3490*/ GIMT_Encode4(160459), // Rule ID 991 //
56775 /* 160399 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
56776 /* 160402 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56777 /* 160406 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56778 /* 160410 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56779 /* 160414 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
56780 /* 160418 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
56781 /* 160425 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56782 /* 160429 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56783 /* 160431 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56784 /* 160438 */ // (fmul:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (MUL_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56785 /* 160438 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m64),
56786 /* 160441 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56787 /* 160443 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56788 /* 160445 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56789 /* 160449 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56790 /* 160452 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56791 /* 160457 */ GIR_RootConstrainSelectedInstOperands,
56792 /* 160458 */ // GIR_Coverage, 991,
56793 /* 160458 */ GIR_EraseRootFromParent_Done,
56794 /* 160459 */ // Label 3490: @160459
56795 /* 160459 */ GIM_Try, /*On fail goto*//*Label 3491*/ GIMT_Encode4(160524), // Rule ID 993 //
56796 /* 160464 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
56797 /* 160467 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56798 /* 160471 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56799 /* 160475 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56800 /* 160479 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
56801 /* 160483 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
56802 /* 160490 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56803 /* 160494 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56804 /* 160496 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56805 /* 160503 */ // (fmul:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (MUL_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56806 /* 160503 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m64),
56807 /* 160506 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56808 /* 160508 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56809 /* 160510 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56810 /* 160514 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56811 /* 160517 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56812 /* 160522 */ GIR_RootConstrainSelectedInstOperands,
56813 /* 160523 */ // GIR_Coverage, 993,
56814 /* 160523 */ GIR_EraseRootFromParent_Done,
56815 /* 160524 */ // Label 3491: @160524
56816 /* 160524 */ GIM_Try, /*On fail goto*//*Label 3492*/ GIMT_Encode4(160589), // Rule ID 979 //
56817 /* 160529 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
56818 /* 160532 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56819 /* 160536 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56820 /* 160540 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56821 /* 160544 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56822 /* 160548 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56823 /* 160551 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56824 /* 160555 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56825 /* 160559 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56826 /* 160561 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56827 /* 160568 */ // (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)
56828 /* 160568 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m),
56829 /* 160571 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56830 /* 160573 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56831 /* 160575 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56832 /* 160579 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56833 /* 160582 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56834 /* 160587 */ GIR_RootConstrainSelectedInstOperands,
56835 /* 160588 */ // GIR_Coverage, 979,
56836 /* 160588 */ GIR_EraseRootFromParent_Done,
56837 /* 160589 */ // Label 3492: @160589
56838 /* 160589 */ GIM_Try, /*On fail goto*//*Label 3493*/ GIMT_Encode4(160661), // Rule ID 981 //
56839 /* 160594 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
56840 /* 160597 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56841 /* 160601 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56842 /* 160605 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56843 /* 160609 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56844 /* 160613 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56845 /* 160616 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56846 /* 160620 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
56847 /* 160627 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56848 /* 160631 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56849 /* 160633 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56850 /* 160640 */ // (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)
56851 /* 160640 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m32),
56852 /* 160643 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56853 /* 160645 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56854 /* 160647 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56855 /* 160651 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56856 /* 160654 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56857 /* 160659 */ GIR_RootConstrainSelectedInstOperands,
56858 /* 160660 */ // GIR_Coverage, 981,
56859 /* 160660 */ GIR_EraseRootFromParent_Done,
56860 /* 160661 */ // Label 3493: @160661
56861 /* 160661 */ GIM_Try, /*On fail goto*//*Label 3494*/ GIMT_Encode4(160723), // Rule ID 2205 //
56862 /* 160666 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
56863 /* 160669 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56864 /* 160673 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56865 /* 160677 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56866 /* 160681 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56867 /* 160685 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56868 /* 160688 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56869 /* 160692 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56870 /* 160696 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56871 /* 160698 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56872 /* 160705 */ // (fmul:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56873 /* 160705 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDrm),
56874 /* 160708 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56875 /* 160710 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56876 /* 160712 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56877 /* 160716 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56878 /* 160721 */ GIR_RootConstrainSelectedInstOperands,
56879 /* 160722 */ // GIR_Coverage, 2205,
56880 /* 160722 */ GIR_EraseRootFromParent_Done,
56881 /* 160723 */ // Label 3494: @160723
56882 /* 160723 */ GIM_Try, /*On fail goto*//*Label 3495*/ GIMT_Encode4(160785), // Rule ID 2213 //
56883 /* 160728 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
56884 /* 160731 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56885 /* 160735 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56886 /* 160739 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56887 /* 160743 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56888 /* 160747 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56889 /* 160750 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56890 /* 160754 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56891 /* 160758 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56892 /* 160760 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56893 /* 160767 */ // (fmul:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (MULSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56894 /* 160767 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSDrm),
56895 /* 160770 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56896 /* 160772 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56897 /* 160774 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56898 /* 160778 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56899 /* 160783 */ GIR_RootConstrainSelectedInstOperands,
56900 /* 160784 */ // GIR_Coverage, 2213,
56901 /* 160784 */ GIR_EraseRootFromParent_Done,
56902 /* 160785 */ // Label 3495: @160785
56903 /* 160785 */ GIM_Try, /*On fail goto*//*Label 3496*/ GIMT_Encode4(160847), // Rule ID 5993 //
56904 /* 160790 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
56905 /* 160793 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56906 /* 160797 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56907 /* 160801 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56908 /* 160805 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56909 /* 160809 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56910 /* 160812 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56911 /* 160816 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56912 /* 160820 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56913 /* 160822 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56914 /* 160829 */ // (fmul:{ *:[f64] } FR64X:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56915 /* 160829 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDZrm),
56916 /* 160832 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56917 /* 160834 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56918 /* 160836 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56919 /* 160840 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56920 /* 160845 */ GIR_RootConstrainSelectedInstOperands,
56921 /* 160846 */ // GIR_Coverage, 5993,
56922 /* 160846 */ GIR_EraseRootFromParent_Done,
56923 /* 160847 */ // Label 3496: @160847
56924 /* 160847 */ GIM_Try, /*On fail goto*//*Label 3497*/ GIMT_Encode4(160884), // Rule ID 901 //
56925 /* 160852 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
56926 /* 160855 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56927 /* 160859 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56928 /* 160863 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56929 /* 160867 */ // (fmul:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (MUL_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
56930 /* 160867 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64),
56931 /* 160872 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(RegState::Dead),
56932 /* 160878 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
56933 /* 160882 */ GIR_RootConstrainSelectedInstOperands,
56934 /* 160883 */ // GIR_Coverage, 901,
56935 /* 160883 */ GIR_Done,
56936 /* 160884 */ // Label 3497: @160884
56937 /* 160884 */ GIM_Try, /*On fail goto*//*Label 3498*/ GIMT_Encode4(160915), // Rule ID 2203 //
56938 /* 160889 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
56939 /* 160892 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56940 /* 160896 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56941 /* 160900 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56942 /* 160904 */ // (fmul:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VMULSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
56943 /* 160904 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSDrr),
56944 /* 160909 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56945 /* 160913 */ GIR_RootConstrainSelectedInstOperands,
56946 /* 160914 */ // GIR_Coverage, 2203,
56947 /* 160914 */ GIR_Done,
56948 /* 160915 */ // Label 3498: @160915
56949 /* 160915 */ GIM_Try, /*On fail goto*//*Label 3499*/ GIMT_Encode4(160946), // Rule ID 2211 //
56950 /* 160920 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
56951 /* 160923 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56952 /* 160927 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56953 /* 160931 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56954 /* 160935 */ // (fmul:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (MULSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
56955 /* 160935 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULSDrr),
56956 /* 160940 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56957 /* 160944 */ GIR_RootConstrainSelectedInstOperands,
56958 /* 160945 */ // GIR_Coverage, 2211,
56959 /* 160945 */ GIR_Done,
56960 /* 160946 */ // Label 3499: @160946
56961 /* 160946 */ GIM_Try, /*On fail goto*//*Label 3500*/ GIMT_Encode4(160977), // Rule ID 5991 //
56962 /* 160951 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
56963 /* 160954 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56964 /* 160958 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56965 /* 160962 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56966 /* 160966 */ // (fmul:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VMULSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
56967 /* 160966 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSDZrr),
56968 /* 160971 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56969 /* 160975 */ GIR_RootConstrainSelectedInstOperands,
56970 /* 160976 */ // GIR_Coverage, 5991,
56971 /* 160976 */ GIR_Done,
56972 /* 160977 */ // Label 3500: @160977
56973 /* 160977 */ GIM_Reject,
56974 /* 160978 */ // Label 3476: @160978
56975 /* 160978 */ GIM_Reject,
56976 /* 160979 */ // Label 3438: @160979
56977 /* 160979 */ GIM_Try, /*On fail goto*//*Label 3501*/ GIMT_Encode4(161544),
56978 /* 160984 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
56979 /* 160987 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
56980 /* 160990 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
56981 /* 160994 */ GIM_Try, /*On fail goto*//*Label 3502*/ GIMT_Encode4(161055), // Rule ID 23277 //
56982 /* 160999 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
56983 /* 161002 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56984 /* 161006 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
56985 /* 161010 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
56986 /* 161017 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56987 /* 161021 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
56988 /* 161025 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56989 /* 161027 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56990 /* 161034 */ // (fmul:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (MUL_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
56991 /* 161034 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m80),
56992 /* 161037 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56993 /* 161039 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56994 /* 161041 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56995 /* 161045 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56996 /* 161048 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56997 /* 161053 */ GIR_RootConstrainSelectedInstOperands,
56998 /* 161054 */ // GIR_Coverage, 23277,
56999 /* 161054 */ GIR_EraseRootFromParent_Done,
57000 /* 161055 */ // Label 3502: @161055
57001 /* 161055 */ GIM_Try, /*On fail goto*//*Label 3503*/ GIMT_Encode4(161116), // Rule ID 23279 //
57002 /* 161060 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
57003 /* 161063 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57004 /* 161067 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
57005 /* 161071 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
57006 /* 161078 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57007 /* 161082 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
57008 /* 161086 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57009 /* 161088 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57010 /* 161095 */ // (fmul:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (MUL_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
57011 /* 161095 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m80),
57012 /* 161098 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57013 /* 161100 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57014 /* 161102 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57015 /* 161106 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
57016 /* 161109 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57017 /* 161114 */ GIR_RootConstrainSelectedInstOperands,
57018 /* 161115 */ // GIR_Coverage, 23279,
57019 /* 161115 */ GIR_EraseRootFromParent_Done,
57020 /* 161116 */ // Label 3503: @161116
57021 /* 161116 */ GIM_Try, /*On fail goto*//*Label 3504*/ GIMT_Encode4(161184), // Rule ID 23265 //
57022 /* 161121 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
57023 /* 161124 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57024 /* 161128 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57025 /* 161132 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57026 /* 161135 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57027 /* 161139 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
57028 /* 161146 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57029 /* 161150 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
57030 /* 161154 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57031 /* 161156 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57032 /* 161163 */ // (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)
57033 /* 161163 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m32),
57034 /* 161166 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57035 /* 161168 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57036 /* 161170 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57037 /* 161174 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
57038 /* 161177 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57039 /* 161182 */ GIR_RootConstrainSelectedInstOperands,
57040 /* 161183 */ // GIR_Coverage, 23265,
57041 /* 161183 */ GIR_EraseRootFromParent_Done,
57042 /* 161184 */ // Label 3504: @161184
57043 /* 161184 */ GIM_Try, /*On fail goto*//*Label 3505*/ GIMT_Encode4(161252), // Rule ID 23267 //
57044 /* 161189 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
57045 /* 161192 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57046 /* 161196 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57047 /* 161200 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57048 /* 161203 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57049 /* 161207 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
57050 /* 161214 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57051 /* 161218 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
57052 /* 161222 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57053 /* 161224 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57054 /* 161231 */ // (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)
57055 /* 161231 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m64),
57056 /* 161234 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57057 /* 161236 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57058 /* 161238 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57059 /* 161242 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
57060 /* 161245 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57061 /* 161250 */ GIR_RootConstrainSelectedInstOperands,
57062 /* 161251 */ // GIR_Coverage, 23267,
57063 /* 161251 */ GIR_EraseRootFromParent_Done,
57064 /* 161252 */ // Label 3505: @161252
57065 /* 161252 */ GIM_Try, /*On fail goto*//*Label 3506*/ GIMT_Encode4(161313), // Rule ID 995 //
57066 /* 161257 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
57067 /* 161260 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
57068 /* 161264 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57069 /* 161268 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
57070 /* 161272 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
57071 /* 161279 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57072 /* 161283 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57073 /* 161285 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57074 /* 161292 */ // (fmul:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (MUL_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
57075 /* 161292 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m80),
57076 /* 161295 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57077 /* 161297 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57078 /* 161299 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57079 /* 161303 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
57080 /* 161306 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57081 /* 161311 */ GIR_RootConstrainSelectedInstOperands,
57082 /* 161312 */ // GIR_Coverage, 995,
57083 /* 161312 */ GIR_EraseRootFromParent_Done,
57084 /* 161313 */ // Label 3506: @161313
57085 /* 161313 */ GIM_Try, /*On fail goto*//*Label 3507*/ GIMT_Encode4(161374), // Rule ID 997 //
57086 /* 161318 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
57087 /* 161321 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
57088 /* 161325 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57089 /* 161329 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
57090 /* 161333 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
57091 /* 161340 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57092 /* 161344 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57093 /* 161346 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57094 /* 161353 */ // (fmul:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (MUL_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
57095 /* 161353 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m80),
57096 /* 161356 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57097 /* 161358 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57098 /* 161360 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57099 /* 161364 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
57100 /* 161367 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57101 /* 161372 */ GIR_RootConstrainSelectedInstOperands,
57102 /* 161373 */ // GIR_Coverage, 997,
57103 /* 161373 */ GIR_EraseRootFromParent_Done,
57104 /* 161374 */ // Label 3507: @161374
57105 /* 161374 */ GIM_Try, /*On fail goto*//*Label 3508*/ GIMT_Encode4(161442), // Rule ID 983 //
57106 /* 161379 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
57107 /* 161382 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
57108 /* 161386 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57109 /* 161390 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57110 /* 161394 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57111 /* 161397 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57112 /* 161401 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
57113 /* 161408 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57114 /* 161412 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57115 /* 161414 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57116 /* 161421 */ // (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)
57117 /* 161421 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m32),
57118 /* 161424 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57119 /* 161426 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57120 /* 161428 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57121 /* 161432 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
57122 /* 161435 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57123 /* 161440 */ GIR_RootConstrainSelectedInstOperands,
57124 /* 161441 */ // GIR_Coverage, 983,
57125 /* 161441 */ GIR_EraseRootFromParent_Done,
57126 /* 161442 */ // Label 3508: @161442
57127 /* 161442 */ GIM_Try, /*On fail goto*//*Label 3509*/ GIMT_Encode4(161510), // Rule ID 985 //
57128 /* 161447 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
57129 /* 161450 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
57130 /* 161454 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57131 /* 161458 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57132 /* 161462 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57133 /* 161465 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57134 /* 161469 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
57135 /* 161476 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57136 /* 161480 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57137 /* 161482 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57138 /* 161489 */ // (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)
57139 /* 161489 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m64),
57140 /* 161492 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57141 /* 161494 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57142 /* 161496 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57143 /* 161500 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
57144 /* 161503 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57145 /* 161508 */ GIR_RootConstrainSelectedInstOperands,
57146 /* 161509 */ // GIR_Coverage, 985,
57147 /* 161509 */ GIR_EraseRootFromParent_Done,
57148 /* 161510 */ // Label 3509: @161510
57149 /* 161510 */ GIM_Try, /*On fail goto*//*Label 3510*/ GIMT_Encode4(161543), // Rule ID 903 //
57150 /* 161515 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
57151 /* 161518 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
57152 /* 161522 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
57153 /* 161526 */ // (fmul:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (MUL_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
57154 /* 161526 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80),
57155 /* 161531 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(RegState::Dead),
57156 /* 161537 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
57157 /* 161541 */ GIR_RootConstrainSelectedInstOperands,
57158 /* 161542 */ // GIR_Coverage, 903,
57159 /* 161542 */ GIR_Done,
57160 /* 161543 */ // Label 3510: @161543
57161 /* 161543 */ GIM_Reject,
57162 /* 161544 */ // Label 3501: @161544
57163 /* 161544 */ GIM_Reject,
57164 /* 161545 */ // Label 3439: @161545
57165 /* 161545 */ GIM_Try, /*On fail goto*//*Label 3511*/ GIMT_Encode4(161898),
57166 /* 161550 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
57167 /* 161553 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
57168 /* 161556 */ GIM_Try, /*On fail goto*//*Label 3512*/ GIMT_Encode4(161618), // Rule ID 23392 //
57169 /* 161561 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
57170 /* 161564 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57171 /* 161568 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57172 /* 161572 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57173 /* 161576 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57174 /* 161579 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57175 /* 161583 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57176 /* 161587 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57177 /* 161591 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57178 /* 161593 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57179 /* 161600 */ // (fmul:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2f64] }:$src1) => (VMULPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57180 /* 161600 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDrm),
57181 /* 161603 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57182 /* 161605 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57183 /* 161607 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57184 /* 161611 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57185 /* 161616 */ GIR_RootConstrainSelectedInstOperands,
57186 /* 161617 */ // GIR_Coverage, 23392,
57187 /* 161617 */ GIR_EraseRootFromParent_Done,
57188 /* 161618 */ // Label 3512: @161618
57189 /* 161618 */ GIM_Try, /*On fail goto*//*Label 3513*/ GIMT_Encode4(161680), // Rule ID 24368 //
57190 /* 161623 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
57191 /* 161626 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57192 /* 161630 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57193 /* 161634 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57194 /* 161638 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57195 /* 161641 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57196 /* 161645 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57197 /* 161649 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57198 /* 161653 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57199 /* 161655 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57200 /* 161662 */ // (fmul:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2f64] }:$src1) => (VMULPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57201 /* 161662 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ128rm),
57202 /* 161665 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57203 /* 161667 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57204 /* 161669 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57205 /* 161673 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57206 /* 161678 */ GIR_RootConstrainSelectedInstOperands,
57207 /* 161679 */ // GIR_Coverage, 24368,
57208 /* 161679 */ GIR_EraseRootFromParent_Done,
57209 /* 161680 */ // Label 3513: @161680
57210 /* 161680 */ GIM_Try, /*On fail goto*//*Label 3514*/ GIMT_Encode4(161742), // Rule ID 2181 //
57211 /* 161685 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
57212 /* 161688 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57213 /* 161692 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57214 /* 161696 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57215 /* 161700 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57216 /* 161704 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57217 /* 161707 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57218 /* 161711 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57219 /* 161715 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57220 /* 161717 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57221 /* 161724 */ // (fmul:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57222 /* 161724 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDrm),
57223 /* 161727 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57224 /* 161729 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57225 /* 161731 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57226 /* 161735 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57227 /* 161740 */ GIR_RootConstrainSelectedInstOperands,
57228 /* 161741 */ // GIR_Coverage, 2181,
57229 /* 161741 */ GIR_EraseRootFromParent_Done,
57230 /* 161742 */ // Label 3514: @161742
57231 /* 161742 */ GIM_Try, /*On fail goto*//*Label 3515*/ GIMT_Encode4(161804), // Rule ID 6426 //
57232 /* 161747 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
57233 /* 161750 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57234 /* 161754 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57235 /* 161758 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57236 /* 161762 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57237 /* 161766 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57238 /* 161769 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57239 /* 161773 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57240 /* 161777 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57241 /* 161779 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57242 /* 161786 */ // (fmul:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57243 /* 161786 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ128rm),
57244 /* 161789 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57245 /* 161791 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57246 /* 161793 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57247 /* 161797 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57248 /* 161802 */ GIR_RootConstrainSelectedInstOperands,
57249 /* 161803 */ // GIR_Coverage, 6426,
57250 /* 161803 */ GIR_EraseRootFromParent_Done,
57251 /* 161804 */ // Label 3515: @161804
57252 /* 161804 */ GIM_Try, /*On fail goto*//*Label 3516*/ GIMT_Encode4(161835), // Rule ID 2179 //
57253 /* 161809 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
57254 /* 161812 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57255 /* 161816 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57256 /* 161820 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57257 /* 161824 */ // (fmul:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VMULPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
57258 /* 161824 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDrr),
57259 /* 161829 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57260 /* 161833 */ GIR_RootConstrainSelectedInstOperands,
57261 /* 161834 */ // GIR_Coverage, 2179,
57262 /* 161834 */ GIR_Done,
57263 /* 161835 */ // Label 3516: @161835
57264 /* 161835 */ GIM_Try, /*On fail goto*//*Label 3517*/ GIMT_Encode4(161866), // Rule ID 2195 //
57265 /* 161840 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
57266 /* 161843 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57267 /* 161847 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57268 /* 161851 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57269 /* 161855 */ // (fmul:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (MULPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
57270 /* 161855 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULPDrr),
57271 /* 161860 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57272 /* 161864 */ GIR_RootConstrainSelectedInstOperands,
57273 /* 161865 */ // GIR_Coverage, 2195,
57274 /* 161865 */ GIR_Done,
57275 /* 161866 */ // Label 3517: @161866
57276 /* 161866 */ GIM_Try, /*On fail goto*//*Label 3518*/ GIMT_Encode4(161897), // Rule ID 6422 //
57277 /* 161871 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
57278 /* 161874 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57279 /* 161878 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57280 /* 161882 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57281 /* 161886 */ // (fmul:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VMULPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
57282 /* 161886 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDZ128rr),
57283 /* 161891 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57284 /* 161895 */ GIR_RootConstrainSelectedInstOperands,
57285 /* 161896 */ // GIR_Coverage, 6422,
57286 /* 161896 */ GIR_Done,
57287 /* 161897 */ // Label 3518: @161897
57288 /* 161897 */ GIM_Reject,
57289 /* 161898 */ // Label 3511: @161898
57290 /* 161898 */ GIM_Reject,
57291 /* 161899 */ // Label 3440: @161899
57292 /* 161899 */ GIM_Try, /*On fail goto*//*Label 3519*/ GIMT_Encode4(162252),
57293 /* 161904 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
57294 /* 161907 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
57295 /* 161910 */ GIM_Try, /*On fail goto*//*Label 3520*/ GIMT_Encode4(161972), // Rule ID 23390 //
57296 /* 161915 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
57297 /* 161918 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57298 /* 161922 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57299 /* 161926 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57300 /* 161930 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57301 /* 161933 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57302 /* 161937 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57303 /* 161941 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57304 /* 161945 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57305 /* 161947 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57306 /* 161954 */ // (fmul:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4f32] }:$src1) => (VMULPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
57307 /* 161954 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSrm),
57308 /* 161957 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57309 /* 161959 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57310 /* 161961 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57311 /* 161965 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57312 /* 161970 */ GIR_RootConstrainSelectedInstOperands,
57313 /* 161971 */ // GIR_Coverage, 23390,
57314 /* 161971 */ GIR_EraseRootFromParent_Done,
57315 /* 161972 */ // Label 3520: @161972
57316 /* 161972 */ GIM_Try, /*On fail goto*//*Label 3521*/ GIMT_Encode4(162034), // Rule ID 24352 //
57317 /* 161977 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
57318 /* 161980 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57319 /* 161984 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57320 /* 161988 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57321 /* 161992 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57322 /* 161995 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57323 /* 161999 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57324 /* 162003 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57325 /* 162007 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57326 /* 162009 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57327 /* 162016 */ // (fmul:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4f32] }:$src1) => (VMULPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
57328 /* 162016 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ128rm),
57329 /* 162019 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57330 /* 162021 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57331 /* 162023 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57332 /* 162027 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57333 /* 162032 */ GIR_RootConstrainSelectedInstOperands,
57334 /* 162033 */ // GIR_Coverage, 24352,
57335 /* 162033 */ GIR_EraseRootFromParent_Done,
57336 /* 162034 */ // Label 3521: @162034
57337 /* 162034 */ GIM_Try, /*On fail goto*//*Label 3522*/ GIMT_Encode4(162096), // Rule ID 2177 //
57338 /* 162039 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
57339 /* 162042 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57340 /* 162046 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57341 /* 162050 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57342 /* 162054 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57343 /* 162058 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57344 /* 162061 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57345 /* 162065 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57346 /* 162069 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57347 /* 162071 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57348 /* 162078 */ // (fmul:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
57349 /* 162078 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSrm),
57350 /* 162081 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57351 /* 162083 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57352 /* 162085 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57353 /* 162089 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57354 /* 162094 */ GIR_RootConstrainSelectedInstOperands,
57355 /* 162095 */ // GIR_Coverage, 2177,
57356 /* 162095 */ GIR_EraseRootFromParent_Done,
57357 /* 162096 */ // Label 3522: @162096
57358 /* 162096 */ GIM_Try, /*On fail goto*//*Label 3523*/ GIMT_Encode4(162158), // Rule ID 6402 //
57359 /* 162101 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
57360 /* 162104 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57361 /* 162108 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57362 /* 162112 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57363 /* 162116 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57364 /* 162120 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57365 /* 162123 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57366 /* 162127 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57367 /* 162131 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57368 /* 162133 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57369 /* 162140 */ // (fmul:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
57370 /* 162140 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ128rm),
57371 /* 162143 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57372 /* 162145 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57373 /* 162147 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57374 /* 162151 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57375 /* 162156 */ GIR_RootConstrainSelectedInstOperands,
57376 /* 162157 */ // GIR_Coverage, 6402,
57377 /* 162157 */ GIR_EraseRootFromParent_Done,
57378 /* 162158 */ // Label 3523: @162158
57379 /* 162158 */ GIM_Try, /*On fail goto*//*Label 3524*/ GIMT_Encode4(162189), // Rule ID 2175 //
57380 /* 162163 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
57381 /* 162166 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57382 /* 162170 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57383 /* 162174 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57384 /* 162178 */ // (fmul:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VMULPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
57385 /* 162178 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSrr),
57386 /* 162183 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57387 /* 162187 */ GIR_RootConstrainSelectedInstOperands,
57388 /* 162188 */ // GIR_Coverage, 2175,
57389 /* 162188 */ GIR_Done,
57390 /* 162189 */ // Label 3524: @162189
57391 /* 162189 */ GIM_Try, /*On fail goto*//*Label 3525*/ GIMT_Encode4(162220), // Rule ID 2191 //
57392 /* 162194 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
57393 /* 162197 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57394 /* 162201 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57395 /* 162205 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57396 /* 162209 */ // (fmul:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (MULPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
57397 /* 162209 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULPSrr),
57398 /* 162214 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57399 /* 162218 */ GIR_RootConstrainSelectedInstOperands,
57400 /* 162219 */ // GIR_Coverage, 2191,
57401 /* 162219 */ GIR_Done,
57402 /* 162220 */ // Label 3525: @162220
57403 /* 162220 */ GIM_Try, /*On fail goto*//*Label 3526*/ GIMT_Encode4(162251), // Rule ID 6398 //
57404 /* 162225 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
57405 /* 162228 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57406 /* 162232 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57407 /* 162236 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57408 /* 162240 */ // (fmul:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VMULPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
57409 /* 162240 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSZ128rr),
57410 /* 162245 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57411 /* 162249 */ GIR_RootConstrainSelectedInstOperands,
57412 /* 162250 */ // GIR_Coverage, 6398,
57413 /* 162250 */ GIR_Done,
57414 /* 162251 */ // Label 3526: @162251
57415 /* 162251 */ GIM_Reject,
57416 /* 162252 */ // Label 3519: @162252
57417 /* 162252 */ GIM_Reject,
57418 /* 162253 */ // Label 3441: @162253
57419 /* 162253 */ GIM_Try, /*On fail goto*//*Label 3527*/ GIMT_Encode4(162575),
57420 /* 162258 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
57421 /* 162261 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
57422 /* 162264 */ GIM_Try, /*On fail goto*//*Label 3528*/ GIMT_Encode4(162326), // Rule ID 23396 //
57423 /* 162269 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
57424 /* 162272 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57425 /* 162276 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57426 /* 162280 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57427 /* 162284 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57428 /* 162287 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57429 /* 162291 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57430 /* 162295 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57431 /* 162299 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57432 /* 162301 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57433 /* 162308 */ // (fmul:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4f64] }:$src1) => (VMULPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57434 /* 162308 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDYrm),
57435 /* 162311 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57436 /* 162313 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57437 /* 162315 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57438 /* 162319 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57439 /* 162324 */ GIR_RootConstrainSelectedInstOperands,
57440 /* 162325 */ // GIR_Coverage, 23396,
57441 /* 162325 */ GIR_EraseRootFromParent_Done,
57442 /* 162326 */ // Label 3528: @162326
57443 /* 162326 */ GIM_Try, /*On fail goto*//*Label 3529*/ GIMT_Encode4(162388), // Rule ID 24376 //
57444 /* 162331 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
57445 /* 162334 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57446 /* 162338 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57447 /* 162342 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57448 /* 162346 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57449 /* 162349 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57450 /* 162353 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57451 /* 162357 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57452 /* 162361 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57453 /* 162363 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57454 /* 162370 */ // (fmul:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4f64] }:$src1) => (VMULPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57455 /* 162370 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ256rm),
57456 /* 162373 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57457 /* 162375 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57458 /* 162377 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57459 /* 162381 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57460 /* 162386 */ GIR_RootConstrainSelectedInstOperands,
57461 /* 162387 */ // GIR_Coverage, 24376,
57462 /* 162387 */ GIR_EraseRootFromParent_Done,
57463 /* 162388 */ // Label 3529: @162388
57464 /* 162388 */ GIM_Try, /*On fail goto*//*Label 3530*/ GIMT_Encode4(162450), // Rule ID 2189 //
57465 /* 162393 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
57466 /* 162396 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57467 /* 162400 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57468 /* 162404 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57469 /* 162408 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57470 /* 162412 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57471 /* 162415 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57472 /* 162419 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57473 /* 162423 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57474 /* 162425 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57475 /* 162432 */ // (fmul:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57476 /* 162432 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDYrm),
57477 /* 162435 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57478 /* 162437 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57479 /* 162439 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57480 /* 162443 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57481 /* 162448 */ GIR_RootConstrainSelectedInstOperands,
57482 /* 162449 */ // GIR_Coverage, 2189,
57483 /* 162449 */ GIR_EraseRootFromParent_Done,
57484 /* 162450 */ // Label 3530: @162450
57485 /* 162450 */ GIM_Try, /*On fail goto*//*Label 3531*/ GIMT_Encode4(162512), // Rule ID 6438 //
57486 /* 162455 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
57487 /* 162458 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57488 /* 162462 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57489 /* 162466 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57490 /* 162470 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57491 /* 162474 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57492 /* 162477 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57493 /* 162481 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57494 /* 162485 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57495 /* 162487 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57496 /* 162494 */ // (fmul:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57497 /* 162494 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ256rm),
57498 /* 162497 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57499 /* 162499 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57500 /* 162501 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57501 /* 162505 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57502 /* 162510 */ GIR_RootConstrainSelectedInstOperands,
57503 /* 162511 */ // GIR_Coverage, 6438,
57504 /* 162511 */ GIR_EraseRootFromParent_Done,
57505 /* 162512 */ // Label 3531: @162512
57506 /* 162512 */ GIM_Try, /*On fail goto*//*Label 3532*/ GIMT_Encode4(162543), // Rule ID 2187 //
57507 /* 162517 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
57508 /* 162520 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57509 /* 162524 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57510 /* 162528 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57511 /* 162532 */ // (fmul:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VMULPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
57512 /* 162532 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDYrr),
57513 /* 162537 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57514 /* 162541 */ GIR_RootConstrainSelectedInstOperands,
57515 /* 162542 */ // GIR_Coverage, 2187,
57516 /* 162542 */ GIR_Done,
57517 /* 162543 */ // Label 3532: @162543
57518 /* 162543 */ GIM_Try, /*On fail goto*//*Label 3533*/ GIMT_Encode4(162574), // Rule ID 6434 //
57519 /* 162548 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
57520 /* 162551 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57521 /* 162555 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57522 /* 162559 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57523 /* 162563 */ // (fmul:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VMULPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
57524 /* 162563 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDZ256rr),
57525 /* 162568 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57526 /* 162572 */ GIR_RootConstrainSelectedInstOperands,
57527 /* 162573 */ // GIR_Coverage, 6434,
57528 /* 162573 */ GIR_Done,
57529 /* 162574 */ // Label 3533: @162574
57530 /* 162574 */ GIM_Reject,
57531 /* 162575 */ // Label 3527: @162575
57532 /* 162575 */ GIM_Reject,
57533 /* 162576 */ // Label 3442: @162576
57534 /* 162576 */ GIM_Try, /*On fail goto*//*Label 3534*/ GIMT_Encode4(162735),
57535 /* 162581 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
57536 /* 162584 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
57537 /* 162587 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57538 /* 162591 */ GIM_Try, /*On fail goto*//*Label 3535*/ GIMT_Encode4(162649), // Rule ID 24392 //
57539 /* 162596 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
57540 /* 162599 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57541 /* 162603 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57542 /* 162607 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57543 /* 162610 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57544 /* 162614 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57545 /* 162618 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57546 /* 162622 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57547 /* 162624 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57548 /* 162631 */ // (fmul:{ *:[v8f16] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8f16] }:$src1) => (VMULPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
57549 /* 162631 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ128rm),
57550 /* 162634 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57551 /* 162636 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57552 /* 162638 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57553 /* 162642 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57554 /* 162647 */ GIR_RootConstrainSelectedInstOperands,
57555 /* 162648 */ // GIR_Coverage, 24392,
57556 /* 162648 */ GIR_EraseRootFromParent_Done,
57557 /* 162649 */ // Label 3535: @162649
57558 /* 162649 */ GIM_Try, /*On fail goto*//*Label 3536*/ GIMT_Encode4(162707), // Rule ID 6462 //
57559 /* 162654 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
57560 /* 162657 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57561 /* 162661 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57562 /* 162665 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57563 /* 162669 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57564 /* 162672 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57565 /* 162676 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57566 /* 162680 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57567 /* 162682 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57568 /* 162689 */ // (fmul:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
57569 /* 162689 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ128rm),
57570 /* 162692 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57571 /* 162694 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57572 /* 162696 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57573 /* 162700 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57574 /* 162705 */ GIR_RootConstrainSelectedInstOperands,
57575 /* 162706 */ // GIR_Coverage, 6462,
57576 /* 162706 */ GIR_EraseRootFromParent_Done,
57577 /* 162707 */ // Label 3536: @162707
57578 /* 162707 */ GIM_Try, /*On fail goto*//*Label 3537*/ GIMT_Encode4(162734), // Rule ID 6458 //
57579 /* 162712 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
57580 /* 162715 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57581 /* 162719 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57582 /* 162723 */ // (fmul:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VMULPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
57583 /* 162723 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPHZ128rr),
57584 /* 162728 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57585 /* 162732 */ GIR_RootConstrainSelectedInstOperands,
57586 /* 162733 */ // GIR_Coverage, 6458,
57587 /* 162733 */ GIR_Done,
57588 /* 162734 */ // Label 3537: @162734
57589 /* 162734 */ GIM_Reject,
57590 /* 162735 */ // Label 3534: @162735
57591 /* 162735 */ GIM_Reject,
57592 /* 162736 */ // Label 3443: @162736
57593 /* 162736 */ GIM_Try, /*On fail goto*//*Label 3538*/ GIMT_Encode4(163058),
57594 /* 162741 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
57595 /* 162744 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
57596 /* 162747 */ GIM_Try, /*On fail goto*//*Label 3539*/ GIMT_Encode4(162809), // Rule ID 23394 //
57597 /* 162752 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
57598 /* 162755 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57599 /* 162759 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57600 /* 162763 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57601 /* 162767 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57602 /* 162770 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57603 /* 162774 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57604 /* 162778 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57605 /* 162782 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57606 /* 162784 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57607 /* 162791 */ // (fmul:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8f32] }:$src1) => (VMULPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
57608 /* 162791 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSYrm),
57609 /* 162794 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57610 /* 162796 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57611 /* 162798 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57612 /* 162802 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57613 /* 162807 */ GIR_RootConstrainSelectedInstOperands,
57614 /* 162808 */ // GIR_Coverage, 23394,
57615 /* 162808 */ GIR_EraseRootFromParent_Done,
57616 /* 162809 */ // Label 3539: @162809
57617 /* 162809 */ GIM_Try, /*On fail goto*//*Label 3540*/ GIMT_Encode4(162871), // Rule ID 24360 //
57618 /* 162814 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
57619 /* 162817 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57620 /* 162821 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57621 /* 162825 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57622 /* 162829 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57623 /* 162832 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57624 /* 162836 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57625 /* 162840 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57626 /* 162844 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57627 /* 162846 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57628 /* 162853 */ // (fmul:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8f32] }:$src1) => (VMULPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
57629 /* 162853 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ256rm),
57630 /* 162856 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57631 /* 162858 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57632 /* 162860 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57633 /* 162864 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57634 /* 162869 */ GIR_RootConstrainSelectedInstOperands,
57635 /* 162870 */ // GIR_Coverage, 24360,
57636 /* 162870 */ GIR_EraseRootFromParent_Done,
57637 /* 162871 */ // Label 3540: @162871
57638 /* 162871 */ GIM_Try, /*On fail goto*//*Label 3541*/ GIMT_Encode4(162933), // Rule ID 2185 //
57639 /* 162876 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
57640 /* 162879 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57641 /* 162883 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57642 /* 162887 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57643 /* 162891 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57644 /* 162895 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57645 /* 162898 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57646 /* 162902 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57647 /* 162906 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57648 /* 162908 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57649 /* 162915 */ // (fmul:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
57650 /* 162915 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSYrm),
57651 /* 162918 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57652 /* 162920 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57653 /* 162922 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57654 /* 162926 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57655 /* 162931 */ GIR_RootConstrainSelectedInstOperands,
57656 /* 162932 */ // GIR_Coverage, 2185,
57657 /* 162932 */ GIR_EraseRootFromParent_Done,
57658 /* 162933 */ // Label 3541: @162933
57659 /* 162933 */ GIM_Try, /*On fail goto*//*Label 3542*/ GIMT_Encode4(162995), // Rule ID 6414 //
57660 /* 162938 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
57661 /* 162941 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57662 /* 162945 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57663 /* 162949 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57664 /* 162953 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57665 /* 162957 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57666 /* 162960 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57667 /* 162964 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57668 /* 162968 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57669 /* 162970 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57670 /* 162977 */ // (fmul:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
57671 /* 162977 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ256rm),
57672 /* 162980 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57673 /* 162982 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57674 /* 162984 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57675 /* 162988 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57676 /* 162993 */ GIR_RootConstrainSelectedInstOperands,
57677 /* 162994 */ // GIR_Coverage, 6414,
57678 /* 162994 */ GIR_EraseRootFromParent_Done,
57679 /* 162995 */ // Label 3542: @162995
57680 /* 162995 */ GIM_Try, /*On fail goto*//*Label 3543*/ GIMT_Encode4(163026), // Rule ID 2183 //
57681 /* 163000 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
57682 /* 163003 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57683 /* 163007 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57684 /* 163011 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57685 /* 163015 */ // (fmul:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VMULPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
57686 /* 163015 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSYrr),
57687 /* 163020 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57688 /* 163024 */ GIR_RootConstrainSelectedInstOperands,
57689 /* 163025 */ // GIR_Coverage, 2183,
57690 /* 163025 */ GIR_Done,
57691 /* 163026 */ // Label 3543: @163026
57692 /* 163026 */ GIM_Try, /*On fail goto*//*Label 3544*/ GIMT_Encode4(163057), // Rule ID 6410 //
57693 /* 163031 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
57694 /* 163034 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57695 /* 163038 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57696 /* 163042 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57697 /* 163046 */ // (fmul:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VMULPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
57698 /* 163046 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSZ256rr),
57699 /* 163051 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57700 /* 163055 */ GIR_RootConstrainSelectedInstOperands,
57701 /* 163056 */ // GIR_Coverage, 6410,
57702 /* 163056 */ GIR_Done,
57703 /* 163057 */ // Label 3544: @163057
57704 /* 163057 */ GIM_Reject,
57705 /* 163058 */ // Label 3538: @163058
57706 /* 163058 */ GIM_Reject,
57707 /* 163059 */ // Label 3444: @163059
57708 /* 163059 */ GIM_Try, /*On fail goto*//*Label 3545*/ GIMT_Encode4(163218),
57709 /* 163064 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
57710 /* 163067 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
57711 /* 163070 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57712 /* 163074 */ GIM_Try, /*On fail goto*//*Label 3546*/ GIMT_Encode4(163132), // Rule ID 24344 //
57713 /* 163079 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
57714 /* 163082 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57715 /* 163086 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57716 /* 163090 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57717 /* 163093 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57718 /* 163097 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57719 /* 163101 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57720 /* 163105 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57721 /* 163107 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57722 /* 163114 */ // (fmul:{ *:[v8f64] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8f64] }:$src1) => (VMULPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57723 /* 163114 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZrm),
57724 /* 163117 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57725 /* 163119 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57726 /* 163121 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57727 /* 163125 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57728 /* 163130 */ GIR_RootConstrainSelectedInstOperands,
57729 /* 163131 */ // GIR_Coverage, 24344,
57730 /* 163131 */ GIR_EraseRootFromParent_Done,
57731 /* 163132 */ // Label 3546: @163132
57732 /* 163132 */ GIM_Try, /*On fail goto*//*Label 3547*/ GIMT_Encode4(163190), // Rule ID 6390 //
57733 /* 163137 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
57734 /* 163140 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57735 /* 163144 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57736 /* 163148 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57737 /* 163152 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57738 /* 163155 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57739 /* 163159 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57740 /* 163163 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57741 /* 163165 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57742 /* 163172 */ // (fmul:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57743 /* 163172 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZrm),
57744 /* 163175 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57745 /* 163177 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57746 /* 163179 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57747 /* 163183 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57748 /* 163188 */ GIR_RootConstrainSelectedInstOperands,
57749 /* 163189 */ // GIR_Coverage, 6390,
57750 /* 163189 */ GIR_EraseRootFromParent_Done,
57751 /* 163190 */ // Label 3547: @163190
57752 /* 163190 */ GIM_Try, /*On fail goto*//*Label 3548*/ GIMT_Encode4(163217), // Rule ID 6386 //
57753 /* 163195 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
57754 /* 163198 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57755 /* 163202 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57756 /* 163206 */ // (fmul:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VMULPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
57757 /* 163206 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDZrr),
57758 /* 163211 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57759 /* 163215 */ GIR_RootConstrainSelectedInstOperands,
57760 /* 163216 */ // GIR_Coverage, 6386,
57761 /* 163216 */ GIR_Done,
57762 /* 163217 */ // Label 3548: @163217
57763 /* 163217 */ GIM_Reject,
57764 /* 163218 */ // Label 3545: @163218
57765 /* 163218 */ GIM_Reject,
57766 /* 163219 */ // Label 3445: @163219
57767 /* 163219 */ GIM_Try, /*On fail goto*//*Label 3549*/ GIMT_Encode4(163378),
57768 /* 163224 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
57769 /* 163227 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
57770 /* 163230 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57771 /* 163234 */ GIM_Try, /*On fail goto*//*Label 3550*/ GIMT_Encode4(163292), // Rule ID 24400 //
57772 /* 163239 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
57773 /* 163242 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57774 /* 163246 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57775 /* 163250 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57776 /* 163253 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57777 /* 163257 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57778 /* 163261 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57779 /* 163265 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57780 /* 163267 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57781 /* 163274 */ // (fmul:{ *:[v16f16] } (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16f16] }:$src1) => (VMULPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
57782 /* 163274 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ256rm),
57783 /* 163277 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57784 /* 163279 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57785 /* 163281 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57786 /* 163285 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57787 /* 163290 */ GIR_RootConstrainSelectedInstOperands,
57788 /* 163291 */ // GIR_Coverage, 24400,
57789 /* 163291 */ GIR_EraseRootFromParent_Done,
57790 /* 163292 */ // Label 3550: @163292
57791 /* 163292 */ GIM_Try, /*On fail goto*//*Label 3551*/ GIMT_Encode4(163350), // Rule ID 6474 //
57792 /* 163297 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
57793 /* 163300 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57794 /* 163304 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57795 /* 163308 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57796 /* 163312 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57797 /* 163315 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57798 /* 163319 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57799 /* 163323 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57800 /* 163325 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57801 /* 163332 */ // (fmul:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
57802 /* 163332 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ256rm),
57803 /* 163335 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57804 /* 163337 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57805 /* 163339 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57806 /* 163343 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57807 /* 163348 */ GIR_RootConstrainSelectedInstOperands,
57808 /* 163349 */ // GIR_Coverage, 6474,
57809 /* 163349 */ GIR_EraseRootFromParent_Done,
57810 /* 163350 */ // Label 3551: @163350
57811 /* 163350 */ GIM_Try, /*On fail goto*//*Label 3552*/ GIMT_Encode4(163377), // Rule ID 6470 //
57812 /* 163355 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
57813 /* 163358 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57814 /* 163362 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57815 /* 163366 */ // (fmul:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VMULPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
57816 /* 163366 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPHZ256rr),
57817 /* 163371 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57818 /* 163375 */ GIR_RootConstrainSelectedInstOperands,
57819 /* 163376 */ // GIR_Coverage, 6470,
57820 /* 163376 */ GIR_Done,
57821 /* 163377 */ // Label 3552: @163377
57822 /* 163377 */ GIM_Reject,
57823 /* 163378 */ // Label 3549: @163378
57824 /* 163378 */ GIM_Reject,
57825 /* 163379 */ // Label 3446: @163379
57826 /* 163379 */ GIM_Try, /*On fail goto*//*Label 3553*/ GIMT_Encode4(163538),
57827 /* 163384 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
57828 /* 163387 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
57829 /* 163390 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57830 /* 163394 */ GIM_Try, /*On fail goto*//*Label 3554*/ GIMT_Encode4(163452), // Rule ID 24336 //
57831 /* 163399 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
57832 /* 163402 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57833 /* 163406 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57834 /* 163410 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57835 /* 163413 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57836 /* 163417 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57837 /* 163421 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57838 /* 163425 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57839 /* 163427 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57840 /* 163434 */ // (fmul:{ *:[v16f32] } (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16f32] }:$src1) => (VMULPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
57841 /* 163434 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZrm),
57842 /* 163437 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57843 /* 163439 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57844 /* 163441 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57845 /* 163445 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57846 /* 163450 */ GIR_RootConstrainSelectedInstOperands,
57847 /* 163451 */ // GIR_Coverage, 24336,
57848 /* 163451 */ GIR_EraseRootFromParent_Done,
57849 /* 163452 */ // Label 3554: @163452
57850 /* 163452 */ GIM_Try, /*On fail goto*//*Label 3555*/ GIMT_Encode4(163510), // Rule ID 6378 //
57851 /* 163457 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
57852 /* 163460 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57853 /* 163464 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57854 /* 163468 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57855 /* 163472 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57856 /* 163475 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57857 /* 163479 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57858 /* 163483 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57859 /* 163485 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57860 /* 163492 */ // (fmul:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
57861 /* 163492 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZrm),
57862 /* 163495 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57863 /* 163497 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57864 /* 163499 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57865 /* 163503 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57866 /* 163508 */ GIR_RootConstrainSelectedInstOperands,
57867 /* 163509 */ // GIR_Coverage, 6378,
57868 /* 163509 */ GIR_EraseRootFromParent_Done,
57869 /* 163510 */ // Label 3555: @163510
57870 /* 163510 */ GIM_Try, /*On fail goto*//*Label 3556*/ GIMT_Encode4(163537), // Rule ID 6374 //
57871 /* 163515 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
57872 /* 163518 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57873 /* 163522 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57874 /* 163526 */ // (fmul:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VMULPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
57875 /* 163526 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSZrr),
57876 /* 163531 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57877 /* 163535 */ GIR_RootConstrainSelectedInstOperands,
57878 /* 163536 */ // GIR_Coverage, 6374,
57879 /* 163536 */ GIR_Done,
57880 /* 163537 */ // Label 3556: @163537
57881 /* 163537 */ GIM_Reject,
57882 /* 163538 */ // Label 3553: @163538
57883 /* 163538 */ GIM_Reject,
57884 /* 163539 */ // Label 3447: @163539
57885 /* 163539 */ GIM_Try, /*On fail goto*//*Label 3557*/ GIMT_Encode4(163698),
57886 /* 163544 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
57887 /* 163547 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
57888 /* 163550 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57889 /* 163554 */ GIM_Try, /*On fail goto*//*Label 3558*/ GIMT_Encode4(163612), // Rule ID 24384 //
57890 /* 163559 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
57891 /* 163562 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57892 /* 163566 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57893 /* 163570 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57894 /* 163573 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57895 /* 163577 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57896 /* 163581 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57897 /* 163585 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57898 /* 163587 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57899 /* 163594 */ // (fmul:{ *:[v32f16] } (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32f16] }:$src1) => (VMULPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
57900 /* 163594 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZrm),
57901 /* 163597 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57902 /* 163599 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57903 /* 163601 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57904 /* 163605 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57905 /* 163610 */ GIR_RootConstrainSelectedInstOperands,
57906 /* 163611 */ // GIR_Coverage, 24384,
57907 /* 163611 */ GIR_EraseRootFromParent_Done,
57908 /* 163612 */ // Label 3558: @163612
57909 /* 163612 */ GIM_Try, /*On fail goto*//*Label 3559*/ GIMT_Encode4(163670), // Rule ID 6450 //
57910 /* 163617 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
57911 /* 163620 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57912 /* 163624 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57913 /* 163628 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57914 /* 163632 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57915 /* 163635 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57916 /* 163639 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57917 /* 163643 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57918 /* 163645 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57919 /* 163652 */ // (fmul:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
57920 /* 163652 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZrm),
57921 /* 163655 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57922 /* 163657 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57923 /* 163659 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57924 /* 163663 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57925 /* 163668 */ GIR_RootConstrainSelectedInstOperands,
57926 /* 163669 */ // GIR_Coverage, 6450,
57927 /* 163669 */ GIR_EraseRootFromParent_Done,
57928 /* 163670 */ // Label 3559: @163670
57929 /* 163670 */ GIM_Try, /*On fail goto*//*Label 3560*/ GIMT_Encode4(163697), // Rule ID 6446 //
57930 /* 163675 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
57931 /* 163678 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57932 /* 163682 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57933 /* 163686 */ // (fmul:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VMULPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
57934 /* 163686 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPHZrr),
57935 /* 163691 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57936 /* 163695 */ GIR_RootConstrainSelectedInstOperands,
57937 /* 163696 */ // GIR_Coverage, 6446,
57938 /* 163696 */ GIR_Done,
57939 /* 163697 */ // Label 3560: @163697
57940 /* 163697 */ GIM_Reject,
57941 /* 163698 */ // Label 3557: @163698
57942 /* 163698 */ GIM_Reject,
57943 /* 163699 */ // Label 3448: @163699
57944 /* 163699 */ GIM_Reject,
57945 /* 163700 */ // Label 44: @163700
57946 /* 163700 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 3573*/ GIMT_Encode4(169687),
57947 /* 163711 */ /*GILLT_s16*//*Label 3561*/ GIMT_Encode4(163795),
57948 /* 163715 */ /*GILLT_s32*//*Label 3562*/ GIMT_Encode4(164040),
57949 /* 163719 */ /*GILLT_s64*//*Label 3563*/ GIMT_Encode4(164777), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
57950 /* 163735 */ /*GILLT_v2s64*//*Label 3564*/ GIMT_Encode4(165514), GIMT_Encode4(0),
57951 /* 163743 */ /*GILLT_v4s32*//*Label 3565*/ GIMT_Encode4(166251),
57952 /* 163747 */ /*GILLT_v4s64*//*Label 3566*/ GIMT_Encode4(166988), GIMT_Encode4(0),
57953 /* 163755 */ /*GILLT_v8s16*//*Label 3567*/ GIMT_Encode4(167725),
57954 /* 163759 */ /*GILLT_v8s32*//*Label 3568*/ GIMT_Encode4(167970),
57955 /* 163763 */ /*GILLT_v8s64*//*Label 3569*/ GIMT_Encode4(168707), GIMT_Encode4(0), GIMT_Encode4(0),
57956 /* 163775 */ /*GILLT_v16s16*//*Label 3570*/ GIMT_Encode4(168952),
57957 /* 163779 */ /*GILLT_v16s32*//*Label 3571*/ GIMT_Encode4(169197), GIMT_Encode4(0), GIMT_Encode4(0),
57958 /* 163791 */ /*GILLT_v32s16*//*Label 3572*/ GIMT_Encode4(169442),
57959 /* 163795 */ // Label 3561: @163795
57960 /* 163795 */ GIM_Try, /*On fail goto*//*Label 3574*/ GIMT_Encode4(164039),
57961 /* 163800 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
57962 /* 163803 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
57963 /* 163806 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s16,
57964 /* 163809 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
57965 /* 163813 */ GIM_Try, /*On fail goto*//*Label 3575*/ GIMT_Encode4(163877), // Rule ID 10158 //
57966 /* 163818 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
57967 /* 163821 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57968 /* 163825 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57969 /* 163829 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57970 /* 163832 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57971 /* 163836 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57972 /* 163840 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
57973 /* 163844 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
57974 /* 163848 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57975 /* 163850 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57976 /* 163857 */ // (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)
57977 /* 163857 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SHZm),
57978 /* 163860 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57979 /* 163862 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57980 /* 163864 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
57981 /* 163866 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57982 /* 163870 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57983 /* 163875 */ GIR_RootConstrainSelectedInstOperands,
57984 /* 163876 */ // GIR_Coverage, 10158,
57985 /* 163876 */ GIR_EraseRootFromParent_Done,
57986 /* 163877 */ // Label 3575: @163877
57987 /* 163877 */ GIM_Try, /*On fail goto*//*Label 3576*/ GIMT_Encode4(163941), // Rule ID 10156 //
57988 /* 163882 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
57989 /* 163885 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
57990 /* 163889 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57991 /* 163893 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57992 /* 163897 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57993 /* 163900 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57994 /* 163904 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57995 /* 163908 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
57996 /* 163912 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57997 /* 163914 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57998 /* 163921 */ // (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)
57999 /* 163921 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SHZm),
58000 /* 163924 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58001 /* 163926 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
58002 /* 163928 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58003 /* 163930 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58004 /* 163934 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58005 /* 163939 */ GIR_RootConstrainSelectedInstOperands,
58006 /* 163940 */ // GIR_Coverage, 10156,
58007 /* 163940 */ GIR_EraseRootFromParent_Done,
58008 /* 163941 */ // Label 3576: @163941
58009 /* 163941 */ GIM_Try, /*On fail goto*//*Label 3577*/ GIMT_Encode4(164005), // Rule ID 10153 //
58010 /* 163946 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
58011 /* 163949 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
58012 /* 163953 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
58013 /* 163957 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58014 /* 163961 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58015 /* 163965 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58016 /* 163968 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58017 /* 163972 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58018 /* 163976 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58019 /* 163978 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58020 /* 163985 */ // (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)
58021 /* 163985 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SHZm),
58022 /* 163988 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58023 /* 163990 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58024 /* 163992 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58025 /* 163994 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58026 /* 163998 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58027 /* 164003 */ GIR_RootConstrainSelectedInstOperands,
58028 /* 164004 */ // GIR_Coverage, 10153,
58029 /* 164004 */ GIR_EraseRootFromParent_Done,
58030 /* 164005 */ // Label 3577: @164005
58031 /* 164005 */ GIM_Try, /*On fail goto*//*Label 3578*/ GIMT_Encode4(164038), // Rule ID 10151 //
58032 /* 164010 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
58033 /* 164013 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
58034 /* 164017 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
58035 /* 164021 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
58036 /* 164025 */ // (fma:{ *:[f16] } FR16X:{ *:[f16] }:$src2, FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src3) => (VFMADD213SHZr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2, FR16X:{ *:[f16] }:$src3)
58037 /* 164025 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SHZr),
58038 /* 164028 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58039 /* 164030 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58040 /* 164032 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58041 /* 164034 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58042 /* 164036 */ GIR_RootConstrainSelectedInstOperands,
58043 /* 164037 */ // GIR_Coverage, 10151,
58044 /* 164037 */ GIR_EraseRootFromParent_Done,
58045 /* 164038 */ // Label 3578: @164038
58046 /* 164038 */ GIM_Reject,
58047 /* 164039 */ // Label 3574: @164039
58048 /* 164039 */ GIM_Reject,
58049 /* 164040 */ // Label 3562: @164040
58050 /* 164040 */ GIM_Try, /*On fail goto*//*Label 3579*/ GIMT_Encode4(164776),
58051 /* 164045 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
58052 /* 164048 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
58053 /* 164051 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
58054 /* 164054 */ GIM_Try, /*On fail goto*//*Label 3580*/ GIMT_Encode4(164122), // Rule ID 1304 //
58055 /* 164059 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
58056 /* 164062 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58057 /* 164066 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58058 /* 164070 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58059 /* 164074 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58060 /* 164077 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58061 /* 164081 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58062 /* 164085 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58063 /* 164089 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58064 /* 164093 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58065 /* 164095 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58066 /* 164102 */ // (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)
58067 /* 164102 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SSm),
58068 /* 164105 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58069 /* 164107 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58070 /* 164109 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
58071 /* 164111 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58072 /* 164115 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58073 /* 164120 */ GIR_RootConstrainSelectedInstOperands,
58074 /* 164121 */ // GIR_Coverage, 1304,
58075 /* 164121 */ GIR_EraseRootFromParent_Done,
58076 /* 164122 */ // Label 3580: @164122
58077 /* 164122 */ GIM_Try, /*On fail goto*//*Label 3581*/ GIMT_Encode4(164190), // Rule ID 10140 //
58078 /* 164127 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
58079 /* 164130 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
58080 /* 164134 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58081 /* 164138 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58082 /* 164142 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58083 /* 164145 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58084 /* 164149 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58085 /* 164153 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
58086 /* 164157 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
58087 /* 164161 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58088 /* 164163 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58089 /* 164170 */ // (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)
58090 /* 164170 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SSZm),
58091 /* 164173 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58092 /* 164175 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58093 /* 164177 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
58094 /* 164179 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58095 /* 164183 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58096 /* 164188 */ GIR_RootConstrainSelectedInstOperands,
58097 /* 164189 */ // GIR_Coverage, 10140,
58098 /* 164189 */ GIR_EraseRootFromParent_Done,
58099 /* 164190 */ // Label 3581: @164190
58100 /* 164190 */ GIM_Try, /*On fail goto*//*Label 3582*/ GIMT_Encode4(164258), // Rule ID 23281 //
58101 /* 164195 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
58102 /* 164198 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58103 /* 164202 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58104 /* 164206 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58105 /* 164210 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58106 /* 164213 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58107 /* 164217 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58108 /* 164221 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58109 /* 164225 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58110 /* 164229 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58111 /* 164231 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58112 /* 164238 */ // (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)
58113 /* 164238 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4mr),
58114 /* 164241 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58115 /* 164243 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58116 /* 164245 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58117 /* 164249 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58118 /* 164251 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58119 /* 164256 */ GIR_RootConstrainSelectedInstOperands,
58120 /* 164257 */ // GIR_Coverage, 23281,
58121 /* 164257 */ GIR_EraseRootFromParent_Done,
58122 /* 164258 */ // Label 3582: @164258
58123 /* 164258 */ GIM_Try, /*On fail goto*//*Label 3583*/ GIMT_Encode4(164326), // Rule ID 1302 //
58124 /* 164263 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
58125 /* 164266 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58126 /* 164270 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58127 /* 164274 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58128 /* 164278 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58129 /* 164282 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58130 /* 164285 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58131 /* 164289 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58132 /* 164293 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58133 /* 164297 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58134 /* 164299 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58135 /* 164306 */ // (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)
58136 /* 164306 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SSm),
58137 /* 164309 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58138 /* 164311 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
58139 /* 164313 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58140 /* 164315 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58141 /* 164319 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58142 /* 164324 */ GIR_RootConstrainSelectedInstOperands,
58143 /* 164325 */ // GIR_Coverage, 1302,
58144 /* 164325 */ GIR_EraseRootFromParent_Done,
58145 /* 164326 */ // Label 3583: @164326
58146 /* 164326 */ GIM_Try, /*On fail goto*//*Label 3584*/ GIMT_Encode4(164394), // Rule ID 1366 //
58147 /* 164331 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
58148 /* 164334 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58149 /* 164338 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58150 /* 164342 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58151 /* 164346 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58152 /* 164350 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58153 /* 164353 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58154 /* 164357 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58155 /* 164361 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58156 /* 164365 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58157 /* 164367 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58158 /* 164374 */ // (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)
58159 /* 164374 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4mr),
58160 /* 164377 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58161 /* 164379 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58162 /* 164381 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58163 /* 164385 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58164 /* 164387 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58165 /* 164392 */ GIR_RootConstrainSelectedInstOperands,
58166 /* 164393 */ // GIR_Coverage, 1366,
58167 /* 164393 */ GIR_EraseRootFromParent_Done,
58168 /* 164394 */ // Label 3584: @164394
58169 /* 164394 */ GIM_Try, /*On fail goto*//*Label 3585*/ GIMT_Encode4(164462), // Rule ID 10138 //
58170 /* 164399 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
58171 /* 164402 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
58172 /* 164406 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
58173 /* 164410 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58174 /* 164414 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58175 /* 164418 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58176 /* 164421 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58177 /* 164425 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58178 /* 164429 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
58179 /* 164433 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58180 /* 164435 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58181 /* 164442 */ // (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)
58182 /* 164442 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SSZm),
58183 /* 164445 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58184 /* 164447 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
58185 /* 164449 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58186 /* 164451 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58187 /* 164455 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58188 /* 164460 */ GIR_RootConstrainSelectedInstOperands,
58189 /* 164461 */ // GIR_Coverage, 10138,
58190 /* 164461 */ GIR_EraseRootFromParent_Done,
58191 /* 164462 */ // Label 3585: @164462
58192 /* 164462 */ GIM_Try, /*On fail goto*//*Label 3586*/ GIMT_Encode4(164530), // Rule ID 1300 //
58193 /* 164467 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
58194 /* 164470 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58195 /* 164474 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58196 /* 164478 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58197 /* 164482 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58198 /* 164486 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58199 /* 164490 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58200 /* 164493 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58201 /* 164497 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58202 /* 164501 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58203 /* 164503 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58204 /* 164510 */ // (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)
58205 /* 164510 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSm),
58206 /* 164513 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58207 /* 164515 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58208 /* 164517 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58209 /* 164519 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58210 /* 164523 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58211 /* 164528 */ GIR_RootConstrainSelectedInstOperands,
58212 /* 164529 */ // GIR_Coverage, 1300,
58213 /* 164529 */ GIR_EraseRootFromParent_Done,
58214 /* 164530 */ // Label 3586: @164530
58215 /* 164530 */ GIM_Try, /*On fail goto*//*Label 3587*/ GIMT_Encode4(164598), // Rule ID 1364 //
58216 /* 164535 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
58217 /* 164538 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58218 /* 164542 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58219 /* 164546 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58220 /* 164550 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58221 /* 164554 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58222 /* 164558 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58223 /* 164561 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58224 /* 164565 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58225 /* 164569 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58226 /* 164571 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58227 /* 164578 */ // (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)
58228 /* 164578 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4rm),
58229 /* 164581 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58230 /* 164583 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58231 /* 164585 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
58232 /* 164587 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58233 /* 164591 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58234 /* 164596 */ GIR_RootConstrainSelectedInstOperands,
58235 /* 164597 */ // GIR_Coverage, 1364,
58236 /* 164597 */ GIR_EraseRootFromParent_Done,
58237 /* 164598 */ // Label 3587: @164598
58238 /* 164598 */ GIM_Try, /*On fail goto*//*Label 3588*/ GIMT_Encode4(164666), // Rule ID 10135 //
58239 /* 164603 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
58240 /* 164606 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
58241 /* 164610 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
58242 /* 164614 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
58243 /* 164618 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58244 /* 164622 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58245 /* 164626 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58246 /* 164629 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58247 /* 164633 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58248 /* 164637 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58249 /* 164639 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58250 /* 164646 */ // (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)
58251 /* 164646 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSZm),
58252 /* 164649 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58253 /* 164651 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58254 /* 164653 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58255 /* 164655 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58256 /* 164659 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58257 /* 164664 */ GIR_RootConstrainSelectedInstOperands,
58258 /* 164665 */ // GIR_Coverage, 10135,
58259 /* 164665 */ GIR_EraseRootFromParent_Done,
58260 /* 164666 */ // Label 3588: @164666
58261 /* 164666 */ GIM_Try, /*On fail goto*//*Label 3589*/ GIMT_Encode4(164703), // Rule ID 1298 //
58262 /* 164671 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
58263 /* 164674 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58264 /* 164678 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58265 /* 164682 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58266 /* 164686 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58267 /* 164690 */ // (fma:{ *:[f32] } FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src3) => (VFMADD213SSr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src3)
58268 /* 164690 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSr),
58269 /* 164693 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58270 /* 164695 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58271 /* 164697 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58272 /* 164699 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58273 /* 164701 */ GIR_RootConstrainSelectedInstOperands,
58274 /* 164702 */ // GIR_Coverage, 1298,
58275 /* 164702 */ GIR_EraseRootFromParent_Done,
58276 /* 164703 */ // Label 3589: @164703
58277 /* 164703 */ GIM_Try, /*On fail goto*//*Label 3590*/ GIMT_Encode4(164738), // Rule ID 1362 //
58278 /* 164708 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
58279 /* 164711 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58280 /* 164715 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58281 /* 164719 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58282 /* 164723 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58283 /* 164727 */ // (fma:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src3) => (VFMADDSS4rr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src3)
58284 /* 164727 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4rr),
58285 /* 164732 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
58286 /* 164736 */ GIR_RootConstrainSelectedInstOperands,
58287 /* 164737 */ // GIR_Coverage, 1362,
58288 /* 164737 */ GIR_Done,
58289 /* 164738 */ // Label 3590: @164738
58290 /* 164738 */ GIM_Try, /*On fail goto*//*Label 3591*/ GIMT_Encode4(164775), // Rule ID 10133 //
58291 /* 164743 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
58292 /* 164746 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
58293 /* 164750 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
58294 /* 164754 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
58295 /* 164758 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
58296 /* 164762 */ // (fma:{ *:[f32] } FR32X:{ *:[f32] }:$src2, FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src3) => (VFMADD213SSZr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2, FR32X:{ *:[f32] }:$src3)
58297 /* 164762 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSZr),
58298 /* 164765 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58299 /* 164767 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58300 /* 164769 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58301 /* 164771 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58302 /* 164773 */ GIR_RootConstrainSelectedInstOperands,
58303 /* 164774 */ // GIR_Coverage, 10133,
58304 /* 164774 */ GIR_EraseRootFromParent_Done,
58305 /* 164775 */ // Label 3591: @164775
58306 /* 164775 */ GIM_Reject,
58307 /* 164776 */ // Label 3579: @164776
58308 /* 164776 */ GIM_Reject,
58309 /* 164777 */ // Label 3563: @164777
58310 /* 164777 */ GIM_Try, /*On fail goto*//*Label 3592*/ GIMT_Encode4(165513),
58311 /* 164782 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
58312 /* 164785 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
58313 /* 164788 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
58314 /* 164791 */ GIM_Try, /*On fail goto*//*Label 3593*/ GIMT_Encode4(164859), // Rule ID 1312 //
58315 /* 164796 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
58316 /* 164799 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58317 /* 164803 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58318 /* 164807 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58319 /* 164811 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58320 /* 164814 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58321 /* 164818 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58322 /* 164822 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58323 /* 164826 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58324 /* 164830 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58325 /* 164832 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58326 /* 164839 */ // (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)
58327 /* 164839 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SDm),
58328 /* 164842 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58329 /* 164844 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58330 /* 164846 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
58331 /* 164848 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58332 /* 164852 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58333 /* 164857 */ GIR_RootConstrainSelectedInstOperands,
58334 /* 164858 */ // GIR_Coverage, 1312,
58335 /* 164858 */ GIR_EraseRootFromParent_Done,
58336 /* 164859 */ // Label 3593: @164859
58337 /* 164859 */ GIM_Try, /*On fail goto*//*Label 3594*/ GIMT_Encode4(164927), // Rule ID 10149 //
58338 /* 164864 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
58339 /* 164867 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58340 /* 164871 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58341 /* 164875 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58342 /* 164879 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58343 /* 164882 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58344 /* 164886 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58345 /* 164890 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58346 /* 164894 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58347 /* 164898 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58348 /* 164900 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58349 /* 164907 */ // (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)
58350 /* 164907 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SDZm),
58351 /* 164910 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58352 /* 164912 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58353 /* 164914 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
58354 /* 164916 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58355 /* 164920 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58356 /* 164925 */ GIR_RootConstrainSelectedInstOperands,
58357 /* 164926 */ // GIR_Coverage, 10149,
58358 /* 164926 */ GIR_EraseRootFromParent_Done,
58359 /* 164927 */ // Label 3594: @164927
58360 /* 164927 */ GIM_Try, /*On fail goto*//*Label 3595*/ GIMT_Encode4(164995), // Rule ID 23309 //
58361 /* 164932 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
58362 /* 164935 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58363 /* 164939 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58364 /* 164943 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58365 /* 164947 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58366 /* 164950 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58367 /* 164954 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58368 /* 164958 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58369 /* 164962 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58370 /* 164966 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58371 /* 164968 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58372 /* 164975 */ // (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)
58373 /* 164975 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4mr),
58374 /* 164978 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58375 /* 164980 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58376 /* 164982 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58377 /* 164986 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58378 /* 164988 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58379 /* 164993 */ GIR_RootConstrainSelectedInstOperands,
58380 /* 164994 */ // GIR_Coverage, 23309,
58381 /* 164994 */ GIR_EraseRootFromParent_Done,
58382 /* 164995 */ // Label 3595: @164995
58383 /* 164995 */ GIM_Try, /*On fail goto*//*Label 3596*/ GIMT_Encode4(165063), // Rule ID 1310 //
58384 /* 165000 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
58385 /* 165003 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58386 /* 165007 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58387 /* 165011 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58388 /* 165015 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58389 /* 165019 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58390 /* 165022 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58391 /* 165026 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58392 /* 165030 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58393 /* 165034 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58394 /* 165036 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58395 /* 165043 */ // (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)
58396 /* 165043 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SDm),
58397 /* 165046 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58398 /* 165048 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
58399 /* 165050 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58400 /* 165052 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58401 /* 165056 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58402 /* 165061 */ GIR_RootConstrainSelectedInstOperands,
58403 /* 165062 */ // GIR_Coverage, 1310,
58404 /* 165062 */ GIR_EraseRootFromParent_Done,
58405 /* 165063 */ // Label 3596: @165063
58406 /* 165063 */ GIM_Try, /*On fail goto*//*Label 3597*/ GIMT_Encode4(165131), // Rule ID 1450 //
58407 /* 165068 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
58408 /* 165071 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58409 /* 165075 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58410 /* 165079 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58411 /* 165083 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58412 /* 165087 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58413 /* 165090 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58414 /* 165094 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58415 /* 165098 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58416 /* 165102 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58417 /* 165104 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58418 /* 165111 */ // (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)
58419 /* 165111 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4mr),
58420 /* 165114 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58421 /* 165116 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58422 /* 165118 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58423 /* 165122 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58424 /* 165124 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58425 /* 165129 */ GIR_RootConstrainSelectedInstOperands,
58426 /* 165130 */ // GIR_Coverage, 1450,
58427 /* 165130 */ GIR_EraseRootFromParent_Done,
58428 /* 165131 */ // Label 3597: @165131
58429 /* 165131 */ GIM_Try, /*On fail goto*//*Label 3598*/ GIMT_Encode4(165199), // Rule ID 10147 //
58430 /* 165136 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
58431 /* 165139 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58432 /* 165143 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58433 /* 165147 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58434 /* 165151 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58435 /* 165155 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58436 /* 165158 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58437 /* 165162 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58438 /* 165166 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58439 /* 165170 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58440 /* 165172 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58441 /* 165179 */ // (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)
58442 /* 165179 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SDZm),
58443 /* 165182 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58444 /* 165184 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
58445 /* 165186 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58446 /* 165188 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58447 /* 165192 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58448 /* 165197 */ GIR_RootConstrainSelectedInstOperands,
58449 /* 165198 */ // GIR_Coverage, 10147,
58450 /* 165198 */ GIR_EraseRootFromParent_Done,
58451 /* 165199 */ // Label 3598: @165199
58452 /* 165199 */ GIM_Try, /*On fail goto*//*Label 3599*/ GIMT_Encode4(165267), // Rule ID 1308 //
58453 /* 165204 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
58454 /* 165207 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58455 /* 165211 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58456 /* 165215 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58457 /* 165219 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58458 /* 165223 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58459 /* 165227 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58460 /* 165230 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58461 /* 165234 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58462 /* 165238 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58463 /* 165240 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58464 /* 165247 */ // (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)
58465 /* 165247 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDm),
58466 /* 165250 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58467 /* 165252 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58468 /* 165254 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58469 /* 165256 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58470 /* 165260 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58471 /* 165265 */ GIR_RootConstrainSelectedInstOperands,
58472 /* 165266 */ // GIR_Coverage, 1308,
58473 /* 165266 */ GIR_EraseRootFromParent_Done,
58474 /* 165267 */ // Label 3599: @165267
58475 /* 165267 */ GIM_Try, /*On fail goto*//*Label 3600*/ GIMT_Encode4(165335), // Rule ID 1448 //
58476 /* 165272 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
58477 /* 165275 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58478 /* 165279 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58479 /* 165283 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58480 /* 165287 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58481 /* 165291 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58482 /* 165295 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58483 /* 165298 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58484 /* 165302 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58485 /* 165306 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58486 /* 165308 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58487 /* 165315 */ // (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)
58488 /* 165315 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4rm),
58489 /* 165318 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58490 /* 165320 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58491 /* 165322 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
58492 /* 165324 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58493 /* 165328 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58494 /* 165333 */ GIR_RootConstrainSelectedInstOperands,
58495 /* 165334 */ // GIR_Coverage, 1448,
58496 /* 165334 */ GIR_EraseRootFromParent_Done,
58497 /* 165335 */ // Label 3600: @165335
58498 /* 165335 */ GIM_Try, /*On fail goto*//*Label 3601*/ GIMT_Encode4(165403), // Rule ID 10144 //
58499 /* 165340 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
58500 /* 165343 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58501 /* 165347 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58502 /* 165351 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58503 /* 165355 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58504 /* 165359 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58505 /* 165363 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58506 /* 165366 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58507 /* 165370 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58508 /* 165374 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58509 /* 165376 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58510 /* 165383 */ // (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)
58511 /* 165383 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDZm),
58512 /* 165386 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58513 /* 165388 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58514 /* 165390 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58515 /* 165392 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58516 /* 165396 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58517 /* 165401 */ GIR_RootConstrainSelectedInstOperands,
58518 /* 165402 */ // GIR_Coverage, 10144,
58519 /* 165402 */ GIR_EraseRootFromParent_Done,
58520 /* 165403 */ // Label 3601: @165403
58521 /* 165403 */ GIM_Try, /*On fail goto*//*Label 3602*/ GIMT_Encode4(165440), // Rule ID 1306 //
58522 /* 165408 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
58523 /* 165411 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58524 /* 165415 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58525 /* 165419 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58526 /* 165423 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58527 /* 165427 */ // (fma:{ *:[f64] } FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src3) => (VFMADD213SDr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src3)
58528 /* 165427 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDr),
58529 /* 165430 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58530 /* 165432 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58531 /* 165434 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58532 /* 165436 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58533 /* 165438 */ GIR_RootConstrainSelectedInstOperands,
58534 /* 165439 */ // GIR_Coverage, 1306,
58535 /* 165439 */ GIR_EraseRootFromParent_Done,
58536 /* 165440 */ // Label 3602: @165440
58537 /* 165440 */ GIM_Try, /*On fail goto*//*Label 3603*/ GIMT_Encode4(165475), // Rule ID 1446 //
58538 /* 165445 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
58539 /* 165448 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58540 /* 165452 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58541 /* 165456 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58542 /* 165460 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58543 /* 165464 */ // (fma:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src3) => (VFMADDSD4rr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src3)
58544 /* 165464 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4rr),
58545 /* 165469 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
58546 /* 165473 */ GIR_RootConstrainSelectedInstOperands,
58547 /* 165474 */ // GIR_Coverage, 1446,
58548 /* 165474 */ GIR_Done,
58549 /* 165475 */ // Label 3603: @165475
58550 /* 165475 */ GIM_Try, /*On fail goto*//*Label 3604*/ GIMT_Encode4(165512), // Rule ID 10142 //
58551 /* 165480 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
58552 /* 165483 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58553 /* 165487 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58554 /* 165491 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58555 /* 165495 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58556 /* 165499 */ // (fma:{ *:[f64] } FR64X:{ *:[f64] }:$src2, FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src3) => (VFMADD213SDZr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2, FR64X:{ *:[f64] }:$src3)
58557 /* 165499 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDZr),
58558 /* 165502 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58559 /* 165504 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58560 /* 165506 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58561 /* 165508 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58562 /* 165510 */ GIR_RootConstrainSelectedInstOperands,
58563 /* 165511 */ // GIR_Coverage, 10142,
58564 /* 165511 */ GIR_EraseRootFromParent_Done,
58565 /* 165512 */ // Label 3604: @165512
58566 /* 165512 */ GIM_Reject,
58567 /* 165513 */ // Label 3592: @165513
58568 /* 165513 */ GIM_Reject,
58569 /* 165514 */ // Label 3564: @165514
58570 /* 165514 */ GIM_Try, /*On fail goto*//*Label 3605*/ GIMT_Encode4(166250),
58571 /* 165519 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
58572 /* 165522 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
58573 /* 165525 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
58574 /* 165528 */ GIM_Try, /*On fail goto*//*Label 3606*/ GIMT_Encode4(165596), // Rule ID 1192 //
58575 /* 165533 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
58576 /* 165536 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58577 /* 165540 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58578 /* 165544 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58579 /* 165548 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58580 /* 165551 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58581 /* 165555 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58582 /* 165559 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58583 /* 165563 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58584 /* 165567 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58585 /* 165569 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58586 /* 165576 */ // (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)
58587 /* 165576 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDm),
58588 /* 165579 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58589 /* 165581 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58590 /* 165583 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
58591 /* 165585 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58592 /* 165589 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58593 /* 165594 */ GIR_RootConstrainSelectedInstOperands,
58594 /* 165595 */ // GIR_Coverage, 1192,
58595 /* 165595 */ GIR_EraseRootFromParent_Done,
58596 /* 165596 */ // Label 3606: @165596
58597 /* 165596 */ GIM_Try, /*On fail goto*//*Label 3607*/ GIMT_Encode4(165664), // Rule ID 9681 //
58598 /* 165601 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
58599 /* 165604 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58600 /* 165608 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58601 /* 165612 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58602 /* 165616 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58603 /* 165619 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58604 /* 165623 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58605 /* 165627 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58606 /* 165631 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58607 /* 165635 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58608 /* 165637 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58609 /* 165644 */ // (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)
58610 /* 165644 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDZ128m),
58611 /* 165647 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58612 /* 165649 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58613 /* 165651 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
58614 /* 165653 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58615 /* 165657 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58616 /* 165662 */ GIR_RootConstrainSelectedInstOperands,
58617 /* 165663 */ // GIR_Coverage, 9681,
58618 /* 165663 */ GIR_EraseRootFromParent_Done,
58619 /* 165664 */ // Label 3607: @165664
58620 /* 165664 */ GIM_Try, /*On fail goto*//*Label 3608*/ GIMT_Encode4(165732), // Rule ID 23317 //
58621 /* 165669 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
58622 /* 165672 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58623 /* 165676 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58624 /* 165680 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58625 /* 165684 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58626 /* 165687 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58627 /* 165691 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58628 /* 165695 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58629 /* 165699 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58630 /* 165703 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58631 /* 165705 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58632 /* 165712 */ // (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)
58633 /* 165712 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4mr),
58634 /* 165715 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58635 /* 165717 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58636 /* 165719 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58637 /* 165723 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58638 /* 165725 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58639 /* 165730 */ GIR_RootConstrainSelectedInstOperands,
58640 /* 165731 */ // GIR_Coverage, 23317,
58641 /* 165731 */ GIR_EraseRootFromParent_Done,
58642 /* 165732 */ // Label 3608: @165732
58643 /* 165732 */ GIM_Try, /*On fail goto*//*Label 3609*/ GIMT_Encode4(165800), // Rule ID 1190 //
58644 /* 165737 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
58645 /* 165740 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58646 /* 165744 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58647 /* 165748 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58648 /* 165752 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58649 /* 165756 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58650 /* 165759 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58651 /* 165763 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58652 /* 165767 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58653 /* 165771 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58654 /* 165773 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58655 /* 165780 */ // (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)
58656 /* 165780 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDm),
58657 /* 165783 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58658 /* 165785 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
58659 /* 165787 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58660 /* 165789 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58661 /* 165793 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58662 /* 165798 */ GIR_RootConstrainSelectedInstOperands,
58663 /* 165799 */ // GIR_Coverage, 1190,
58664 /* 165799 */ GIR_EraseRootFromParent_Done,
58665 /* 165800 */ // Label 3609: @165800
58666 /* 165800 */ GIM_Try, /*On fail goto*//*Label 3610*/ GIMT_Encode4(165868), // Rule ID 1474 //
58667 /* 165805 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
58668 /* 165808 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58669 /* 165812 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58670 /* 165816 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58671 /* 165820 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58672 /* 165824 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58673 /* 165827 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58674 /* 165831 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58675 /* 165835 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58676 /* 165839 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58677 /* 165841 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58678 /* 165848 */ // (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)
58679 /* 165848 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4mr),
58680 /* 165851 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58681 /* 165853 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58682 /* 165855 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58683 /* 165859 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58684 /* 165861 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58685 /* 165866 */ GIR_RootConstrainSelectedInstOperands,
58686 /* 165867 */ // GIR_Coverage, 1474,
58687 /* 165867 */ GIR_EraseRootFromParent_Done,
58688 /* 165868 */ // Label 3610: @165868
58689 /* 165868 */ GIM_Try, /*On fail goto*//*Label 3611*/ GIMT_Encode4(165936), // Rule ID 9141 //
58690 /* 165873 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
58691 /* 165876 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58692 /* 165880 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58693 /* 165884 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58694 /* 165888 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58695 /* 165892 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58696 /* 165895 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58697 /* 165899 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58698 /* 165903 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58699 /* 165907 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58700 /* 165909 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58701 /* 165916 */ // (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)
58702 /* 165916 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDZ128m),
58703 /* 165919 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58704 /* 165921 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
58705 /* 165923 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58706 /* 165925 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58707 /* 165929 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58708 /* 165934 */ GIR_RootConstrainSelectedInstOperands,
58709 /* 165935 */ // GIR_Coverage, 9141,
58710 /* 165935 */ GIR_EraseRootFromParent_Done,
58711 /* 165936 */ // Label 3611: @165936
58712 /* 165936 */ GIM_Try, /*On fail goto*//*Label 3612*/ GIMT_Encode4(166004), // Rule ID 1188 //
58713 /* 165941 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
58714 /* 165944 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58715 /* 165948 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58716 /* 165952 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58717 /* 165956 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58718 /* 165960 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58719 /* 165964 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58720 /* 165967 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58721 /* 165971 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58722 /* 165975 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58723 /* 165977 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58724 /* 165984 */ // (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)
58725 /* 165984 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDm),
58726 /* 165987 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58727 /* 165989 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58728 /* 165991 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58729 /* 165993 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58730 /* 165997 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58731 /* 166002 */ GIR_RootConstrainSelectedInstOperands,
58732 /* 166003 */ // GIR_Coverage, 1188,
58733 /* 166003 */ GIR_EraseRootFromParent_Done,
58734 /* 166004 */ // Label 3612: @166004
58735 /* 166004 */ GIM_Try, /*On fail goto*//*Label 3613*/ GIMT_Encode4(166072), // Rule ID 1472 //
58736 /* 166009 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
58737 /* 166012 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58738 /* 166016 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58739 /* 166020 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58740 /* 166024 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58741 /* 166028 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58742 /* 166032 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58743 /* 166035 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58744 /* 166039 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58745 /* 166043 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58746 /* 166045 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58747 /* 166052 */ // (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)
58748 /* 166052 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4rm),
58749 /* 166055 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58750 /* 166057 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58751 /* 166059 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
58752 /* 166061 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58753 /* 166065 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58754 /* 166070 */ GIR_RootConstrainSelectedInstOperands,
58755 /* 166071 */ // GIR_Coverage, 1472,
58756 /* 166071 */ GIR_EraseRootFromParent_Done,
58757 /* 166072 */ // Label 3613: @166072
58758 /* 166072 */ GIM_Try, /*On fail goto*//*Label 3614*/ GIMT_Encode4(166140), // Rule ID 8514 //
58759 /* 166077 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
58760 /* 166080 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58761 /* 166084 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58762 /* 166088 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58763 /* 166092 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58764 /* 166096 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58765 /* 166100 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58766 /* 166103 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58767 /* 166107 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58768 /* 166111 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58769 /* 166113 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58770 /* 166120 */ // (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)
58771 /* 166120 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ128m),
58772 /* 166123 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58773 /* 166125 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58774 /* 166127 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58775 /* 166129 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58776 /* 166133 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58777 /* 166138 */ GIR_RootConstrainSelectedInstOperands,
58778 /* 166139 */ // GIR_Coverage, 8514,
58779 /* 166139 */ GIR_EraseRootFromParent_Done,
58780 /* 166140 */ // Label 3614: @166140
58781 /* 166140 */ GIM_Try, /*On fail goto*//*Label 3615*/ GIMT_Encode4(166177), // Rule ID 1186 //
58782 /* 166145 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
58783 /* 166148 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58784 /* 166152 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58785 /* 166156 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58786 /* 166160 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58787 /* 166164 */ // (fma:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src3) => (VFMADD213PDr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src3)
58788 /* 166164 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDr),
58789 /* 166167 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58790 /* 166169 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58791 /* 166171 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58792 /* 166173 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58793 /* 166175 */ GIR_RootConstrainSelectedInstOperands,
58794 /* 166176 */ // GIR_Coverage, 1186,
58795 /* 166176 */ GIR_EraseRootFromParent_Done,
58796 /* 166177 */ // Label 3615: @166177
58797 /* 166177 */ GIM_Try, /*On fail goto*//*Label 3616*/ GIMT_Encode4(166212), // Rule ID 1470 //
58798 /* 166182 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
58799 /* 166185 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58800 /* 166189 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58801 /* 166193 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58802 /* 166197 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58803 /* 166201 */ // (fma:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src3) => (VFMADDPD4rr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src3)
58804 /* 166201 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4rr),
58805 /* 166206 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
58806 /* 166210 */ GIR_RootConstrainSelectedInstOperands,
58807 /* 166211 */ // GIR_Coverage, 1470,
58808 /* 166211 */ GIR_Done,
58809 /* 166212 */ // Label 3616: @166212
58810 /* 166212 */ GIM_Try, /*On fail goto*//*Label 3617*/ GIMT_Encode4(166249), // Rule ID 8510 //
58811 /* 166217 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
58812 /* 166220 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58813 /* 166224 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58814 /* 166228 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58815 /* 166232 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58816 /* 166236 */ // (fma:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src2, VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src3) => (VFMADD213PDZ128r:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2, VR128X:{ *:[v2f64] }:$src3)
58817 /* 166236 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ128r),
58818 /* 166239 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58819 /* 166241 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58820 /* 166243 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58821 /* 166245 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58822 /* 166247 */ GIR_RootConstrainSelectedInstOperands,
58823 /* 166248 */ // GIR_Coverage, 8510,
58824 /* 166248 */ GIR_EraseRootFromParent_Done,
58825 /* 166249 */ // Label 3617: @166249
58826 /* 166249 */ GIM_Reject,
58827 /* 166250 */ // Label 3605: @166250
58828 /* 166250 */ GIM_Reject,
58829 /* 166251 */ // Label 3565: @166251
58830 /* 166251 */ GIM_Try, /*On fail goto*//*Label 3618*/ GIMT_Encode4(166987),
58831 /* 166256 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
58832 /* 166259 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
58833 /* 166262 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
58834 /* 166265 */ GIM_Try, /*On fail goto*//*Label 3619*/ GIMT_Encode4(166333), // Rule ID 1144 //
58835 /* 166270 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
58836 /* 166273 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58837 /* 166277 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58838 /* 166281 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58839 /* 166285 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58840 /* 166288 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58841 /* 166292 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58842 /* 166296 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58843 /* 166300 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58844 /* 166304 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58845 /* 166306 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58846 /* 166313 */ // (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)
58847 /* 166313 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSm),
58848 /* 166316 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58849 /* 166318 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58850 /* 166320 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
58851 /* 166322 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58852 /* 166326 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58853 /* 166331 */ GIR_RootConstrainSelectedInstOperands,
58854 /* 166332 */ // GIR_Coverage, 1144,
58855 /* 166332 */ GIR_EraseRootFromParent_Done,
58856 /* 166333 */ // Label 3619: @166333
58857 /* 166333 */ GIM_Try, /*On fail goto*//*Label 3620*/ GIMT_Encode4(166401), // Rule ID 9649 //
58858 /* 166338 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
58859 /* 166341 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58860 /* 166345 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58861 /* 166349 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58862 /* 166353 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58863 /* 166356 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58864 /* 166360 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58865 /* 166364 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58866 /* 166368 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58867 /* 166372 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58868 /* 166374 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58869 /* 166381 */ // (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)
58870 /* 166381 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSZ128m),
58871 /* 166384 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58872 /* 166386 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58873 /* 166388 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
58874 /* 166390 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58875 /* 166394 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58876 /* 166399 */ GIR_RootConstrainSelectedInstOperands,
58877 /* 166400 */ // GIR_Coverage, 9649,
58878 /* 166400 */ GIR_EraseRootFromParent_Done,
58879 /* 166401 */ // Label 3620: @166401
58880 /* 166401 */ GIM_Try, /*On fail goto*//*Label 3621*/ GIMT_Encode4(166469), // Rule ID 23289 //
58881 /* 166406 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
58882 /* 166409 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58883 /* 166413 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58884 /* 166417 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58885 /* 166421 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58886 /* 166424 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58887 /* 166428 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58888 /* 166432 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58889 /* 166436 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58890 /* 166440 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58891 /* 166442 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58892 /* 166449 */ // (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)
58893 /* 166449 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4mr),
58894 /* 166452 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58895 /* 166454 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58896 /* 166456 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58897 /* 166460 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58898 /* 166462 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58899 /* 166467 */ GIR_RootConstrainSelectedInstOperands,
58900 /* 166468 */ // GIR_Coverage, 23289,
58901 /* 166468 */ GIR_EraseRootFromParent_Done,
58902 /* 166469 */ // Label 3621: @166469
58903 /* 166469 */ GIM_Try, /*On fail goto*//*Label 3622*/ GIMT_Encode4(166537), // Rule ID 1142 //
58904 /* 166474 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
58905 /* 166477 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58906 /* 166481 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58907 /* 166485 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58908 /* 166489 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58909 /* 166493 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58910 /* 166496 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58911 /* 166500 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58912 /* 166504 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58913 /* 166508 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58914 /* 166510 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58915 /* 166517 */ // (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)
58916 /* 166517 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSm),
58917 /* 166520 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58918 /* 166522 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
58919 /* 166524 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58920 /* 166526 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58921 /* 166530 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58922 /* 166535 */ GIR_RootConstrainSelectedInstOperands,
58923 /* 166536 */ // GIR_Coverage, 1142,
58924 /* 166536 */ GIR_EraseRootFromParent_Done,
58925 /* 166537 */ // Label 3622: @166537
58926 /* 166537 */ GIM_Try, /*On fail goto*//*Label 3623*/ GIMT_Encode4(166605), // Rule ID 1390 //
58927 /* 166542 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
58928 /* 166545 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58929 /* 166549 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58930 /* 166553 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58931 /* 166557 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58932 /* 166561 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58933 /* 166564 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58934 /* 166568 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58935 /* 166572 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58936 /* 166576 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58937 /* 166578 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58938 /* 166585 */ // (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)
58939 /* 166585 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4mr),
58940 /* 166588 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58941 /* 166590 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58942 /* 166592 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58943 /* 166596 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58944 /* 166598 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58945 /* 166603 */ GIR_RootConstrainSelectedInstOperands,
58946 /* 166604 */ // GIR_Coverage, 1390,
58947 /* 166604 */ GIR_EraseRootFromParent_Done,
58948 /* 166605 */ // Label 3623: @166605
58949 /* 166605 */ GIM_Try, /*On fail goto*//*Label 3624*/ GIMT_Encode4(166673), // Rule ID 9109 //
58950 /* 166610 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
58951 /* 166613 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58952 /* 166617 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58953 /* 166621 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58954 /* 166625 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58955 /* 166629 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58956 /* 166632 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58957 /* 166636 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58958 /* 166640 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58959 /* 166644 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58960 /* 166646 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58961 /* 166653 */ // (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)
58962 /* 166653 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSZ128m),
58963 /* 166656 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58964 /* 166658 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
58965 /* 166660 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58966 /* 166662 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58967 /* 166666 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58968 /* 166671 */ GIR_RootConstrainSelectedInstOperands,
58969 /* 166672 */ // GIR_Coverage, 9109,
58970 /* 166672 */ GIR_EraseRootFromParent_Done,
58971 /* 166673 */ // Label 3624: @166673
58972 /* 166673 */ GIM_Try, /*On fail goto*//*Label 3625*/ GIMT_Encode4(166741), // Rule ID 1140 //
58973 /* 166678 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
58974 /* 166681 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58975 /* 166685 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58976 /* 166689 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58977 /* 166693 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58978 /* 166697 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58979 /* 166701 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58980 /* 166704 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58981 /* 166708 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58982 /* 166712 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58983 /* 166714 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58984 /* 166721 */ // (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)
58985 /* 166721 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSm),
58986 /* 166724 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58987 /* 166726 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58988 /* 166728 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58989 /* 166730 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58990 /* 166734 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58991 /* 166739 */ GIR_RootConstrainSelectedInstOperands,
58992 /* 166740 */ // GIR_Coverage, 1140,
58993 /* 166740 */ GIR_EraseRootFromParent_Done,
58994 /* 166741 */ // Label 3625: @166741
58995 /* 166741 */ GIM_Try, /*On fail goto*//*Label 3626*/ GIMT_Encode4(166809), // Rule ID 1388 //
58996 /* 166746 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
58997 /* 166749 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58998 /* 166753 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58999 /* 166757 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59000 /* 166761 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59001 /* 166765 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59002 /* 166769 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59003 /* 166772 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59004 /* 166776 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59005 /* 166780 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59006 /* 166782 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59007 /* 166789 */ // (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)
59008 /* 166789 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4rm),
59009 /* 166792 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59010 /* 166794 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59011 /* 166796 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
59012 /* 166798 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59013 /* 166802 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59014 /* 166807 */ GIR_RootConstrainSelectedInstOperands,
59015 /* 166808 */ // GIR_Coverage, 1388,
59016 /* 166808 */ GIR_EraseRootFromParent_Done,
59017 /* 166809 */ // Label 3626: @166809
59018 /* 166809 */ GIM_Try, /*On fail goto*//*Label 3627*/ GIMT_Encode4(166877), // Rule ID 8475 //
59019 /* 166814 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
59020 /* 166817 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59021 /* 166821 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59022 /* 166825 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59023 /* 166829 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59024 /* 166833 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59025 /* 166837 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59026 /* 166840 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59027 /* 166844 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59028 /* 166848 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59029 /* 166850 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59030 /* 166857 */ // (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)
59031 /* 166857 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ128m),
59032 /* 166860 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59033 /* 166862 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59034 /* 166864 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59035 /* 166866 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59036 /* 166870 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59037 /* 166875 */ GIR_RootConstrainSelectedInstOperands,
59038 /* 166876 */ // GIR_Coverage, 8475,
59039 /* 166876 */ GIR_EraseRootFromParent_Done,
59040 /* 166877 */ // Label 3627: @166877
59041 /* 166877 */ GIM_Try, /*On fail goto*//*Label 3628*/ GIMT_Encode4(166914), // Rule ID 1138 //
59042 /* 166882 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
59043 /* 166885 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59044 /* 166889 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59045 /* 166893 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59046 /* 166897 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59047 /* 166901 */ // (fma:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src3) => (VFMADD213PSr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src3)
59048 /* 166901 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSr),
59049 /* 166904 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59050 /* 166906 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59051 /* 166908 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59052 /* 166910 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59053 /* 166912 */ GIR_RootConstrainSelectedInstOperands,
59054 /* 166913 */ // GIR_Coverage, 1138,
59055 /* 166913 */ GIR_EraseRootFromParent_Done,
59056 /* 166914 */ // Label 3628: @166914
59057 /* 166914 */ GIM_Try, /*On fail goto*//*Label 3629*/ GIMT_Encode4(166949), // Rule ID 1386 //
59058 /* 166919 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
59059 /* 166922 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59060 /* 166926 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59061 /* 166930 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59062 /* 166934 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59063 /* 166938 */ // (fma:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src3) => (VFMADDPS4rr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src3)
59064 /* 166938 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4rr),
59065 /* 166943 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59066 /* 166947 */ GIR_RootConstrainSelectedInstOperands,
59067 /* 166948 */ // GIR_Coverage, 1386,
59068 /* 166948 */ GIR_Done,
59069 /* 166949 */ // Label 3629: @166949
59070 /* 166949 */ GIM_Try, /*On fail goto*//*Label 3630*/ GIMT_Encode4(166986), // Rule ID 8471 //
59071 /* 166954 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
59072 /* 166957 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59073 /* 166961 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59074 /* 166965 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59075 /* 166969 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59076 /* 166973 */ // (fma:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src2, VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src3) => (VFMADD213PSZ128r:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2, VR128X:{ *:[v4f32] }:$src3)
59077 /* 166973 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ128r),
59078 /* 166976 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59079 /* 166978 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59080 /* 166980 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59081 /* 166982 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59082 /* 166984 */ GIR_RootConstrainSelectedInstOperands,
59083 /* 166985 */ // GIR_Coverage, 8471,
59084 /* 166985 */ GIR_EraseRootFromParent_Done,
59085 /* 166986 */ // Label 3630: @166986
59086 /* 166986 */ GIM_Reject,
59087 /* 166987 */ // Label 3618: @166987
59088 /* 166987 */ GIM_Reject,
59089 /* 166988 */ // Label 3566: @166988
59090 /* 166988 */ GIM_Try, /*On fail goto*//*Label 3631*/ GIMT_Encode4(167724),
59091 /* 166993 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
59092 /* 166996 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
59093 /* 166999 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
59094 /* 167002 */ GIM_Try, /*On fail goto*//*Label 3632*/ GIMT_Encode4(167070), // Rule ID 1200 //
59095 /* 167007 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
59096 /* 167010 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59097 /* 167014 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59098 /* 167018 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59099 /* 167022 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59100 /* 167025 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59101 /* 167029 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59102 /* 167033 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59103 /* 167037 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59104 /* 167041 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59105 /* 167043 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59106 /* 167050 */ // (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)
59107 /* 167050 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDYm),
59108 /* 167053 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59109 /* 167055 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59110 /* 167057 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
59111 /* 167059 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59112 /* 167063 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59113 /* 167068 */ GIR_RootConstrainSelectedInstOperands,
59114 /* 167069 */ // GIR_Coverage, 1200,
59115 /* 167069 */ GIR_EraseRootFromParent_Done,
59116 /* 167070 */ // Label 3632: @167070
59117 /* 167070 */ GIM_Try, /*On fail goto*//*Label 3633*/ GIMT_Encode4(167138), // Rule ID 9671 //
59118 /* 167075 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
59119 /* 167078 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59120 /* 167082 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59121 /* 167086 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59122 /* 167090 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59123 /* 167093 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59124 /* 167097 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59125 /* 167101 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59126 /* 167105 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59127 /* 167109 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59128 /* 167111 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59129 /* 167118 */ // (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)
59130 /* 167118 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDZ256m),
59131 /* 167121 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59132 /* 167123 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59133 /* 167125 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
59134 /* 167127 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59135 /* 167131 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59136 /* 167136 */ GIR_RootConstrainSelectedInstOperands,
59137 /* 167137 */ // GIR_Coverage, 9671,
59138 /* 167137 */ GIR_EraseRootFromParent_Done,
59139 /* 167138 */ // Label 3633: @167138
59140 /* 167138 */ GIM_Try, /*On fail goto*//*Label 3634*/ GIMT_Encode4(167206), // Rule ID 23319 //
59141 /* 167143 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
59142 /* 167146 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59143 /* 167150 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59144 /* 167154 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59145 /* 167158 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59146 /* 167161 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59147 /* 167165 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59148 /* 167169 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59149 /* 167173 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59150 /* 167177 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59151 /* 167179 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59152 /* 167186 */ // (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)
59153 /* 167186 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Ymr),
59154 /* 167189 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59155 /* 167191 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59156 /* 167193 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59157 /* 167197 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59158 /* 167199 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59159 /* 167204 */ GIR_RootConstrainSelectedInstOperands,
59160 /* 167205 */ // GIR_Coverage, 23319,
59161 /* 167205 */ GIR_EraseRootFromParent_Done,
59162 /* 167206 */ // Label 3634: @167206
59163 /* 167206 */ GIM_Try, /*On fail goto*//*Label 3635*/ GIMT_Encode4(167274), // Rule ID 1198 //
59164 /* 167211 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
59165 /* 167214 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59166 /* 167218 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59167 /* 167222 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59168 /* 167226 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59169 /* 167230 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59170 /* 167233 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59171 /* 167237 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59172 /* 167241 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59173 /* 167245 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59174 /* 167247 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59175 /* 167254 */ // (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)
59176 /* 167254 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDYm),
59177 /* 167257 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59178 /* 167259 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
59179 /* 167261 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59180 /* 167263 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59181 /* 167267 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59182 /* 167272 */ GIR_RootConstrainSelectedInstOperands,
59183 /* 167273 */ // GIR_Coverage, 1198,
59184 /* 167273 */ GIR_EraseRootFromParent_Done,
59185 /* 167274 */ // Label 3635: @167274
59186 /* 167274 */ GIM_Try, /*On fail goto*//*Label 3636*/ GIMT_Encode4(167342), // Rule ID 1480 //
59187 /* 167279 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
59188 /* 167282 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59189 /* 167286 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59190 /* 167290 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59191 /* 167294 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59192 /* 167298 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59193 /* 167301 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59194 /* 167305 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59195 /* 167309 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59196 /* 167313 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59197 /* 167315 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59198 /* 167322 */ // (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)
59199 /* 167322 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Ymr),
59200 /* 167325 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59201 /* 167327 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59202 /* 167329 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59203 /* 167333 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59204 /* 167335 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59205 /* 167340 */ GIR_RootConstrainSelectedInstOperands,
59206 /* 167341 */ // GIR_Coverage, 1480,
59207 /* 167341 */ GIR_EraseRootFromParent_Done,
59208 /* 167342 */ // Label 3636: @167342
59209 /* 167342 */ GIM_Try, /*On fail goto*//*Label 3637*/ GIMT_Encode4(167410), // Rule ID 9131 //
59210 /* 167347 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
59211 /* 167350 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59212 /* 167354 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59213 /* 167358 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59214 /* 167362 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59215 /* 167366 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59216 /* 167369 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59217 /* 167373 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59218 /* 167377 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59219 /* 167381 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59220 /* 167383 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59221 /* 167390 */ // (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)
59222 /* 167390 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDZ256m),
59223 /* 167393 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59224 /* 167395 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
59225 /* 167397 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59226 /* 167399 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59227 /* 167403 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59228 /* 167408 */ GIR_RootConstrainSelectedInstOperands,
59229 /* 167409 */ // GIR_Coverage, 9131,
59230 /* 167409 */ GIR_EraseRootFromParent_Done,
59231 /* 167410 */ // Label 3637: @167410
59232 /* 167410 */ GIM_Try, /*On fail goto*//*Label 3638*/ GIMT_Encode4(167478), // Rule ID 1196 //
59233 /* 167415 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
59234 /* 167418 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59235 /* 167422 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59236 /* 167426 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59237 /* 167430 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59238 /* 167434 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59239 /* 167438 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59240 /* 167441 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59241 /* 167445 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59242 /* 167449 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59243 /* 167451 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59244 /* 167458 */ // (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)
59245 /* 167458 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDYm),
59246 /* 167461 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59247 /* 167463 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59248 /* 167465 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59249 /* 167467 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59250 /* 167471 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59251 /* 167476 */ GIR_RootConstrainSelectedInstOperands,
59252 /* 167477 */ // GIR_Coverage, 1196,
59253 /* 167477 */ GIR_EraseRootFromParent_Done,
59254 /* 167478 */ // Label 3638: @167478
59255 /* 167478 */ GIM_Try, /*On fail goto*//*Label 3639*/ GIMT_Encode4(167546), // Rule ID 1478 //
59256 /* 167483 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
59257 /* 167486 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59258 /* 167490 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59259 /* 167494 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59260 /* 167498 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59261 /* 167502 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59262 /* 167506 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59263 /* 167509 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59264 /* 167513 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59265 /* 167517 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59266 /* 167519 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59267 /* 167526 */ // (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)
59268 /* 167526 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Yrm),
59269 /* 167529 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59270 /* 167531 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59271 /* 167533 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
59272 /* 167535 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59273 /* 167539 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59274 /* 167544 */ GIR_RootConstrainSelectedInstOperands,
59275 /* 167545 */ // GIR_Coverage, 1478,
59276 /* 167545 */ GIR_EraseRootFromParent_Done,
59277 /* 167546 */ // Label 3639: @167546
59278 /* 167546 */ GIM_Try, /*On fail goto*//*Label 3640*/ GIMT_Encode4(167614), // Rule ID 8502 //
59279 /* 167551 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
59280 /* 167554 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59281 /* 167558 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59282 /* 167562 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59283 /* 167566 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59284 /* 167570 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59285 /* 167574 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59286 /* 167577 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59287 /* 167581 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59288 /* 167585 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59289 /* 167587 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59290 /* 167594 */ // (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)
59291 /* 167594 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ256m),
59292 /* 167597 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59293 /* 167599 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59294 /* 167601 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59295 /* 167603 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59296 /* 167607 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59297 /* 167612 */ GIR_RootConstrainSelectedInstOperands,
59298 /* 167613 */ // GIR_Coverage, 8502,
59299 /* 167613 */ GIR_EraseRootFromParent_Done,
59300 /* 167614 */ // Label 3640: @167614
59301 /* 167614 */ GIM_Try, /*On fail goto*//*Label 3641*/ GIMT_Encode4(167651), // Rule ID 1194 //
59302 /* 167619 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
59303 /* 167622 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59304 /* 167626 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59305 /* 167630 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59306 /* 167634 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59307 /* 167638 */ // (fma:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src3) => (VFMADD213PDYr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src3)
59308 /* 167638 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDYr),
59309 /* 167641 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59310 /* 167643 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59311 /* 167645 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59312 /* 167647 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59313 /* 167649 */ GIR_RootConstrainSelectedInstOperands,
59314 /* 167650 */ // GIR_Coverage, 1194,
59315 /* 167650 */ GIR_EraseRootFromParent_Done,
59316 /* 167651 */ // Label 3641: @167651
59317 /* 167651 */ GIM_Try, /*On fail goto*//*Label 3642*/ GIMT_Encode4(167686), // Rule ID 1476 //
59318 /* 167656 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
59319 /* 167659 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59320 /* 167663 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59321 /* 167667 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59322 /* 167671 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59323 /* 167675 */ // (fma:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src3) => (VFMADDPD4Yrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src3)
59324 /* 167675 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Yrr),
59325 /* 167680 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59326 /* 167684 */ GIR_RootConstrainSelectedInstOperands,
59327 /* 167685 */ // GIR_Coverage, 1476,
59328 /* 167685 */ GIR_Done,
59329 /* 167686 */ // Label 3642: @167686
59330 /* 167686 */ GIM_Try, /*On fail goto*//*Label 3643*/ GIMT_Encode4(167723), // Rule ID 8498 //
59331 /* 167691 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
59332 /* 167694 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59333 /* 167698 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59334 /* 167702 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59335 /* 167706 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59336 /* 167710 */ // (fma:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src2, VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src3) => (VFMADD213PDZ256r:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2, VR256X:{ *:[v4f64] }:$src3)
59337 /* 167710 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ256r),
59338 /* 167713 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59339 /* 167715 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59340 /* 167717 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59341 /* 167719 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59342 /* 167721 */ GIR_RootConstrainSelectedInstOperands,
59343 /* 167722 */ // GIR_Coverage, 8498,
59344 /* 167722 */ GIR_EraseRootFromParent_Done,
59345 /* 167723 */ // Label 3643: @167723
59346 /* 167723 */ GIM_Reject,
59347 /* 167724 */ // Label 3631: @167724
59348 /* 167724 */ GIM_Reject,
59349 /* 167725 */ // Label 3567: @167725
59350 /* 167725 */ GIM_Try, /*On fail goto*//*Label 3644*/ GIMT_Encode4(167969),
59351 /* 167730 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
59352 /* 167733 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
59353 /* 167736 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
59354 /* 167739 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59355 /* 167743 */ GIM_Try, /*On fail goto*//*Label 3645*/ GIMT_Encode4(167807), // Rule ID 9617 //
59356 /* 167748 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
59357 /* 167751 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59358 /* 167755 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59359 /* 167759 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59360 /* 167762 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59361 /* 167766 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59362 /* 167770 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59363 /* 167774 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59364 /* 167778 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59365 /* 167780 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59366 /* 167787 */ // (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)
59367 /* 167787 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PHZ128m),
59368 /* 167790 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59369 /* 167792 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59370 /* 167794 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
59371 /* 167796 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59372 /* 167800 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59373 /* 167805 */ GIR_RootConstrainSelectedInstOperands,
59374 /* 167806 */ // GIR_Coverage, 9617,
59375 /* 167806 */ GIR_EraseRootFromParent_Done,
59376 /* 167807 */ // Label 3645: @167807
59377 /* 167807 */ GIM_Try, /*On fail goto*//*Label 3646*/ GIMT_Encode4(167871), // Rule ID 9077 //
59378 /* 167812 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
59379 /* 167815 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59380 /* 167819 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59381 /* 167823 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59382 /* 167827 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59383 /* 167830 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59384 /* 167834 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59385 /* 167838 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59386 /* 167842 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59387 /* 167844 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59388 /* 167851 */ // (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)
59389 /* 167851 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PHZ128m),
59390 /* 167854 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59391 /* 167856 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
59392 /* 167858 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59393 /* 167860 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59394 /* 167864 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59395 /* 167869 */ GIR_RootConstrainSelectedInstOperands,
59396 /* 167870 */ // GIR_Coverage, 9077,
59397 /* 167870 */ GIR_EraseRootFromParent_Done,
59398 /* 167871 */ // Label 3646: @167871
59399 /* 167871 */ GIM_Try, /*On fail goto*//*Label 3647*/ GIMT_Encode4(167935), // Rule ID 8436 //
59400 /* 167876 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
59401 /* 167879 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59402 /* 167883 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59403 /* 167887 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59404 /* 167891 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59405 /* 167895 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59406 /* 167898 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59407 /* 167902 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59408 /* 167906 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59409 /* 167908 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59410 /* 167915 */ // (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)
59411 /* 167915 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ128m),
59412 /* 167918 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59413 /* 167920 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59414 /* 167922 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59415 /* 167924 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59416 /* 167928 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59417 /* 167933 */ GIR_RootConstrainSelectedInstOperands,
59418 /* 167934 */ // GIR_Coverage, 8436,
59419 /* 167934 */ GIR_EraseRootFromParent_Done,
59420 /* 167935 */ // Label 3647: @167935
59421 /* 167935 */ GIM_Try, /*On fail goto*//*Label 3648*/ GIMT_Encode4(167968), // Rule ID 8432 //
59422 /* 167940 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
59423 /* 167943 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59424 /* 167947 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59425 /* 167951 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59426 /* 167955 */ // (fma:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src2, VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src3) => (VFMADD213PHZ128r:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2, VR128X:{ *:[v8f16] }:$src3)
59427 /* 167955 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ128r),
59428 /* 167958 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59429 /* 167960 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59430 /* 167962 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59431 /* 167964 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59432 /* 167966 */ GIR_RootConstrainSelectedInstOperands,
59433 /* 167967 */ // GIR_Coverage, 8432,
59434 /* 167967 */ GIR_EraseRootFromParent_Done,
59435 /* 167968 */ // Label 3648: @167968
59436 /* 167968 */ GIM_Reject,
59437 /* 167969 */ // Label 3644: @167969
59438 /* 167969 */ GIM_Reject,
59439 /* 167970 */ // Label 3568: @167970
59440 /* 167970 */ GIM_Try, /*On fail goto*//*Label 3649*/ GIMT_Encode4(168706),
59441 /* 167975 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
59442 /* 167978 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
59443 /* 167981 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
59444 /* 167984 */ GIM_Try, /*On fail goto*//*Label 3650*/ GIMT_Encode4(168052), // Rule ID 1152 //
59445 /* 167989 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
59446 /* 167992 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59447 /* 167996 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59448 /* 168000 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59449 /* 168004 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59450 /* 168007 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59451 /* 168011 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59452 /* 168015 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59453 /* 168019 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59454 /* 168023 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59455 /* 168025 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59456 /* 168032 */ // (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)
59457 /* 168032 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSYm),
59458 /* 168035 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59459 /* 168037 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59460 /* 168039 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
59461 /* 168041 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59462 /* 168045 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59463 /* 168050 */ GIR_RootConstrainSelectedInstOperands,
59464 /* 168051 */ // GIR_Coverage, 1152,
59465 /* 168051 */ GIR_EraseRootFromParent_Done,
59466 /* 168052 */ // Label 3650: @168052
59467 /* 168052 */ GIM_Try, /*On fail goto*//*Label 3651*/ GIMT_Encode4(168120), // Rule ID 9639 //
59468 /* 168057 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
59469 /* 168060 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59470 /* 168064 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59471 /* 168068 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59472 /* 168072 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59473 /* 168075 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59474 /* 168079 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59475 /* 168083 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59476 /* 168087 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59477 /* 168091 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59478 /* 168093 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59479 /* 168100 */ // (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)
59480 /* 168100 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSZ256m),
59481 /* 168103 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59482 /* 168105 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59483 /* 168107 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
59484 /* 168109 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59485 /* 168113 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59486 /* 168118 */ GIR_RootConstrainSelectedInstOperands,
59487 /* 168119 */ // GIR_Coverage, 9639,
59488 /* 168119 */ GIR_EraseRootFromParent_Done,
59489 /* 168120 */ // Label 3651: @168120
59490 /* 168120 */ GIM_Try, /*On fail goto*//*Label 3652*/ GIMT_Encode4(168188), // Rule ID 23291 //
59491 /* 168125 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
59492 /* 168128 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59493 /* 168132 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59494 /* 168136 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59495 /* 168140 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59496 /* 168143 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59497 /* 168147 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59498 /* 168151 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59499 /* 168155 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59500 /* 168159 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59501 /* 168161 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59502 /* 168168 */ // (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)
59503 /* 168168 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Ymr),
59504 /* 168171 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59505 /* 168173 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59506 /* 168175 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59507 /* 168179 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59508 /* 168181 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59509 /* 168186 */ GIR_RootConstrainSelectedInstOperands,
59510 /* 168187 */ // GIR_Coverage, 23291,
59511 /* 168187 */ GIR_EraseRootFromParent_Done,
59512 /* 168188 */ // Label 3652: @168188
59513 /* 168188 */ GIM_Try, /*On fail goto*//*Label 3653*/ GIMT_Encode4(168256), // Rule ID 1150 //
59514 /* 168193 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
59515 /* 168196 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59516 /* 168200 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59517 /* 168204 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59518 /* 168208 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59519 /* 168212 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59520 /* 168215 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59521 /* 168219 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59522 /* 168223 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59523 /* 168227 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59524 /* 168229 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59525 /* 168236 */ // (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)
59526 /* 168236 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSYm),
59527 /* 168239 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59528 /* 168241 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
59529 /* 168243 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59530 /* 168245 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59531 /* 168249 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59532 /* 168254 */ GIR_RootConstrainSelectedInstOperands,
59533 /* 168255 */ // GIR_Coverage, 1150,
59534 /* 168255 */ GIR_EraseRootFromParent_Done,
59535 /* 168256 */ // Label 3653: @168256
59536 /* 168256 */ GIM_Try, /*On fail goto*//*Label 3654*/ GIMT_Encode4(168324), // Rule ID 1396 //
59537 /* 168261 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
59538 /* 168264 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59539 /* 168268 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59540 /* 168272 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59541 /* 168276 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59542 /* 168280 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59543 /* 168283 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59544 /* 168287 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59545 /* 168291 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59546 /* 168295 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59547 /* 168297 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59548 /* 168304 */ // (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)
59549 /* 168304 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Ymr),
59550 /* 168307 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59551 /* 168309 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59552 /* 168311 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59553 /* 168315 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59554 /* 168317 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59555 /* 168322 */ GIR_RootConstrainSelectedInstOperands,
59556 /* 168323 */ // GIR_Coverage, 1396,
59557 /* 168323 */ GIR_EraseRootFromParent_Done,
59558 /* 168324 */ // Label 3654: @168324
59559 /* 168324 */ GIM_Try, /*On fail goto*//*Label 3655*/ GIMT_Encode4(168392), // Rule ID 9099 //
59560 /* 168329 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
59561 /* 168332 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59562 /* 168336 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59563 /* 168340 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59564 /* 168344 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59565 /* 168348 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59566 /* 168351 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59567 /* 168355 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59568 /* 168359 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59569 /* 168363 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59570 /* 168365 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59571 /* 168372 */ // (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)
59572 /* 168372 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSZ256m),
59573 /* 168375 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59574 /* 168377 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
59575 /* 168379 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59576 /* 168381 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59577 /* 168385 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59578 /* 168390 */ GIR_RootConstrainSelectedInstOperands,
59579 /* 168391 */ // GIR_Coverage, 9099,
59580 /* 168391 */ GIR_EraseRootFromParent_Done,
59581 /* 168392 */ // Label 3655: @168392
59582 /* 168392 */ GIM_Try, /*On fail goto*//*Label 3656*/ GIMT_Encode4(168460), // Rule ID 1148 //
59583 /* 168397 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
59584 /* 168400 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59585 /* 168404 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59586 /* 168408 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59587 /* 168412 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59588 /* 168416 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59589 /* 168420 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59590 /* 168423 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59591 /* 168427 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59592 /* 168431 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59593 /* 168433 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59594 /* 168440 */ // (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)
59595 /* 168440 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSYm),
59596 /* 168443 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59597 /* 168445 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59598 /* 168447 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59599 /* 168449 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59600 /* 168453 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59601 /* 168458 */ GIR_RootConstrainSelectedInstOperands,
59602 /* 168459 */ // GIR_Coverage, 1148,
59603 /* 168459 */ GIR_EraseRootFromParent_Done,
59604 /* 168460 */ // Label 3656: @168460
59605 /* 168460 */ GIM_Try, /*On fail goto*//*Label 3657*/ GIMT_Encode4(168528), // Rule ID 1394 //
59606 /* 168465 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
59607 /* 168468 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59608 /* 168472 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59609 /* 168476 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59610 /* 168480 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59611 /* 168484 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59612 /* 168488 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59613 /* 168491 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59614 /* 168495 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59615 /* 168499 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59616 /* 168501 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59617 /* 168508 */ // (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)
59618 /* 168508 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Yrm),
59619 /* 168511 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59620 /* 168513 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59621 /* 168515 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
59622 /* 168517 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59623 /* 168521 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59624 /* 168526 */ GIR_RootConstrainSelectedInstOperands,
59625 /* 168527 */ // GIR_Coverage, 1394,
59626 /* 168527 */ GIR_EraseRootFromParent_Done,
59627 /* 168528 */ // Label 3657: @168528
59628 /* 168528 */ GIM_Try, /*On fail goto*//*Label 3658*/ GIMT_Encode4(168596), // Rule ID 8463 //
59629 /* 168533 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
59630 /* 168536 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59631 /* 168540 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59632 /* 168544 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59633 /* 168548 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59634 /* 168552 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59635 /* 168556 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59636 /* 168559 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59637 /* 168563 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59638 /* 168567 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59639 /* 168569 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59640 /* 168576 */ // (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)
59641 /* 168576 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ256m),
59642 /* 168579 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59643 /* 168581 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59644 /* 168583 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59645 /* 168585 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59646 /* 168589 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59647 /* 168594 */ GIR_RootConstrainSelectedInstOperands,
59648 /* 168595 */ // GIR_Coverage, 8463,
59649 /* 168595 */ GIR_EraseRootFromParent_Done,
59650 /* 168596 */ // Label 3658: @168596
59651 /* 168596 */ GIM_Try, /*On fail goto*//*Label 3659*/ GIMT_Encode4(168633), // Rule ID 1146 //
59652 /* 168601 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
59653 /* 168604 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59654 /* 168608 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59655 /* 168612 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59656 /* 168616 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59657 /* 168620 */ // (fma:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src3) => (VFMADD213PSYr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src3)
59658 /* 168620 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSYr),
59659 /* 168623 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59660 /* 168625 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59661 /* 168627 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59662 /* 168629 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59663 /* 168631 */ GIR_RootConstrainSelectedInstOperands,
59664 /* 168632 */ // GIR_Coverage, 1146,
59665 /* 168632 */ GIR_EraseRootFromParent_Done,
59666 /* 168633 */ // Label 3659: @168633
59667 /* 168633 */ GIM_Try, /*On fail goto*//*Label 3660*/ GIMT_Encode4(168668), // Rule ID 1392 //
59668 /* 168638 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
59669 /* 168641 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59670 /* 168645 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59671 /* 168649 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59672 /* 168653 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59673 /* 168657 */ // (fma:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src3) => (VFMADDPS4Yrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src3)
59674 /* 168657 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Yrr),
59675 /* 168662 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59676 /* 168666 */ GIR_RootConstrainSelectedInstOperands,
59677 /* 168667 */ // GIR_Coverage, 1392,
59678 /* 168667 */ GIR_Done,
59679 /* 168668 */ // Label 3660: @168668
59680 /* 168668 */ GIM_Try, /*On fail goto*//*Label 3661*/ GIMT_Encode4(168705), // Rule ID 8459 //
59681 /* 168673 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
59682 /* 168676 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59683 /* 168680 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59684 /* 168684 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59685 /* 168688 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59686 /* 168692 */ // (fma:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src2, VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src3) => (VFMADD213PSZ256r:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2, VR256X:{ *:[v8f32] }:$src3)
59687 /* 168692 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ256r),
59688 /* 168695 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59689 /* 168697 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59690 /* 168699 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59691 /* 168701 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59692 /* 168703 */ GIR_RootConstrainSelectedInstOperands,
59693 /* 168704 */ // GIR_Coverage, 8459,
59694 /* 168704 */ GIR_EraseRootFromParent_Done,
59695 /* 168705 */ // Label 3661: @168705
59696 /* 168705 */ GIM_Reject,
59697 /* 168706 */ // Label 3649: @168706
59698 /* 168706 */ GIM_Reject,
59699 /* 168707 */ // Label 3569: @168707
59700 /* 168707 */ GIM_Try, /*On fail goto*//*Label 3662*/ GIMT_Encode4(168951),
59701 /* 168712 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
59702 /* 168715 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
59703 /* 168718 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
59704 /* 168721 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59705 /* 168725 */ GIM_Try, /*On fail goto*//*Label 3663*/ GIMT_Encode4(168789), // Rule ID 9659 //
59706 /* 168730 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
59707 /* 168733 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59708 /* 168737 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59709 /* 168741 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59710 /* 168744 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59711 /* 168748 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59712 /* 168752 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59713 /* 168756 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59714 /* 168760 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59715 /* 168762 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59716 /* 168769 */ // (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)
59717 /* 168769 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDZm),
59718 /* 168772 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59719 /* 168774 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59720 /* 168776 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
59721 /* 168778 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59722 /* 168782 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59723 /* 168787 */ GIR_RootConstrainSelectedInstOperands,
59724 /* 168788 */ // GIR_Coverage, 9659,
59725 /* 168788 */ GIR_EraseRootFromParent_Done,
59726 /* 168789 */ // Label 3663: @168789
59727 /* 168789 */ GIM_Try, /*On fail goto*//*Label 3664*/ GIMT_Encode4(168853), // Rule ID 9119 //
59728 /* 168794 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
59729 /* 168797 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59730 /* 168801 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59731 /* 168805 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59732 /* 168809 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59733 /* 168812 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59734 /* 168816 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59735 /* 168820 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59736 /* 168824 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59737 /* 168826 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59738 /* 168833 */ // (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)
59739 /* 168833 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDZm),
59740 /* 168836 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59741 /* 168838 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
59742 /* 168840 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59743 /* 168842 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59744 /* 168846 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59745 /* 168851 */ GIR_RootConstrainSelectedInstOperands,
59746 /* 168852 */ // GIR_Coverage, 9119,
59747 /* 168852 */ GIR_EraseRootFromParent_Done,
59748 /* 168853 */ // Label 3664: @168853
59749 /* 168853 */ GIM_Try, /*On fail goto*//*Label 3665*/ GIMT_Encode4(168917), // Rule ID 8487 //
59750 /* 168858 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
59751 /* 168861 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59752 /* 168865 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59753 /* 168869 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59754 /* 168873 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59755 /* 168877 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59756 /* 168880 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59757 /* 168884 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59758 /* 168888 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59759 /* 168890 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59760 /* 168897 */ // (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)
59761 /* 168897 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZm),
59762 /* 168900 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59763 /* 168902 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59764 /* 168904 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59765 /* 168906 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59766 /* 168910 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59767 /* 168915 */ GIR_RootConstrainSelectedInstOperands,
59768 /* 168916 */ // GIR_Coverage, 8487,
59769 /* 168916 */ GIR_EraseRootFromParent_Done,
59770 /* 168917 */ // Label 3665: @168917
59771 /* 168917 */ GIM_Try, /*On fail goto*//*Label 3666*/ GIMT_Encode4(168950), // Rule ID 8483 //
59772 /* 168922 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
59773 /* 168925 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59774 /* 168929 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59775 /* 168933 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59776 /* 168937 */ // (fma:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src2, VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src3) => (VFMADD213PDZr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2, VR512:{ *:[v8f64] }:$src3)
59777 /* 168937 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZr),
59778 /* 168940 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59779 /* 168942 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59780 /* 168944 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59781 /* 168946 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59782 /* 168948 */ GIR_RootConstrainSelectedInstOperands,
59783 /* 168949 */ // GIR_Coverage, 8483,
59784 /* 168949 */ GIR_EraseRootFromParent_Done,
59785 /* 168950 */ // Label 3666: @168950
59786 /* 168950 */ GIM_Reject,
59787 /* 168951 */ // Label 3662: @168951
59788 /* 168951 */ GIM_Reject,
59789 /* 168952 */ // Label 3570: @168952
59790 /* 168952 */ GIM_Try, /*On fail goto*//*Label 3667*/ GIMT_Encode4(169196),
59791 /* 168957 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
59792 /* 168960 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
59793 /* 168963 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
59794 /* 168966 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59795 /* 168970 */ GIM_Try, /*On fail goto*//*Label 3668*/ GIMT_Encode4(169034), // Rule ID 9607 //
59796 /* 168975 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
59797 /* 168978 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59798 /* 168982 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59799 /* 168986 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59800 /* 168989 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59801 /* 168993 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59802 /* 168997 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59803 /* 169001 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59804 /* 169005 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59805 /* 169007 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59806 /* 169014 */ // (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)
59807 /* 169014 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PHZ256m),
59808 /* 169017 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59809 /* 169019 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59810 /* 169021 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
59811 /* 169023 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59812 /* 169027 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59813 /* 169032 */ GIR_RootConstrainSelectedInstOperands,
59814 /* 169033 */ // GIR_Coverage, 9607,
59815 /* 169033 */ GIR_EraseRootFromParent_Done,
59816 /* 169034 */ // Label 3668: @169034
59817 /* 169034 */ GIM_Try, /*On fail goto*//*Label 3669*/ GIMT_Encode4(169098), // Rule ID 9067 //
59818 /* 169039 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
59819 /* 169042 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59820 /* 169046 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59821 /* 169050 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59822 /* 169054 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59823 /* 169057 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59824 /* 169061 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59825 /* 169065 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59826 /* 169069 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59827 /* 169071 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59828 /* 169078 */ // (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)
59829 /* 169078 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PHZ256m),
59830 /* 169081 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59831 /* 169083 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
59832 /* 169085 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59833 /* 169087 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59834 /* 169091 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59835 /* 169096 */ GIR_RootConstrainSelectedInstOperands,
59836 /* 169097 */ // GIR_Coverage, 9067,
59837 /* 169097 */ GIR_EraseRootFromParent_Done,
59838 /* 169098 */ // Label 3669: @169098
59839 /* 169098 */ GIM_Try, /*On fail goto*//*Label 3670*/ GIMT_Encode4(169162), // Rule ID 8424 //
59840 /* 169103 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
59841 /* 169106 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59842 /* 169110 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59843 /* 169114 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59844 /* 169118 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59845 /* 169122 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59846 /* 169125 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59847 /* 169129 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59848 /* 169133 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59849 /* 169135 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59850 /* 169142 */ // (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)
59851 /* 169142 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ256m),
59852 /* 169145 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59853 /* 169147 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59854 /* 169149 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59855 /* 169151 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59856 /* 169155 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59857 /* 169160 */ GIR_RootConstrainSelectedInstOperands,
59858 /* 169161 */ // GIR_Coverage, 8424,
59859 /* 169161 */ GIR_EraseRootFromParent_Done,
59860 /* 169162 */ // Label 3670: @169162
59861 /* 169162 */ GIM_Try, /*On fail goto*//*Label 3671*/ GIMT_Encode4(169195), // Rule ID 8420 //
59862 /* 169167 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
59863 /* 169170 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59864 /* 169174 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59865 /* 169178 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59866 /* 169182 */ // (fma:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src2, VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src3) => (VFMADD213PHZ256r:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2, VR256X:{ *:[v16f16] }:$src3)
59867 /* 169182 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ256r),
59868 /* 169185 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59869 /* 169187 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59870 /* 169189 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59871 /* 169191 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59872 /* 169193 */ GIR_RootConstrainSelectedInstOperands,
59873 /* 169194 */ // GIR_Coverage, 8420,
59874 /* 169194 */ GIR_EraseRootFromParent_Done,
59875 /* 169195 */ // Label 3671: @169195
59876 /* 169195 */ GIM_Reject,
59877 /* 169196 */ // Label 3667: @169196
59878 /* 169196 */ GIM_Reject,
59879 /* 169197 */ // Label 3571: @169197
59880 /* 169197 */ GIM_Try, /*On fail goto*//*Label 3672*/ GIMT_Encode4(169441),
59881 /* 169202 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
59882 /* 169205 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
59883 /* 169208 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
59884 /* 169211 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59885 /* 169215 */ GIM_Try, /*On fail goto*//*Label 3673*/ GIMT_Encode4(169279), // Rule ID 9627 //
59886 /* 169220 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
59887 /* 169223 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59888 /* 169227 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59889 /* 169231 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59890 /* 169234 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59891 /* 169238 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59892 /* 169242 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59893 /* 169246 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59894 /* 169250 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59895 /* 169252 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59896 /* 169259 */ // (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)
59897 /* 169259 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSZm),
59898 /* 169262 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59899 /* 169264 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59900 /* 169266 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
59901 /* 169268 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59902 /* 169272 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59903 /* 169277 */ GIR_RootConstrainSelectedInstOperands,
59904 /* 169278 */ // GIR_Coverage, 9627,
59905 /* 169278 */ GIR_EraseRootFromParent_Done,
59906 /* 169279 */ // Label 3673: @169279
59907 /* 169279 */ GIM_Try, /*On fail goto*//*Label 3674*/ GIMT_Encode4(169343), // Rule ID 9087 //
59908 /* 169284 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
59909 /* 169287 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59910 /* 169291 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59911 /* 169295 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59912 /* 169299 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59913 /* 169302 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59914 /* 169306 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59915 /* 169310 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59916 /* 169314 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59917 /* 169316 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59918 /* 169323 */ // (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)
59919 /* 169323 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSZm),
59920 /* 169326 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59921 /* 169328 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
59922 /* 169330 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59923 /* 169332 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59924 /* 169336 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59925 /* 169341 */ GIR_RootConstrainSelectedInstOperands,
59926 /* 169342 */ // GIR_Coverage, 9087,
59927 /* 169342 */ GIR_EraseRootFromParent_Done,
59928 /* 169343 */ // Label 3674: @169343
59929 /* 169343 */ GIM_Try, /*On fail goto*//*Label 3675*/ GIMT_Encode4(169407), // Rule ID 8448 //
59930 /* 169348 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
59931 /* 169351 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59932 /* 169355 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59933 /* 169359 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59934 /* 169363 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59935 /* 169367 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59936 /* 169370 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59937 /* 169374 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59938 /* 169378 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59939 /* 169380 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59940 /* 169387 */ // (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)
59941 /* 169387 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZm),
59942 /* 169390 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59943 /* 169392 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59944 /* 169394 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59945 /* 169396 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59946 /* 169400 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59947 /* 169405 */ GIR_RootConstrainSelectedInstOperands,
59948 /* 169406 */ // GIR_Coverage, 8448,
59949 /* 169406 */ GIR_EraseRootFromParent_Done,
59950 /* 169407 */ // Label 3675: @169407
59951 /* 169407 */ GIM_Try, /*On fail goto*//*Label 3676*/ GIMT_Encode4(169440), // Rule ID 8444 //
59952 /* 169412 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
59953 /* 169415 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59954 /* 169419 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59955 /* 169423 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59956 /* 169427 */ // (fma:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src2, VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src3) => (VFMADD213PSZr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2, VR512:{ *:[v16f32] }:$src3)
59957 /* 169427 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZr),
59958 /* 169430 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59959 /* 169432 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59960 /* 169434 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59961 /* 169436 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59962 /* 169438 */ GIR_RootConstrainSelectedInstOperands,
59963 /* 169439 */ // GIR_Coverage, 8444,
59964 /* 169439 */ GIR_EraseRootFromParent_Done,
59965 /* 169440 */ // Label 3676: @169440
59966 /* 169440 */ GIM_Reject,
59967 /* 169441 */ // Label 3672: @169441
59968 /* 169441 */ GIM_Reject,
59969 /* 169442 */ // Label 3572: @169442
59970 /* 169442 */ GIM_Try, /*On fail goto*//*Label 3677*/ GIMT_Encode4(169686),
59971 /* 169447 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
59972 /* 169450 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
59973 /* 169453 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s16,
59974 /* 169456 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59975 /* 169460 */ GIM_Try, /*On fail goto*//*Label 3678*/ GIMT_Encode4(169524), // Rule ID 9595 //
59976 /* 169465 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
59977 /* 169468 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59978 /* 169472 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59979 /* 169476 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59980 /* 169479 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59981 /* 169483 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59982 /* 169487 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59983 /* 169491 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59984 /* 169495 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59985 /* 169497 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59986 /* 169504 */ // (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)
59987 /* 169504 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PHZm),
59988 /* 169507 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59989 /* 169509 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59990 /* 169511 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
59991 /* 169513 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59992 /* 169517 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59993 /* 169522 */ GIR_RootConstrainSelectedInstOperands,
59994 /* 169523 */ // GIR_Coverage, 9595,
59995 /* 169523 */ GIR_EraseRootFromParent_Done,
59996 /* 169524 */ // Label 3678: @169524
59997 /* 169524 */ GIM_Try, /*On fail goto*//*Label 3679*/ GIMT_Encode4(169588), // Rule ID 9055 //
59998 /* 169529 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
59999 /* 169532 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60000 /* 169536 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60001 /* 169540 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60002 /* 169544 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60003 /* 169547 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60004 /* 169551 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60005 /* 169555 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60006 /* 169559 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60007 /* 169561 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60008 /* 169568 */ // (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)
60009 /* 169568 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PHZm),
60010 /* 169571 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60011 /* 169573 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
60012 /* 169575 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
60013 /* 169577 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
60014 /* 169581 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60015 /* 169586 */ GIR_RootConstrainSelectedInstOperands,
60016 /* 169587 */ // GIR_Coverage, 9055,
60017 /* 169587 */ GIR_EraseRootFromParent_Done,
60018 /* 169588 */ // Label 3679: @169588
60019 /* 169588 */ GIM_Try, /*On fail goto*//*Label 3680*/ GIMT_Encode4(169652), // Rule ID 8409 //
60020 /* 169593 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
60021 /* 169596 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60022 /* 169600 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60023 /* 169604 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
60024 /* 169608 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60025 /* 169612 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60026 /* 169615 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60027 /* 169619 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60028 /* 169623 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60029 /* 169625 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60030 /* 169632 */ // (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)
60031 /* 169632 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZm),
60032 /* 169635 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60033 /* 169637 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60034 /* 169639 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
60035 /* 169641 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
60036 /* 169645 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60037 /* 169650 */ GIR_RootConstrainSelectedInstOperands,
60038 /* 169651 */ // GIR_Coverage, 8409,
60039 /* 169651 */ GIR_EraseRootFromParent_Done,
60040 /* 169652 */ // Label 3680: @169652
60041 /* 169652 */ GIM_Try, /*On fail goto*//*Label 3681*/ GIMT_Encode4(169685), // Rule ID 8405 //
60042 /* 169657 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
60043 /* 169660 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60044 /* 169664 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60045 /* 169668 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60046 /* 169672 */ // (fma:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src2, VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src3) => (VFMADD213PHZr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2, VR512:{ *:[v32f16] }:$src3)
60047 /* 169672 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZr),
60048 /* 169675 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60049 /* 169677 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60050 /* 169679 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
60051 /* 169681 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
60052 /* 169683 */ GIR_RootConstrainSelectedInstOperands,
60053 /* 169684 */ // GIR_Coverage, 8405,
60054 /* 169684 */ GIR_EraseRootFromParent_Done,
60055 /* 169685 */ // Label 3681: @169685
60056 /* 169685 */ GIM_Reject,
60057 /* 169686 */ // Label 3677: @169686
60058 /* 169686 */ GIM_Reject,
60059 /* 169687 */ // Label 3573: @169687
60060 /* 169687 */ GIM_Reject,
60061 /* 169688 */ // Label 45: @169688
60062 /* 169688 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 3695*/ GIMT_Encode4(173869),
60063 /* 169699 */ /*GILLT_s16*//*Label 3682*/ GIMT_Encode4(169783),
60064 /* 169703 */ /*GILLT_s32*//*Label 3683*/ GIMT_Encode4(169881),
60065 /* 169707 */ /*GILLT_s64*//*Label 3684*/ GIMT_Encode4(170846),
60066 /* 169711 */ /*GILLT_s80*//*Label 3685*/ GIMT_Encode4(171955), GIMT_Encode4(0), GIMT_Encode4(0),
60067 /* 169723 */ /*GILLT_v2s64*//*Label 3686*/ GIMT_Encode4(172521), GIMT_Encode4(0),
60068 /* 169731 */ /*GILLT_v4s32*//*Label 3687*/ GIMT_Encode4(172751),
60069 /* 169735 */ /*GILLT_v4s64*//*Label 3688*/ GIMT_Encode4(172981), GIMT_Encode4(0),
60070 /* 169743 */ /*GILLT_v8s16*//*Label 3689*/ GIMT_Encode4(173180),
60071 /* 169747 */ /*GILLT_v8s32*//*Label 3690*/ GIMT_Encode4(173278),
60072 /* 169751 */ /*GILLT_v8s64*//*Label 3691*/ GIMT_Encode4(173477), GIMT_Encode4(0), GIMT_Encode4(0),
60073 /* 169763 */ /*GILLT_v16s16*//*Label 3692*/ GIMT_Encode4(173575),
60074 /* 169767 */ /*GILLT_v16s32*//*Label 3693*/ GIMT_Encode4(173673), GIMT_Encode4(0), GIMT_Encode4(0),
60075 /* 169779 */ /*GILLT_v32s16*//*Label 3694*/ GIMT_Encode4(173771),
60076 /* 169783 */ // Label 3682: @169783
60077 /* 169783 */ GIM_Try, /*On fail goto*//*Label 3696*/ GIMT_Encode4(169880),
60078 /* 169788 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
60079 /* 169791 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
60080 /* 169794 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
60081 /* 169798 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
60082 /* 169802 */ GIM_Try, /*On fail goto*//*Label 3697*/ GIMT_Encode4(169856), // Rule ID 6126 //
60083 /* 169807 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
60084 /* 169810 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60085 /* 169814 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60086 /* 169818 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60087 /* 169821 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60088 /* 169825 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60089 /* 169829 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60090 /* 169831 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60091 /* 169838 */ // (fdiv:{ *:[f16] } FR16X:{ *:[f16] }:$src1, (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
60092 /* 169838 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSHZrm),
60093 /* 169841 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60094 /* 169843 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60095 /* 169845 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60096 /* 169849 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60097 /* 169854 */ GIR_RootConstrainSelectedInstOperands,
60098 /* 169855 */ // GIR_Coverage, 6126,
60099 /* 169855 */ GIR_EraseRootFromParent_Done,
60100 /* 169856 */ // Label 3697: @169856
60101 /* 169856 */ GIM_Try, /*On fail goto*//*Label 3698*/ GIMT_Encode4(169879), // Rule ID 6124 //
60102 /* 169861 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
60103 /* 169864 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
60104 /* 169868 */ // (fdiv:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VDIVSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
60105 /* 169868 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSHZrr),
60106 /* 169873 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60107 /* 169877 */ GIR_RootConstrainSelectedInstOperands,
60108 /* 169878 */ // GIR_Coverage, 6124,
60109 /* 169878 */ GIR_Done,
60110 /* 169879 */ // Label 3698: @169879
60111 /* 169879 */ GIM_Reject,
60112 /* 169880 */ // Label 3696: @169880
60113 /* 169880 */ GIM_Reject,
60114 /* 169881 */ // Label 3683: @169881
60115 /* 169881 */ GIM_Try, /*On fail goto*//*Label 3699*/ GIMT_Encode4(170845),
60116 /* 169886 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
60117 /* 169889 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
60118 /* 169892 */ GIM_Try, /*On fail goto*//*Label 3700*/ GIMT_Encode4(169974), // Rule ID 22485 //
60119 /* 169897 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
60120 /* 169900 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
60121 /* 169904 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
60122 /* 169908 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60123 /* 169912 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
60124 /* 169916 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
60125 /* 169920 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
60126 /* 169924 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
60127 /* 169928 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
60128 /* 169931 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
60129 /* 169935 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
60130 /* 169942 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
60131 /* 169946 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
60132 /* 169948 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60133 /* 169955 */ // (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)
60134 /* 169955 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVSSrm),
60135 /* 169958 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60136 /* 169960 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60137 /* 169962 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60138 /* 169966 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
60139 /* 169972 */ GIR_RootConstrainSelectedInstOperands,
60140 /* 169973 */ // GIR_Coverage, 22485,
60141 /* 169973 */ GIR_EraseRootFromParent_Done,
60142 /* 169974 */ // Label 3700: @169974
60143 /* 169974 */ GIM_Try, /*On fail goto*//*Label 3701*/ GIMT_Encode4(170056), // Rule ID 22486 //
60144 /* 169979 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
60145 /* 169982 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
60146 /* 169986 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
60147 /* 169990 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60148 /* 169994 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
60149 /* 169998 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
60150 /* 170002 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
60151 /* 170006 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
60152 /* 170010 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
60153 /* 170013 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
60154 /* 170017 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
60155 /* 170024 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
60156 /* 170028 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
60157 /* 170030 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60158 /* 170037 */ // (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)
60159 /* 170037 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSSrm),
60160 /* 170040 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60161 /* 170042 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60162 /* 170044 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60163 /* 170048 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
60164 /* 170054 */ GIR_RootConstrainSelectedInstOperands,
60165 /* 170055 */ // GIR_Coverage, 22486,
60166 /* 170055 */ GIR_EraseRootFromParent_Done,
60167 /* 170056 */ // Label 3701: @170056
60168 /* 170056 */ GIM_Try, /*On fail goto*//*Label 3702*/ GIMT_Encode4(170138), // Rule ID 22487 //
60169 /* 170061 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
60170 /* 170064 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
60171 /* 170068 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
60172 /* 170072 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60173 /* 170076 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
60174 /* 170080 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
60175 /* 170084 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
60176 /* 170088 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
60177 /* 170092 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
60178 /* 170095 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
60179 /* 170099 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
60180 /* 170106 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
60181 /* 170110 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
60182 /* 170112 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60183 /* 170119 */ // (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)
60184 /* 170119 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSSZrm),
60185 /* 170122 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60186 /* 170124 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60187 /* 170126 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60188 /* 170130 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
60189 /* 170136 */ GIR_RootConstrainSelectedInstOperands,
60190 /* 170137 */ // GIR_Coverage, 22487,
60191 /* 170137 */ GIR_EraseRootFromParent_Done,
60192 /* 170138 */ // Label 3702: @170138
60193 /* 170138 */ GIM_Try, /*On fail goto*//*Label 3703*/ GIMT_Encode4(170203), // Rule ID 1031 //
60194 /* 170143 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
60195 /* 170146 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
60196 /* 170150 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60197 /* 170154 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
60198 /* 170158 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
60199 /* 170165 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60200 /* 170169 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
60201 /* 170173 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60202 /* 170175 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60203 /* 170182 */ // (fdiv:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (DIVR_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
60204 /* 170182 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI16m32),
60205 /* 170185 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60206 /* 170187 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60207 /* 170189 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60208 /* 170193 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60209 /* 170196 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60210 /* 170201 */ GIR_RootConstrainSelectedInstOperands,
60211 /* 170202 */ // GIR_Coverage, 1031,
60212 /* 170202 */ GIR_EraseRootFromParent_Done,
60213 /* 170203 */ // Label 3703: @170203
60214 /* 170203 */ GIM_Try, /*On fail goto*//*Label 3704*/ GIMT_Encode4(170268), // Rule ID 1033 //
60215 /* 170208 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
60216 /* 170211 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
60217 /* 170215 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60218 /* 170219 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
60219 /* 170223 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
60220 /* 170230 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60221 /* 170234 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
60222 /* 170238 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60223 /* 170240 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60224 /* 170247 */ // (fdiv:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (DIVR_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
60225 /* 170247 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI32m32),
60226 /* 170250 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60227 /* 170252 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60228 /* 170254 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60229 /* 170258 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60230 /* 170261 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60231 /* 170266 */ GIR_RootConstrainSelectedInstOperands,
60232 /* 170267 */ // GIR_Coverage, 1033,
60233 /* 170267 */ GIR_EraseRootFromParent_Done,
60234 /* 170268 */ // Label 3704: @170268
60235 /* 170268 */ GIM_Try, /*On fail goto*//*Label 3705*/ GIMT_Encode4(170333), // Rule ID 1021 //
60236 /* 170273 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
60237 /* 170276 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
60238 /* 170280 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60239 /* 170284 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60240 /* 170288 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60241 /* 170291 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60242 /* 170295 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60243 /* 170299 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
60244 /* 170303 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60245 /* 170305 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60246 /* 170312 */ // (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)
60247 /* 170312 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp32m),
60248 /* 170315 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60249 /* 170317 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60250 /* 170319 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60251 /* 170323 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60252 /* 170326 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60253 /* 170331 */ GIR_RootConstrainSelectedInstOperands,
60254 /* 170332 */ // GIR_Coverage, 1021,
60255 /* 170332 */ GIR_EraseRootFromParent_Done,
60256 /* 170333 */ // Label 3705: @170333
60257 /* 170333 */ GIM_Try, /*On fail goto*//*Label 3706*/ GIMT_Encode4(170398), // Rule ID 1009 //
60258 /* 170338 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
60259 /* 170341 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
60260 /* 170345 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
60261 /* 170349 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60262 /* 170353 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
60263 /* 170357 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
60264 /* 170364 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60265 /* 170368 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60266 /* 170370 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60267 /* 170377 */ // (fdiv:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (DIV_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
60268 /* 170377 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI16m32),
60269 /* 170380 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60270 /* 170382 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60271 /* 170384 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60272 /* 170388 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60273 /* 170391 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60274 /* 170396 */ GIR_RootConstrainSelectedInstOperands,
60275 /* 170397 */ // GIR_Coverage, 1009,
60276 /* 170397 */ GIR_EraseRootFromParent_Done,
60277 /* 170398 */ // Label 3706: @170398
60278 /* 170398 */ GIM_Try, /*On fail goto*//*Label 3707*/ GIMT_Encode4(170463), // Rule ID 1011 //
60279 /* 170403 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
60280 /* 170406 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
60281 /* 170410 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
60282 /* 170414 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60283 /* 170418 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
60284 /* 170422 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
60285 /* 170429 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60286 /* 170433 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60287 /* 170435 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60288 /* 170442 */ // (fdiv:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (DIV_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
60289 /* 170442 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI32m32),
60290 /* 170445 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60291 /* 170447 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60292 /* 170449 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60293 /* 170453 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60294 /* 170456 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60295 /* 170461 */ GIR_RootConstrainSelectedInstOperands,
60296 /* 170462 */ // GIR_Coverage, 1011,
60297 /* 170462 */ GIR_EraseRootFromParent_Done,
60298 /* 170463 */ // Label 3707: @170463
60299 /* 170463 */ GIM_Try, /*On fail goto*//*Label 3708*/ GIMT_Encode4(170528), // Rule ID 999 //
60300 /* 170468 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
60301 /* 170471 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
60302 /* 170475 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
60303 /* 170479 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60304 /* 170483 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60305 /* 170487 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60306 /* 170490 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60307 /* 170494 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60308 /* 170498 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60309 /* 170500 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60310 /* 170507 */ // (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)
60311 /* 170507 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp32m),
60312 /* 170510 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60313 /* 170512 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60314 /* 170514 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60315 /* 170518 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60316 /* 170521 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60317 /* 170526 */ GIR_RootConstrainSelectedInstOperands,
60318 /* 170527 */ // GIR_Coverage, 999,
60319 /* 170527 */ GIR_EraseRootFromParent_Done,
60320 /* 170528 */ // Label 3708: @170528
60321 /* 170528 */ GIM_Try, /*On fail goto*//*Label 3709*/ GIMT_Encode4(170590), // Rule ID 2281 //
60322 /* 170533 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
60323 /* 170536 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
60324 /* 170540 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
60325 /* 170544 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60326 /* 170548 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60327 /* 170552 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60328 /* 170555 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60329 /* 170559 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60330 /* 170563 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60331 /* 170565 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60332 /* 170572 */ // (fdiv:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
60333 /* 170572 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSSrm),
60334 /* 170575 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60335 /* 170577 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60336 /* 170579 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60337 /* 170583 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60338 /* 170588 */ GIR_RootConstrainSelectedInstOperands,
60339 /* 170589 */ // GIR_Coverage, 2281,
60340 /* 170589 */ GIR_EraseRootFromParent_Done,
60341 /* 170590 */ // Label 3709: @170590
60342 /* 170590 */ GIM_Try, /*On fail goto*//*Label 3710*/ GIMT_Encode4(170652), // Rule ID 2289 //
60343 /* 170595 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
60344 /* 170598 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
60345 /* 170602 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
60346 /* 170606 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60347 /* 170610 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60348 /* 170614 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60349 /* 170617 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60350 /* 170621 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60351 /* 170625 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60352 /* 170627 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60353 /* 170634 */ // (fdiv:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (DIVSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
60354 /* 170634 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVSSrm),
60355 /* 170637 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60356 /* 170639 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60357 /* 170641 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60358 /* 170645 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60359 /* 170650 */ GIR_RootConstrainSelectedInstOperands,
60360 /* 170651 */ // GIR_Coverage, 2289,
60361 /* 170651 */ GIR_EraseRootFromParent_Done,
60362 /* 170652 */ // Label 3710: @170652
60363 /* 170652 */ GIM_Try, /*On fail goto*//*Label 3711*/ GIMT_Encode4(170714), // Rule ID 6088 //
60364 /* 170657 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
60365 /* 170660 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
60366 /* 170664 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
60367 /* 170668 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60368 /* 170672 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60369 /* 170676 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60370 /* 170679 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60371 /* 170683 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60372 /* 170687 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60373 /* 170689 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60374 /* 170696 */ // (fdiv:{ *:[f32] } FR32X:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
60375 /* 170696 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSSZrm),
60376 /* 170699 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60377 /* 170701 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60378 /* 170703 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60379 /* 170707 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60380 /* 170712 */ GIR_RootConstrainSelectedInstOperands,
60381 /* 170713 */ // GIR_Coverage, 6088,
60382 /* 170713 */ GIR_EraseRootFromParent_Done,
60383 /* 170714 */ // Label 3711: @170714
60384 /* 170714 */ GIM_Try, /*On fail goto*//*Label 3712*/ GIMT_Encode4(170751), // Rule ID 905 //
60385 /* 170719 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
60386 /* 170722 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
60387 /* 170726 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
60388 /* 170730 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
60389 /* 170734 */ // (fdiv:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (DIV_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
60390 /* 170734 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIV_Fp32),
60391 /* 170739 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(RegState::Dead),
60392 /* 170745 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
60393 /* 170749 */ GIR_RootConstrainSelectedInstOperands,
60394 /* 170750 */ // GIR_Coverage, 905,
60395 /* 170750 */ GIR_Done,
60396 /* 170751 */ // Label 3712: @170751
60397 /* 170751 */ GIM_Try, /*On fail goto*//*Label 3713*/ GIMT_Encode4(170782), // Rule ID 2279 //
60398 /* 170756 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
60399 /* 170759 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
60400 /* 170763 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
60401 /* 170767 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
60402 /* 170771 */ // (fdiv:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VDIVSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
60403 /* 170771 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSSrr),
60404 /* 170776 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60405 /* 170780 */ GIR_RootConstrainSelectedInstOperands,
60406 /* 170781 */ // GIR_Coverage, 2279,
60407 /* 170781 */ GIR_Done,
60408 /* 170782 */ // Label 3713: @170782
60409 /* 170782 */ GIM_Try, /*On fail goto*//*Label 3714*/ GIMT_Encode4(170813), // Rule ID 2287 //
60410 /* 170787 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
60411 /* 170790 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
60412 /* 170794 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
60413 /* 170798 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
60414 /* 170802 */ // (fdiv:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (DIVSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
60415 /* 170802 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVSSrr),
60416 /* 170807 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60417 /* 170811 */ GIR_RootConstrainSelectedInstOperands,
60418 /* 170812 */ // GIR_Coverage, 2287,
60419 /* 170812 */ GIR_Done,
60420 /* 170813 */ // Label 3714: @170813
60421 /* 170813 */ GIM_Try, /*On fail goto*//*Label 3715*/ GIMT_Encode4(170844), // Rule ID 6086 //
60422 /* 170818 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
60423 /* 170821 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
60424 /* 170825 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
60425 /* 170829 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
60426 /* 170833 */ // (fdiv:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VDIVSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
60427 /* 170833 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSSZrr),
60428 /* 170838 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60429 /* 170842 */ GIR_RootConstrainSelectedInstOperands,
60430 /* 170843 */ // GIR_Coverage, 6086,
60431 /* 170843 */ GIR_Done,
60432 /* 170844 */ // Label 3715: @170844
60433 /* 170844 */ GIM_Reject,
60434 /* 170845 */ // Label 3699: @170845
60435 /* 170845 */ GIM_Reject,
60436 /* 170846 */ // Label 3684: @170846
60437 /* 170846 */ GIM_Try, /*On fail goto*//*Label 3716*/ GIMT_Encode4(171954),
60438 /* 170851 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
60439 /* 170854 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
60440 /* 170857 */ GIM_Try, /*On fail goto*//*Label 3717*/ GIMT_Encode4(170939), // Rule ID 22488 //
60441 /* 170862 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
60442 /* 170865 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60443 /* 170869 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60444 /* 170873 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60445 /* 170877 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
60446 /* 170881 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
60447 /* 170885 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
60448 /* 170889 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
60449 /* 170893 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
60450 /* 170896 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
60451 /* 170900 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
60452 /* 170907 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
60453 /* 170911 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
60454 /* 170913 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60455 /* 170920 */ // (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)
60456 /* 170920 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVSDrm),
60457 /* 170923 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60458 /* 170925 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60459 /* 170927 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60460 /* 170931 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
60461 /* 170937 */ GIR_RootConstrainSelectedInstOperands,
60462 /* 170938 */ // GIR_Coverage, 22488,
60463 /* 170938 */ GIR_EraseRootFromParent_Done,
60464 /* 170939 */ // Label 3717: @170939
60465 /* 170939 */ GIM_Try, /*On fail goto*//*Label 3718*/ GIMT_Encode4(171021), // Rule ID 22489 //
60466 /* 170944 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
60467 /* 170947 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60468 /* 170951 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60469 /* 170955 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60470 /* 170959 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
60471 /* 170963 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
60472 /* 170967 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
60473 /* 170971 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
60474 /* 170975 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
60475 /* 170978 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
60476 /* 170982 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
60477 /* 170989 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
60478 /* 170993 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
60479 /* 170995 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60480 /* 171002 */ // (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)
60481 /* 171002 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSDrm),
60482 /* 171005 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60483 /* 171007 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60484 /* 171009 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60485 /* 171013 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
60486 /* 171019 */ GIR_RootConstrainSelectedInstOperands,
60487 /* 171020 */ // GIR_Coverage, 22489,
60488 /* 171020 */ GIR_EraseRootFromParent_Done,
60489 /* 171021 */ // Label 3718: @171021
60490 /* 171021 */ GIM_Try, /*On fail goto*//*Label 3719*/ GIMT_Encode4(171103), // Rule ID 22490 //
60491 /* 171026 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
60492 /* 171029 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
60493 /* 171033 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
60494 /* 171037 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60495 /* 171041 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
60496 /* 171045 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
60497 /* 171049 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
60498 /* 171053 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
60499 /* 171057 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
60500 /* 171060 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
60501 /* 171064 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
60502 /* 171071 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
60503 /* 171075 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
60504 /* 171077 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60505 /* 171084 */ // (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)
60506 /* 171084 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSDZrm),
60507 /* 171087 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60508 /* 171089 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60509 /* 171091 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60510 /* 171095 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
60511 /* 171101 */ GIR_RootConstrainSelectedInstOperands,
60512 /* 171102 */ // GIR_Coverage, 22490,
60513 /* 171102 */ GIR_EraseRootFromParent_Done,
60514 /* 171103 */ // Label 3719: @171103
60515 /* 171103 */ GIM_Try, /*On fail goto*//*Label 3720*/ GIMT_Encode4(171168), // Rule ID 1035 //
60516 /* 171108 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
60517 /* 171111 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60518 /* 171115 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60519 /* 171119 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
60520 /* 171123 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
60521 /* 171130 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60522 /* 171134 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60523 /* 171138 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60524 /* 171140 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60525 /* 171147 */ // (fdiv:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (DIVR_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
60526 /* 171147 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI16m64),
60527 /* 171150 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60528 /* 171152 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60529 /* 171154 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60530 /* 171158 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60531 /* 171161 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60532 /* 171166 */ GIR_RootConstrainSelectedInstOperands,
60533 /* 171167 */ // GIR_Coverage, 1035,
60534 /* 171167 */ GIR_EraseRootFromParent_Done,
60535 /* 171168 */ // Label 3720: @171168
60536 /* 171168 */ GIM_Try, /*On fail goto*//*Label 3721*/ GIMT_Encode4(171233), // Rule ID 1037 //
60537 /* 171173 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
60538 /* 171176 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60539 /* 171180 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60540 /* 171184 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
60541 /* 171188 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
60542 /* 171195 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60543 /* 171199 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60544 /* 171203 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60545 /* 171205 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60546 /* 171212 */ // (fdiv:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (DIVR_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
60547 /* 171212 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI32m64),
60548 /* 171215 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60549 /* 171217 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60550 /* 171219 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60551 /* 171223 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60552 /* 171226 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60553 /* 171231 */ GIR_RootConstrainSelectedInstOperands,
60554 /* 171232 */ // GIR_Coverage, 1037,
60555 /* 171232 */ GIR_EraseRootFromParent_Done,
60556 /* 171233 */ // Label 3721: @171233
60557 /* 171233 */ GIM_Try, /*On fail goto*//*Label 3722*/ GIMT_Encode4(171298), // Rule ID 1023 //
60558 /* 171238 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
60559 /* 171241 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60560 /* 171245 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60561 /* 171249 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60562 /* 171253 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60563 /* 171256 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60564 /* 171260 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60565 /* 171264 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60566 /* 171268 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60567 /* 171270 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60568 /* 171277 */ // (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)
60569 /* 171277 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp64m),
60570 /* 171280 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60571 /* 171282 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60572 /* 171284 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60573 /* 171288 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60574 /* 171291 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60575 /* 171296 */ GIR_RootConstrainSelectedInstOperands,
60576 /* 171297 */ // GIR_Coverage, 1023,
60577 /* 171297 */ GIR_EraseRootFromParent_Done,
60578 /* 171298 */ // Label 3722: @171298
60579 /* 171298 */ GIM_Try, /*On fail goto*//*Label 3723*/ GIMT_Encode4(171370), // Rule ID 1025 //
60580 /* 171303 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
60581 /* 171306 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60582 /* 171310 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60583 /* 171314 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60584 /* 171318 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60585 /* 171321 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60586 /* 171325 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
60587 /* 171332 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60588 /* 171336 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60589 /* 171340 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60590 /* 171342 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60591 /* 171349 */ // (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)
60592 /* 171349 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp64m32),
60593 /* 171352 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60594 /* 171354 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60595 /* 171356 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60596 /* 171360 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60597 /* 171363 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60598 /* 171368 */ GIR_RootConstrainSelectedInstOperands,
60599 /* 171369 */ // GIR_Coverage, 1025,
60600 /* 171369 */ GIR_EraseRootFromParent_Done,
60601 /* 171370 */ // Label 3723: @171370
60602 /* 171370 */ GIM_Try, /*On fail goto*//*Label 3724*/ GIMT_Encode4(171435), // Rule ID 1013 //
60603 /* 171375 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
60604 /* 171378 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60605 /* 171382 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60606 /* 171386 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60607 /* 171390 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
60608 /* 171394 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
60609 /* 171401 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60610 /* 171405 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60611 /* 171407 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60612 /* 171414 */ // (fdiv:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (DIV_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
60613 /* 171414 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI16m64),
60614 /* 171417 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60615 /* 171419 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60616 /* 171421 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60617 /* 171425 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60618 /* 171428 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60619 /* 171433 */ GIR_RootConstrainSelectedInstOperands,
60620 /* 171434 */ // GIR_Coverage, 1013,
60621 /* 171434 */ GIR_EraseRootFromParent_Done,
60622 /* 171435 */ // Label 3724: @171435
60623 /* 171435 */ GIM_Try, /*On fail goto*//*Label 3725*/ GIMT_Encode4(171500), // Rule ID 1015 //
60624 /* 171440 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
60625 /* 171443 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60626 /* 171447 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60627 /* 171451 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60628 /* 171455 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
60629 /* 171459 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
60630 /* 171466 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60631 /* 171470 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60632 /* 171472 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60633 /* 171479 */ // (fdiv:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (DIV_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
60634 /* 171479 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI32m64),
60635 /* 171482 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60636 /* 171484 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60637 /* 171486 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60638 /* 171490 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60639 /* 171493 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60640 /* 171498 */ GIR_RootConstrainSelectedInstOperands,
60641 /* 171499 */ // GIR_Coverage, 1015,
60642 /* 171499 */ GIR_EraseRootFromParent_Done,
60643 /* 171500 */ // Label 3725: @171500
60644 /* 171500 */ GIM_Try, /*On fail goto*//*Label 3726*/ GIMT_Encode4(171565), // Rule ID 1001 //
60645 /* 171505 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
60646 /* 171508 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60647 /* 171512 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60648 /* 171516 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60649 /* 171520 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60650 /* 171524 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60651 /* 171527 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60652 /* 171531 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60653 /* 171535 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60654 /* 171537 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60655 /* 171544 */ // (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)
60656 /* 171544 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp64m),
60657 /* 171547 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60658 /* 171549 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60659 /* 171551 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60660 /* 171555 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60661 /* 171558 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60662 /* 171563 */ GIR_RootConstrainSelectedInstOperands,
60663 /* 171564 */ // GIR_Coverage, 1001,
60664 /* 171564 */ GIR_EraseRootFromParent_Done,
60665 /* 171565 */ // Label 3726: @171565
60666 /* 171565 */ GIM_Try, /*On fail goto*//*Label 3727*/ GIMT_Encode4(171637), // Rule ID 1003 //
60667 /* 171570 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
60668 /* 171573 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60669 /* 171577 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60670 /* 171581 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60671 /* 171585 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60672 /* 171589 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60673 /* 171592 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60674 /* 171596 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
60675 /* 171603 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60676 /* 171607 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60677 /* 171609 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60678 /* 171616 */ // (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)
60679 /* 171616 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp64m32),
60680 /* 171619 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60681 /* 171621 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60682 /* 171623 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60683 /* 171627 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60684 /* 171630 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60685 /* 171635 */ GIR_RootConstrainSelectedInstOperands,
60686 /* 171636 */ // GIR_Coverage, 1003,
60687 /* 171636 */ GIR_EraseRootFromParent_Done,
60688 /* 171637 */ // Label 3727: @171637
60689 /* 171637 */ GIM_Try, /*On fail goto*//*Label 3728*/ GIMT_Encode4(171699), // Rule ID 2285 //
60690 /* 171642 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
60691 /* 171645 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60692 /* 171649 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60693 /* 171653 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60694 /* 171657 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60695 /* 171661 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60696 /* 171664 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60697 /* 171668 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60698 /* 171672 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60699 /* 171674 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60700 /* 171681 */ // (fdiv:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
60701 /* 171681 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSDrm),
60702 /* 171684 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60703 /* 171686 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60704 /* 171688 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60705 /* 171692 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60706 /* 171697 */ GIR_RootConstrainSelectedInstOperands,
60707 /* 171698 */ // GIR_Coverage, 2285,
60708 /* 171698 */ GIR_EraseRootFromParent_Done,
60709 /* 171699 */ // Label 3728: @171699
60710 /* 171699 */ GIM_Try, /*On fail goto*//*Label 3729*/ GIMT_Encode4(171761), // Rule ID 2293 //
60711 /* 171704 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
60712 /* 171707 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60713 /* 171711 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60714 /* 171715 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60715 /* 171719 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60716 /* 171723 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60717 /* 171726 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60718 /* 171730 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60719 /* 171734 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60720 /* 171736 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60721 /* 171743 */ // (fdiv:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (DIVSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
60722 /* 171743 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVSDrm),
60723 /* 171746 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60724 /* 171748 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60725 /* 171750 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60726 /* 171754 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60727 /* 171759 */ GIR_RootConstrainSelectedInstOperands,
60728 /* 171760 */ // GIR_Coverage, 2293,
60729 /* 171760 */ GIR_EraseRootFromParent_Done,
60730 /* 171761 */ // Label 3729: @171761
60731 /* 171761 */ GIM_Try, /*On fail goto*//*Label 3730*/ GIMT_Encode4(171823), // Rule ID 6107 //
60732 /* 171766 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
60733 /* 171769 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
60734 /* 171773 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
60735 /* 171777 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60736 /* 171781 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60737 /* 171785 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60738 /* 171788 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60739 /* 171792 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60740 /* 171796 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60741 /* 171798 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60742 /* 171805 */ // (fdiv:{ *:[f64] } FR64X:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
60743 /* 171805 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSDZrm),
60744 /* 171808 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60745 /* 171810 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60746 /* 171812 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60747 /* 171816 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60748 /* 171821 */ GIR_RootConstrainSelectedInstOperands,
60749 /* 171822 */ // GIR_Coverage, 6107,
60750 /* 171822 */ GIR_EraseRootFromParent_Done,
60751 /* 171823 */ // Label 3730: @171823
60752 /* 171823 */ GIM_Try, /*On fail goto*//*Label 3731*/ GIMT_Encode4(171860), // Rule ID 907 //
60753 /* 171828 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
60754 /* 171831 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60755 /* 171835 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60756 /* 171839 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60757 /* 171843 */ // (fdiv:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (DIV_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
60758 /* 171843 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIV_Fp64),
60759 /* 171848 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(RegState::Dead),
60760 /* 171854 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
60761 /* 171858 */ GIR_RootConstrainSelectedInstOperands,
60762 /* 171859 */ // GIR_Coverage, 907,
60763 /* 171859 */ GIR_Done,
60764 /* 171860 */ // Label 3731: @171860
60765 /* 171860 */ GIM_Try, /*On fail goto*//*Label 3732*/ GIMT_Encode4(171891), // Rule ID 2283 //
60766 /* 171865 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
60767 /* 171868 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60768 /* 171872 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60769 /* 171876 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60770 /* 171880 */ // (fdiv:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VDIVSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
60771 /* 171880 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSDrr),
60772 /* 171885 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60773 /* 171889 */ GIR_RootConstrainSelectedInstOperands,
60774 /* 171890 */ // GIR_Coverage, 2283,
60775 /* 171890 */ GIR_Done,
60776 /* 171891 */ // Label 3732: @171891
60777 /* 171891 */ GIM_Try, /*On fail goto*//*Label 3733*/ GIMT_Encode4(171922), // Rule ID 2291 //
60778 /* 171896 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
60779 /* 171899 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60780 /* 171903 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60781 /* 171907 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60782 /* 171911 */ // (fdiv:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (DIVSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
60783 /* 171911 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVSDrr),
60784 /* 171916 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60785 /* 171920 */ GIR_RootConstrainSelectedInstOperands,
60786 /* 171921 */ // GIR_Coverage, 2291,
60787 /* 171921 */ GIR_Done,
60788 /* 171922 */ // Label 3733: @171922
60789 /* 171922 */ GIM_Try, /*On fail goto*//*Label 3734*/ GIMT_Encode4(171953), // Rule ID 6105 //
60790 /* 171927 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
60791 /* 171930 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
60792 /* 171934 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
60793 /* 171938 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
60794 /* 171942 */ // (fdiv:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VDIVSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
60795 /* 171942 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSDZrr),
60796 /* 171947 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60797 /* 171951 */ GIR_RootConstrainSelectedInstOperands,
60798 /* 171952 */ // GIR_Coverage, 6105,
60799 /* 171952 */ GIR_Done,
60800 /* 171953 */ // Label 3734: @171953
60801 /* 171953 */ GIM_Reject,
60802 /* 171954 */ // Label 3716: @171954
60803 /* 171954 */ GIM_Reject,
60804 /* 171955 */ // Label 3685: @171955
60805 /* 171955 */ GIM_Try, /*On fail goto*//*Label 3735*/ GIMT_Encode4(172520),
60806 /* 171960 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
60807 /* 171963 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
60808 /* 171966 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
60809 /* 171970 */ GIM_Try, /*On fail goto*//*Label 3736*/ GIMT_Encode4(172031), // Rule ID 1039 //
60810 /* 171975 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
60811 /* 171978 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60812 /* 171982 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
60813 /* 171986 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
60814 /* 171993 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60815 /* 171997 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
60816 /* 172001 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60817 /* 172003 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60818 /* 172010 */ // (fdiv:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (DIVR_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
60819 /* 172010 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI16m80),
60820 /* 172013 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60821 /* 172015 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60822 /* 172017 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60823 /* 172021 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60824 /* 172024 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60825 /* 172029 */ GIR_RootConstrainSelectedInstOperands,
60826 /* 172030 */ // GIR_Coverage, 1039,
60827 /* 172030 */ GIR_EraseRootFromParent_Done,
60828 /* 172031 */ // Label 3736: @172031
60829 /* 172031 */ GIM_Try, /*On fail goto*//*Label 3737*/ GIMT_Encode4(172092), // Rule ID 1041 //
60830 /* 172036 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
60831 /* 172039 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60832 /* 172043 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
60833 /* 172047 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
60834 /* 172054 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60835 /* 172058 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
60836 /* 172062 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60837 /* 172064 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60838 /* 172071 */ // (fdiv:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (DIVR_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
60839 /* 172071 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI32m80),
60840 /* 172074 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60841 /* 172076 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60842 /* 172078 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60843 /* 172082 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60844 /* 172085 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60845 /* 172090 */ GIR_RootConstrainSelectedInstOperands,
60846 /* 172091 */ // GIR_Coverage, 1041,
60847 /* 172091 */ GIR_EraseRootFromParent_Done,
60848 /* 172092 */ // Label 3737: @172092
60849 /* 172092 */ GIM_Try, /*On fail goto*//*Label 3738*/ GIMT_Encode4(172160), // Rule ID 1027 //
60850 /* 172097 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
60851 /* 172100 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60852 /* 172104 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60853 /* 172108 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60854 /* 172111 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60855 /* 172115 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
60856 /* 172122 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60857 /* 172126 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
60858 /* 172130 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60859 /* 172132 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60860 /* 172139 */ // (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)
60861 /* 172139 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp80m32),
60862 /* 172142 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60863 /* 172144 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60864 /* 172146 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60865 /* 172150 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60866 /* 172153 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60867 /* 172158 */ GIR_RootConstrainSelectedInstOperands,
60868 /* 172159 */ // GIR_Coverage, 1027,
60869 /* 172159 */ GIR_EraseRootFromParent_Done,
60870 /* 172160 */ // Label 3738: @172160
60871 /* 172160 */ GIM_Try, /*On fail goto*//*Label 3739*/ GIMT_Encode4(172228), // Rule ID 1029 //
60872 /* 172165 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
60873 /* 172168 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60874 /* 172172 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60875 /* 172176 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60876 /* 172179 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60877 /* 172183 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
60878 /* 172190 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60879 /* 172194 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
60880 /* 172198 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60881 /* 172200 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60882 /* 172207 */ // (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)
60883 /* 172207 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp80m64),
60884 /* 172210 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60885 /* 172212 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60886 /* 172214 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60887 /* 172218 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60888 /* 172221 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60889 /* 172226 */ GIR_RootConstrainSelectedInstOperands,
60890 /* 172227 */ // GIR_Coverage, 1029,
60891 /* 172227 */ GIR_EraseRootFromParent_Done,
60892 /* 172228 */ // Label 3739: @172228
60893 /* 172228 */ GIM_Try, /*On fail goto*//*Label 3740*/ GIMT_Encode4(172289), // Rule ID 1017 //
60894 /* 172233 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
60895 /* 172236 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
60896 /* 172240 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60897 /* 172244 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
60898 /* 172248 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
60899 /* 172255 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60900 /* 172259 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60901 /* 172261 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60902 /* 172268 */ // (fdiv:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (DIV_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
60903 /* 172268 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI16m80),
60904 /* 172271 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60905 /* 172273 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60906 /* 172275 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60907 /* 172279 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60908 /* 172282 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60909 /* 172287 */ GIR_RootConstrainSelectedInstOperands,
60910 /* 172288 */ // GIR_Coverage, 1017,
60911 /* 172288 */ GIR_EraseRootFromParent_Done,
60912 /* 172289 */ // Label 3740: @172289
60913 /* 172289 */ GIM_Try, /*On fail goto*//*Label 3741*/ GIMT_Encode4(172350), // Rule ID 1019 //
60914 /* 172294 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
60915 /* 172297 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
60916 /* 172301 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60917 /* 172305 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
60918 /* 172309 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
60919 /* 172316 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60920 /* 172320 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60921 /* 172322 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60922 /* 172329 */ // (fdiv:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (DIV_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
60923 /* 172329 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI32m80),
60924 /* 172332 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60925 /* 172334 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60926 /* 172336 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60927 /* 172340 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60928 /* 172343 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60929 /* 172348 */ GIR_RootConstrainSelectedInstOperands,
60930 /* 172349 */ // GIR_Coverage, 1019,
60931 /* 172349 */ GIR_EraseRootFromParent_Done,
60932 /* 172350 */ // Label 3741: @172350
60933 /* 172350 */ GIM_Try, /*On fail goto*//*Label 3742*/ GIMT_Encode4(172418), // Rule ID 1005 //
60934 /* 172355 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
60935 /* 172358 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
60936 /* 172362 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60937 /* 172366 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60938 /* 172370 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60939 /* 172373 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60940 /* 172377 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
60941 /* 172384 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60942 /* 172388 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60943 /* 172390 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60944 /* 172397 */ // (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)
60945 /* 172397 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp80m32),
60946 /* 172400 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60947 /* 172402 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60948 /* 172404 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60949 /* 172408 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60950 /* 172411 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60951 /* 172416 */ GIR_RootConstrainSelectedInstOperands,
60952 /* 172417 */ // GIR_Coverage, 1005,
60953 /* 172417 */ GIR_EraseRootFromParent_Done,
60954 /* 172418 */ // Label 3742: @172418
60955 /* 172418 */ GIM_Try, /*On fail goto*//*Label 3743*/ GIMT_Encode4(172486), // Rule ID 1007 //
60956 /* 172423 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
60957 /* 172426 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
60958 /* 172430 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60959 /* 172434 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60960 /* 172438 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60961 /* 172441 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60962 /* 172445 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
60963 /* 172452 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60964 /* 172456 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60965 /* 172458 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60966 /* 172465 */ // (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)
60967 /* 172465 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp80m64),
60968 /* 172468 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60969 /* 172470 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60970 /* 172472 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60971 /* 172476 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60972 /* 172479 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60973 /* 172484 */ GIR_RootConstrainSelectedInstOperands,
60974 /* 172485 */ // GIR_Coverage, 1007,
60975 /* 172485 */ GIR_EraseRootFromParent_Done,
60976 /* 172486 */ // Label 3743: @172486
60977 /* 172486 */ GIM_Try, /*On fail goto*//*Label 3744*/ GIMT_Encode4(172519), // Rule ID 909 //
60978 /* 172491 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
60979 /* 172494 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
60980 /* 172498 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
60981 /* 172502 */ // (fdiv:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (DIV_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
60982 /* 172502 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIV_Fp80),
60983 /* 172507 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(RegState::Dead),
60984 /* 172513 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
60985 /* 172517 */ GIR_RootConstrainSelectedInstOperands,
60986 /* 172518 */ // GIR_Coverage, 909,
60987 /* 172518 */ GIR_Done,
60988 /* 172519 */ // Label 3744: @172519
60989 /* 172519 */ GIM_Reject,
60990 /* 172520 */ // Label 3735: @172520
60991 /* 172520 */ GIM_Reject,
60992 /* 172521 */ // Label 3686: @172521
60993 /* 172521 */ GIM_Try, /*On fail goto*//*Label 3745*/ GIMT_Encode4(172750),
60994 /* 172526 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
60995 /* 172529 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
60996 /* 172532 */ GIM_Try, /*On fail goto*//*Label 3746*/ GIMT_Encode4(172594), // Rule ID 2261 //
60997 /* 172537 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
60998 /* 172540 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
60999 /* 172544 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61000 /* 172548 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61001 /* 172552 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61002 /* 172556 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61003 /* 172559 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61004 /* 172563 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61005 /* 172567 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61006 /* 172569 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61007 /* 172576 */ // (fdiv:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
61008 /* 172576 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDrm),
61009 /* 172579 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61010 /* 172581 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61011 /* 172583 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61012 /* 172587 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61013 /* 172592 */ GIR_RootConstrainSelectedInstOperands,
61014 /* 172593 */ // GIR_Coverage, 2261,
61015 /* 172593 */ GIR_EraseRootFromParent_Done,
61016 /* 172594 */ // Label 3746: @172594
61017 /* 172594 */ GIM_Try, /*On fail goto*//*Label 3747*/ GIMT_Encode4(172656), // Rule ID 6660 //
61018 /* 172599 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
61019 /* 172602 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61020 /* 172606 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61021 /* 172610 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61022 /* 172614 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61023 /* 172618 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61024 /* 172621 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61025 /* 172625 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61026 /* 172629 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61027 /* 172631 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61028 /* 172638 */ // (fdiv:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
61029 /* 172638 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ128rm),
61030 /* 172641 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61031 /* 172643 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61032 /* 172645 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61033 /* 172649 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61034 /* 172654 */ GIR_RootConstrainSelectedInstOperands,
61035 /* 172655 */ // GIR_Coverage, 6660,
61036 /* 172655 */ GIR_EraseRootFromParent_Done,
61037 /* 172656 */ // Label 3747: @172656
61038 /* 172656 */ GIM_Try, /*On fail goto*//*Label 3748*/ GIMT_Encode4(172687), // Rule ID 2259 //
61039 /* 172661 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
61040 /* 172664 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61041 /* 172668 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61042 /* 172672 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61043 /* 172676 */ // (fdiv:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VDIVPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
61044 /* 172676 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDrr),
61045 /* 172681 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61046 /* 172685 */ GIR_RootConstrainSelectedInstOperands,
61047 /* 172686 */ // GIR_Coverage, 2259,
61048 /* 172686 */ GIR_Done,
61049 /* 172687 */ // Label 3748: @172687
61050 /* 172687 */ GIM_Try, /*On fail goto*//*Label 3749*/ GIMT_Encode4(172718), // Rule ID 2275 //
61051 /* 172692 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
61052 /* 172695 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61053 /* 172699 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61054 /* 172703 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61055 /* 172707 */ // (fdiv:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (DIVPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
61056 /* 172707 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVPDrr),
61057 /* 172712 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61058 /* 172716 */ GIR_RootConstrainSelectedInstOperands,
61059 /* 172717 */ // GIR_Coverage, 2275,
61060 /* 172717 */ GIR_Done,
61061 /* 172718 */ // Label 3749: @172718
61062 /* 172718 */ GIM_Try, /*On fail goto*//*Label 3750*/ GIMT_Encode4(172749), // Rule ID 6656 //
61063 /* 172723 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
61064 /* 172726 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61065 /* 172730 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61066 /* 172734 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61067 /* 172738 */ // (fdiv:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VDIVPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
61068 /* 172738 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ128rr),
61069 /* 172743 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61070 /* 172747 */ GIR_RootConstrainSelectedInstOperands,
61071 /* 172748 */ // GIR_Coverage, 6656,
61072 /* 172748 */ GIR_Done,
61073 /* 172749 */ // Label 3750: @172749
61074 /* 172749 */ GIM_Reject,
61075 /* 172750 */ // Label 3745: @172750
61076 /* 172750 */ GIM_Reject,
61077 /* 172751 */ // Label 3687: @172751
61078 /* 172751 */ GIM_Try, /*On fail goto*//*Label 3751*/ GIMT_Encode4(172980),
61079 /* 172756 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
61080 /* 172759 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
61081 /* 172762 */ GIM_Try, /*On fail goto*//*Label 3752*/ GIMT_Encode4(172824), // Rule ID 2257 //
61082 /* 172767 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
61083 /* 172770 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61084 /* 172774 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61085 /* 172778 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61086 /* 172782 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61087 /* 172786 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61088 /* 172789 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61089 /* 172793 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61090 /* 172797 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61091 /* 172799 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61092 /* 172806 */ // (fdiv:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
61093 /* 172806 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSrm),
61094 /* 172809 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61095 /* 172811 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61096 /* 172813 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61097 /* 172817 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61098 /* 172822 */ GIR_RootConstrainSelectedInstOperands,
61099 /* 172823 */ // GIR_Coverage, 2257,
61100 /* 172823 */ GIR_EraseRootFromParent_Done,
61101 /* 172824 */ // Label 3752: @172824
61102 /* 172824 */ GIM_Try, /*On fail goto*//*Label 3753*/ GIMT_Encode4(172886), // Rule ID 6636 //
61103 /* 172829 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
61104 /* 172832 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61105 /* 172836 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61106 /* 172840 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61107 /* 172844 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61108 /* 172848 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61109 /* 172851 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61110 /* 172855 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61111 /* 172859 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61112 /* 172861 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61113 /* 172868 */ // (fdiv:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
61114 /* 172868 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ128rm),
61115 /* 172871 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61116 /* 172873 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61117 /* 172875 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61118 /* 172879 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61119 /* 172884 */ GIR_RootConstrainSelectedInstOperands,
61120 /* 172885 */ // GIR_Coverage, 6636,
61121 /* 172885 */ GIR_EraseRootFromParent_Done,
61122 /* 172886 */ // Label 3753: @172886
61123 /* 172886 */ GIM_Try, /*On fail goto*//*Label 3754*/ GIMT_Encode4(172917), // Rule ID 2255 //
61124 /* 172891 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
61125 /* 172894 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61126 /* 172898 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61127 /* 172902 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61128 /* 172906 */ // (fdiv:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VDIVPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
61129 /* 172906 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSrr),
61130 /* 172911 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61131 /* 172915 */ GIR_RootConstrainSelectedInstOperands,
61132 /* 172916 */ // GIR_Coverage, 2255,
61133 /* 172916 */ GIR_Done,
61134 /* 172917 */ // Label 3754: @172917
61135 /* 172917 */ GIM_Try, /*On fail goto*//*Label 3755*/ GIMT_Encode4(172948), // Rule ID 2271 //
61136 /* 172922 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
61137 /* 172925 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61138 /* 172929 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61139 /* 172933 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61140 /* 172937 */ // (fdiv:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (DIVPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
61141 /* 172937 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVPSrr),
61142 /* 172942 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61143 /* 172946 */ GIR_RootConstrainSelectedInstOperands,
61144 /* 172947 */ // GIR_Coverage, 2271,
61145 /* 172947 */ GIR_Done,
61146 /* 172948 */ // Label 3755: @172948
61147 /* 172948 */ GIM_Try, /*On fail goto*//*Label 3756*/ GIMT_Encode4(172979), // Rule ID 6632 //
61148 /* 172953 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
61149 /* 172956 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61150 /* 172960 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61151 /* 172964 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61152 /* 172968 */ // (fdiv:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VDIVPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
61153 /* 172968 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ128rr),
61154 /* 172973 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61155 /* 172977 */ GIR_RootConstrainSelectedInstOperands,
61156 /* 172978 */ // GIR_Coverage, 6632,
61157 /* 172978 */ GIR_Done,
61158 /* 172979 */ // Label 3756: @172979
61159 /* 172979 */ GIM_Reject,
61160 /* 172980 */ // Label 3751: @172980
61161 /* 172980 */ GIM_Reject,
61162 /* 172981 */ // Label 3688: @172981
61163 /* 172981 */ GIM_Try, /*On fail goto*//*Label 3757*/ GIMT_Encode4(173179),
61164 /* 172986 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
61165 /* 172989 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
61166 /* 172992 */ GIM_Try, /*On fail goto*//*Label 3758*/ GIMT_Encode4(173054), // Rule ID 2269 //
61167 /* 172997 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
61168 /* 173000 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
61169 /* 173004 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
61170 /* 173008 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61171 /* 173012 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61172 /* 173016 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61173 /* 173019 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61174 /* 173023 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61175 /* 173027 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61176 /* 173029 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61177 /* 173036 */ // (fdiv:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
61178 /* 173036 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDYrm),
61179 /* 173039 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61180 /* 173041 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61181 /* 173043 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61182 /* 173047 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61183 /* 173052 */ GIR_RootConstrainSelectedInstOperands,
61184 /* 173053 */ // GIR_Coverage, 2269,
61185 /* 173053 */ GIR_EraseRootFromParent_Done,
61186 /* 173054 */ // Label 3758: @173054
61187 /* 173054 */ GIM_Try, /*On fail goto*//*Label 3759*/ GIMT_Encode4(173116), // Rule ID 6672 //
61188 /* 173059 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
61189 /* 173062 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61190 /* 173066 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61191 /* 173070 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61192 /* 173074 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61193 /* 173078 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61194 /* 173081 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61195 /* 173085 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61196 /* 173089 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61197 /* 173091 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61198 /* 173098 */ // (fdiv:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
61199 /* 173098 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ256rm),
61200 /* 173101 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61201 /* 173103 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61202 /* 173105 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61203 /* 173109 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61204 /* 173114 */ GIR_RootConstrainSelectedInstOperands,
61205 /* 173115 */ // GIR_Coverage, 6672,
61206 /* 173115 */ GIR_EraseRootFromParent_Done,
61207 /* 173116 */ // Label 3759: @173116
61208 /* 173116 */ GIM_Try, /*On fail goto*//*Label 3760*/ GIMT_Encode4(173147), // Rule ID 2267 //
61209 /* 173121 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
61210 /* 173124 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
61211 /* 173128 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
61212 /* 173132 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
61213 /* 173136 */ // (fdiv:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VDIVPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
61214 /* 173136 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDYrr),
61215 /* 173141 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61216 /* 173145 */ GIR_RootConstrainSelectedInstOperands,
61217 /* 173146 */ // GIR_Coverage, 2267,
61218 /* 173146 */ GIR_Done,
61219 /* 173147 */ // Label 3760: @173147
61220 /* 173147 */ GIM_Try, /*On fail goto*//*Label 3761*/ GIMT_Encode4(173178), // Rule ID 6668 //
61221 /* 173152 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
61222 /* 173155 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61223 /* 173159 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61224 /* 173163 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61225 /* 173167 */ // (fdiv:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VDIVPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
61226 /* 173167 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ256rr),
61227 /* 173172 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61228 /* 173176 */ GIR_RootConstrainSelectedInstOperands,
61229 /* 173177 */ // GIR_Coverage, 6668,
61230 /* 173177 */ GIR_Done,
61231 /* 173178 */ // Label 3761: @173178
61232 /* 173178 */ GIM_Reject,
61233 /* 173179 */ // Label 3757: @173179
61234 /* 173179 */ GIM_Reject,
61235 /* 173180 */ // Label 3689: @173180
61236 /* 173180 */ GIM_Try, /*On fail goto*//*Label 3762*/ GIMT_Encode4(173277),
61237 /* 173185 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
61238 /* 173188 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
61239 /* 173191 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61240 /* 173195 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61241 /* 173199 */ GIM_Try, /*On fail goto*//*Label 3763*/ GIMT_Encode4(173253), // Rule ID 6696 //
61242 /* 173204 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
61243 /* 173207 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61244 /* 173211 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61245 /* 173215 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61246 /* 173218 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61247 /* 173222 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61248 /* 173226 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61249 /* 173228 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61250 /* 173235 */ // (fdiv:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
61251 /* 173235 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ128rm),
61252 /* 173238 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61253 /* 173240 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61254 /* 173242 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61255 /* 173246 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61256 /* 173251 */ GIR_RootConstrainSelectedInstOperands,
61257 /* 173252 */ // GIR_Coverage, 6696,
61258 /* 173252 */ GIR_EraseRootFromParent_Done,
61259 /* 173253 */ // Label 3763: @173253
61260 /* 173253 */ GIM_Try, /*On fail goto*//*Label 3764*/ GIMT_Encode4(173276), // Rule ID 6692 //
61261 /* 173258 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
61262 /* 173261 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61263 /* 173265 */ // (fdiv:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VDIVPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
61264 /* 173265 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ128rr),
61265 /* 173270 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61266 /* 173274 */ GIR_RootConstrainSelectedInstOperands,
61267 /* 173275 */ // GIR_Coverage, 6692,
61268 /* 173275 */ GIR_Done,
61269 /* 173276 */ // Label 3764: @173276
61270 /* 173276 */ GIM_Reject,
61271 /* 173277 */ // Label 3762: @173277
61272 /* 173277 */ GIM_Reject,
61273 /* 173278 */ // Label 3690: @173278
61274 /* 173278 */ GIM_Try, /*On fail goto*//*Label 3765*/ GIMT_Encode4(173476),
61275 /* 173283 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
61276 /* 173286 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
61277 /* 173289 */ GIM_Try, /*On fail goto*//*Label 3766*/ GIMT_Encode4(173351), // Rule ID 2265 //
61278 /* 173294 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
61279 /* 173297 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
61280 /* 173301 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
61281 /* 173305 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61282 /* 173309 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61283 /* 173313 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61284 /* 173316 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61285 /* 173320 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61286 /* 173324 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61287 /* 173326 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61288 /* 173333 */ // (fdiv:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
61289 /* 173333 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSYrm),
61290 /* 173336 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61291 /* 173338 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61292 /* 173340 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61293 /* 173344 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61294 /* 173349 */ GIR_RootConstrainSelectedInstOperands,
61295 /* 173350 */ // GIR_Coverage, 2265,
61296 /* 173350 */ GIR_EraseRootFromParent_Done,
61297 /* 173351 */ // Label 3766: @173351
61298 /* 173351 */ GIM_Try, /*On fail goto*//*Label 3767*/ GIMT_Encode4(173413), // Rule ID 6648 //
61299 /* 173356 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
61300 /* 173359 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61301 /* 173363 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61302 /* 173367 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61303 /* 173371 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61304 /* 173375 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61305 /* 173378 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61306 /* 173382 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61307 /* 173386 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61308 /* 173388 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61309 /* 173395 */ // (fdiv:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
61310 /* 173395 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ256rm),
61311 /* 173398 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61312 /* 173400 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61313 /* 173402 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61314 /* 173406 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61315 /* 173411 */ GIR_RootConstrainSelectedInstOperands,
61316 /* 173412 */ // GIR_Coverage, 6648,
61317 /* 173412 */ GIR_EraseRootFromParent_Done,
61318 /* 173413 */ // Label 3767: @173413
61319 /* 173413 */ GIM_Try, /*On fail goto*//*Label 3768*/ GIMT_Encode4(173444), // Rule ID 2263 //
61320 /* 173418 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
61321 /* 173421 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
61322 /* 173425 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
61323 /* 173429 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
61324 /* 173433 */ // (fdiv:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VDIVPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
61325 /* 173433 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSYrr),
61326 /* 173438 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61327 /* 173442 */ GIR_RootConstrainSelectedInstOperands,
61328 /* 173443 */ // GIR_Coverage, 2263,
61329 /* 173443 */ GIR_Done,
61330 /* 173444 */ // Label 3768: @173444
61331 /* 173444 */ GIM_Try, /*On fail goto*//*Label 3769*/ GIMT_Encode4(173475), // Rule ID 6644 //
61332 /* 173449 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
61333 /* 173452 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61334 /* 173456 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61335 /* 173460 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61336 /* 173464 */ // (fdiv:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VDIVPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
61337 /* 173464 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ256rr),
61338 /* 173469 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61339 /* 173473 */ GIR_RootConstrainSelectedInstOperands,
61340 /* 173474 */ // GIR_Coverage, 6644,
61341 /* 173474 */ GIR_Done,
61342 /* 173475 */ // Label 3769: @173475
61343 /* 173475 */ GIM_Reject,
61344 /* 173476 */ // Label 3765: @173476
61345 /* 173476 */ GIM_Reject,
61346 /* 173477 */ // Label 3691: @173477
61347 /* 173477 */ GIM_Try, /*On fail goto*//*Label 3770*/ GIMT_Encode4(173574),
61348 /* 173482 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
61349 /* 173485 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
61350 /* 173488 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
61351 /* 173492 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
61352 /* 173496 */ GIM_Try, /*On fail goto*//*Label 3771*/ GIMT_Encode4(173550), // Rule ID 6624 //
61353 /* 173501 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
61354 /* 173504 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61355 /* 173508 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61356 /* 173512 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61357 /* 173515 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61358 /* 173519 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61359 /* 173523 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61360 /* 173525 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61361 /* 173532 */ // (fdiv:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
61362 /* 173532 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDZrm),
61363 /* 173535 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61364 /* 173537 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61365 /* 173539 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61366 /* 173543 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61367 /* 173548 */ GIR_RootConstrainSelectedInstOperands,
61368 /* 173549 */ // GIR_Coverage, 6624,
61369 /* 173549 */ GIR_EraseRootFromParent_Done,
61370 /* 173550 */ // Label 3771: @173550
61371 /* 173550 */ GIM_Try, /*On fail goto*//*Label 3772*/ GIMT_Encode4(173573), // Rule ID 6620 //
61372 /* 173555 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
61373 /* 173558 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
61374 /* 173562 */ // (fdiv:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VDIVPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
61375 /* 173562 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDZrr),
61376 /* 173567 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61377 /* 173571 */ GIR_RootConstrainSelectedInstOperands,
61378 /* 173572 */ // GIR_Coverage, 6620,
61379 /* 173572 */ GIR_Done,
61380 /* 173573 */ // Label 3772: @173573
61381 /* 173573 */ GIM_Reject,
61382 /* 173574 */ // Label 3770: @173574
61383 /* 173574 */ GIM_Reject,
61384 /* 173575 */ // Label 3692: @173575
61385 /* 173575 */ GIM_Try, /*On fail goto*//*Label 3773*/ GIMT_Encode4(173672),
61386 /* 173580 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
61387 /* 173583 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
61388 /* 173586 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61389 /* 173590 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61390 /* 173594 */ GIM_Try, /*On fail goto*//*Label 3774*/ GIMT_Encode4(173648), // Rule ID 6708 //
61391 /* 173599 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
61392 /* 173602 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61393 /* 173606 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61394 /* 173610 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61395 /* 173613 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61396 /* 173617 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61397 /* 173621 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61398 /* 173623 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61399 /* 173630 */ // (fdiv:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
61400 /* 173630 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ256rm),
61401 /* 173633 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61402 /* 173635 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61403 /* 173637 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61404 /* 173641 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61405 /* 173646 */ GIR_RootConstrainSelectedInstOperands,
61406 /* 173647 */ // GIR_Coverage, 6708,
61407 /* 173647 */ GIR_EraseRootFromParent_Done,
61408 /* 173648 */ // Label 3774: @173648
61409 /* 173648 */ GIM_Try, /*On fail goto*//*Label 3775*/ GIMT_Encode4(173671), // Rule ID 6704 //
61410 /* 173653 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
61411 /* 173656 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61412 /* 173660 */ // (fdiv:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VDIVPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
61413 /* 173660 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ256rr),
61414 /* 173665 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61415 /* 173669 */ GIR_RootConstrainSelectedInstOperands,
61416 /* 173670 */ // GIR_Coverage, 6704,
61417 /* 173670 */ GIR_Done,
61418 /* 173671 */ // Label 3775: @173671
61419 /* 173671 */ GIM_Reject,
61420 /* 173672 */ // Label 3773: @173672
61421 /* 173672 */ GIM_Reject,
61422 /* 173673 */ // Label 3693: @173673
61423 /* 173673 */ GIM_Try, /*On fail goto*//*Label 3776*/ GIMT_Encode4(173770),
61424 /* 173678 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
61425 /* 173681 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
61426 /* 173684 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
61427 /* 173688 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
61428 /* 173692 */ GIM_Try, /*On fail goto*//*Label 3777*/ GIMT_Encode4(173746), // Rule ID 6612 //
61429 /* 173697 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
61430 /* 173700 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61431 /* 173704 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61432 /* 173708 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61433 /* 173711 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61434 /* 173715 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61435 /* 173719 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61436 /* 173721 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61437 /* 173728 */ // (fdiv:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
61438 /* 173728 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSZrm),
61439 /* 173731 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61440 /* 173733 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61441 /* 173735 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61442 /* 173739 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61443 /* 173744 */ GIR_RootConstrainSelectedInstOperands,
61444 /* 173745 */ // GIR_Coverage, 6612,
61445 /* 173745 */ GIR_EraseRootFromParent_Done,
61446 /* 173746 */ // Label 3777: @173746
61447 /* 173746 */ GIM_Try, /*On fail goto*//*Label 3778*/ GIMT_Encode4(173769), // Rule ID 6608 //
61448 /* 173751 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
61449 /* 173754 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
61450 /* 173758 */ // (fdiv:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VDIVPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
61451 /* 173758 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSZrr),
61452 /* 173763 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61453 /* 173767 */ GIR_RootConstrainSelectedInstOperands,
61454 /* 173768 */ // GIR_Coverage, 6608,
61455 /* 173768 */ GIR_Done,
61456 /* 173769 */ // Label 3778: @173769
61457 /* 173769 */ GIM_Reject,
61458 /* 173770 */ // Label 3776: @173770
61459 /* 173770 */ GIM_Reject,
61460 /* 173771 */ // Label 3694: @173771
61461 /* 173771 */ GIM_Try, /*On fail goto*//*Label 3779*/ GIMT_Encode4(173868),
61462 /* 173776 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
61463 /* 173779 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
61464 /* 173782 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
61465 /* 173786 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
61466 /* 173790 */ GIM_Try, /*On fail goto*//*Label 3780*/ GIMT_Encode4(173844), // Rule ID 6684 //
61467 /* 173795 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
61468 /* 173798 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61469 /* 173802 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61470 /* 173806 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61471 /* 173809 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61472 /* 173813 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61473 /* 173817 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61474 /* 173819 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61475 /* 173826 */ // (fdiv:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
61476 /* 173826 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPHZrm),
61477 /* 173829 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61478 /* 173831 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61479 /* 173833 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61480 /* 173837 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61481 /* 173842 */ GIR_RootConstrainSelectedInstOperands,
61482 /* 173843 */ // GIR_Coverage, 6684,
61483 /* 173843 */ GIR_EraseRootFromParent_Done,
61484 /* 173844 */ // Label 3780: @173844
61485 /* 173844 */ GIM_Try, /*On fail goto*//*Label 3781*/ GIMT_Encode4(173867), // Rule ID 6680 //
61486 /* 173849 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
61487 /* 173852 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
61488 /* 173856 */ // (fdiv:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VDIVPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
61489 /* 173856 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPHZrr),
61490 /* 173861 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61491 /* 173865 */ GIR_RootConstrainSelectedInstOperands,
61492 /* 173866 */ // GIR_Coverage, 6680,
61493 /* 173866 */ GIR_Done,
61494 /* 173867 */ // Label 3781: @173867
61495 /* 173867 */ GIM_Reject,
61496 /* 173868 */ // Label 3779: @173868
61497 /* 173868 */ GIM_Reject,
61498 /* 173869 */ // Label 3695: @173869
61499 /* 173869 */ GIM_Reject,
61500 /* 173870 */ // Label 46: @173870
61501 /* 173870 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(6), /*)*//*default:*//*Label 3785*/ GIMT_Encode4(173992),
61502 /* 173881 */ /*GILLT_s32*//*Label 3782*/ GIMT_Encode4(173893),
61503 /* 173885 */ /*GILLT_s64*//*Label 3783*/ GIMT_Encode4(173926),
61504 /* 173889 */ /*GILLT_s80*//*Label 3784*/ GIMT_Encode4(173959),
61505 /* 173893 */ // Label 3782: @173893
61506 /* 173893 */ GIM_Try, /*On fail goto*//*Label 3786*/ GIMT_Encode4(173925), // Rule ID 1042 //
61507 /* 173898 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
61508 /* 173901 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61509 /* 173904 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
61510 /* 173908 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
61511 /* 173912 */ // (fneg:{ *:[f32] } RFP32:{ *:[f32] }:$src) => (CHS_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src)
61512 /* 173912 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CHS_Fp32),
61513 /* 173917 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(RegState::Dead),
61514 /* 173923 */ GIR_RootConstrainSelectedInstOperands,
61515 /* 173924 */ // GIR_Coverage, 1042,
61516 /* 173924 */ GIR_Done,
61517 /* 173925 */ // Label 3786: @173925
61518 /* 173925 */ GIM_Reject,
61519 /* 173926 */ // Label 3783: @173926
61520 /* 173926 */ GIM_Try, /*On fail goto*//*Label 3787*/ GIMT_Encode4(173958), // Rule ID 1043 //
61521 /* 173931 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
61522 /* 173934 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
61523 /* 173937 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
61524 /* 173941 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
61525 /* 173945 */ // (fneg:{ *:[f64] } RFP64:{ *:[f64] }:$src) => (CHS_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src)
61526 /* 173945 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CHS_Fp64),
61527 /* 173950 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(RegState::Dead),
61528 /* 173956 */ GIR_RootConstrainSelectedInstOperands,
61529 /* 173957 */ // GIR_Coverage, 1043,
61530 /* 173957 */ GIR_Done,
61531 /* 173958 */ // Label 3787: @173958
61532 /* 173958 */ GIM_Reject,
61533 /* 173959 */ // Label 3784: @173959
61534 /* 173959 */ GIM_Try, /*On fail goto*//*Label 3788*/ GIMT_Encode4(173991), // Rule ID 1044 //
61535 /* 173964 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
61536 /* 173967 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
61537 /* 173970 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
61538 /* 173974 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
61539 /* 173978 */ // (fneg:{ *:[f80] } RFP80:{ *:[f80] }:$src) => (CHS_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src)
61540 /* 173978 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CHS_Fp80),
61541 /* 173983 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(RegState::Dead),
61542 /* 173989 */ GIR_RootConstrainSelectedInstOperands,
61543 /* 173990 */ // GIR_Coverage, 1044,
61544 /* 173990 */ GIR_Done,
61545 /* 173991 */ // Label 3788: @173991
61546 /* 173991 */ GIM_Reject,
61547 /* 173992 */ // Label 3785: @173992
61548 /* 173992 */ GIM_Reject,
61549 /* 173993 */ // Label 47: @173993
61550 /* 173993 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(20), /*)*//*default:*//*Label 3796*/ GIMT_Encode4(174924),
61551 /* 174004 */ /*GILLT_s32*//*Label 3789*/ GIMT_Encode4(174072),
61552 /* 174008 */ /*GILLT_s64*//*Label 3790*/ GIMT_Encode4(174193),
61553 /* 174012 */ /*GILLT_s80*//*Label 3791*/ GIMT_Encode4(174676), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
61554 /* 174036 */ /*GILLT_v4s64*//*Label 3792*/ GIMT_Encode4(174737), GIMT_Encode4(0), GIMT_Encode4(0),
61555 /* 174048 */ /*GILLT_v8s32*//*Label 3793*/ GIMT_Encode4(174801),
61556 /* 174052 */ /*GILLT_v8s64*//*Label 3794*/ GIMT_Encode4(174832), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
61557 /* 174068 */ /*GILLT_v16s32*//*Label 3795*/ GIMT_Encode4(174893),
61558 /* 174072 */ // Label 3789: @174072
61559 /* 174072 */ GIM_Try, /*On fail goto*//*Label 3797*/ GIMT_Encode4(174192),
61560 /* 174077 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
61561 /* 174080 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
61562 /* 174084 */ GIM_Try, /*On fail goto*//*Label 3798*/ GIMT_Encode4(174153), // Rule ID 21204 //
61563 /* 174089 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_OptForSize),
61564 /* 174092 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61565 /* 174096 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61566 /* 174100 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61567 /* 174103 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61568 /* 174107 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61569 /* 174111 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61570 /* 174113 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61571 /* 174120 */ // (fpextend:{ *:[f32] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSH2SSZrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
61572 /* 174120 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
61573 /* 174123 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61574 /* 174127 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
61575 /* 174132 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61576 /* 174134 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSH2SSZrm),
61577 /* 174137 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61578 /* 174139 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61579 /* 174142 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61580 /* 174146 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61581 /* 174151 */ GIR_RootConstrainSelectedInstOperands,
61582 /* 174152 */ // GIR_Coverage, 21204,
61583 /* 174152 */ GIR_EraseRootFromParent_Done,
61584 /* 174153 */ // Label 3798: @174153
61585 /* 174153 */ GIM_Try, /*On fail goto*//*Label 3799*/ GIMT_Encode4(174191), // Rule ID 21202 //
61586 /* 174158 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
61587 /* 174161 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
61588 /* 174165 */ // (fpextend:{ *:[f32] } FR16X:{ *:[f16] }:$src) => (VCVTSH2SSZrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR16X:{ *:[f16] }:$src)
61589 /* 174165 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
61590 /* 174168 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61591 /* 174172 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
61592 /* 174177 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61593 /* 174179 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSH2SSZrr),
61594 /* 174182 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61595 /* 174184 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61596 /* 174187 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
61597 /* 174189 */ GIR_RootConstrainSelectedInstOperands,
61598 /* 174190 */ // GIR_Coverage, 21202,
61599 /* 174190 */ GIR_EraseRootFromParent_Done,
61600 /* 174191 */ // Label 3799: @174191
61601 /* 174191 */ GIM_Reject,
61602 /* 174192 */ // Label 3797: @174192
61603 /* 174192 */ GIM_Reject,
61604 /* 174193 */ // Label 3790: @174193
61605 /* 174193 */ GIM_Try, /*On fail goto*//*Label 3800*/ GIMT_Encode4(174252), // Rule ID 1894 //
61606 /* 174198 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseSSE2),
61607 /* 174201 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61608 /* 174204 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61609 /* 174208 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61610 /* 174212 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61611 /* 174216 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61612 /* 174219 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61613 /* 174223 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61614 /* 174227 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61615 /* 174229 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61616 /* 174236 */ // (fpextend:{ *:[f64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSS2SDrm:{ *:[f64] } addr:{ *:[iPTR] }:$src)
61617 /* 174236 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSS2SDrm),
61618 /* 174239 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61619 /* 174241 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61620 /* 174245 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61621 /* 174250 */ GIR_RootConstrainSelectedInstOperands,
61622 /* 174251 */ // GIR_Coverage, 1894,
61623 /* 174251 */ GIR_EraseRootFromParent_Done,
61624 /* 174252 */ // Label 3800: @174252
61625 /* 174252 */ GIM_Try, /*On fail goto*//*Label 3801*/ GIMT_Encode4(174328), // Rule ID 18002 //
61626 /* 174257 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseAVX),
61627 /* 174260 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61628 /* 174263 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61629 /* 174267 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61630 /* 174271 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61631 /* 174275 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61632 /* 174278 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61633 /* 174282 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61634 /* 174286 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61635 /* 174288 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61636 /* 174295 */ // (fpextend:{ *:[f64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SDrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
61637 /* 174295 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
61638 /* 174298 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61639 /* 174302 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
61640 /* 174307 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61641 /* 174309 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SDrm),
61642 /* 174312 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61643 /* 174314 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61644 /* 174317 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61645 /* 174321 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61646 /* 174326 */ GIR_RootConstrainSelectedInstOperands,
61647 /* 174327 */ // GIR_Coverage, 18002,
61648 /* 174327 */ GIR_EraseRootFromParent_Done,
61649 /* 174328 */ // Label 3801: @174328
61650 /* 174328 */ GIM_Try, /*On fail goto*//*Label 3802*/ GIMT_Encode4(174404), // Rule ID 21198 //
61651 /* 174333 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_OptForSize),
61652 /* 174336 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61653 /* 174339 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
61654 /* 174343 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61655 /* 174347 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61656 /* 174351 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61657 /* 174354 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61658 /* 174358 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61659 /* 174362 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61660 /* 174364 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61661 /* 174371 */ // (fpextend:{ *:[f64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SDZrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
61662 /* 174371 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
61663 /* 174374 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61664 /* 174378 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
61665 /* 174383 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61666 /* 174385 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SDZrm),
61667 /* 174388 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61668 /* 174390 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61669 /* 174393 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61670 /* 174397 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61671 /* 174402 */ GIR_RootConstrainSelectedInstOperands,
61672 /* 174403 */ // GIR_Coverage, 21198,
61673 /* 174403 */ GIR_EraseRootFromParent_Done,
61674 /* 174404 */ // Label 3802: @174404
61675 /* 174404 */ GIM_Try, /*On fail goto*//*Label 3803*/ GIMT_Encode4(174480), // Rule ID 21208 //
61676 /* 174409 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_OptForSize),
61677 /* 174412 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
61678 /* 174415 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
61679 /* 174419 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61680 /* 174423 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61681 /* 174427 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61682 /* 174430 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61683 /* 174434 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61684 /* 174438 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61685 /* 174440 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61686 /* 174447 */ // (fpextend:{ *:[f64] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSH2SDZrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
61687 /* 174447 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
61688 /* 174450 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61689 /* 174454 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
61690 /* 174459 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61691 /* 174461 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSH2SDZrm),
61692 /* 174464 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61693 /* 174466 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61694 /* 174469 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61695 /* 174473 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61696 /* 174478 */ GIR_RootConstrainSelectedInstOperands,
61697 /* 174479 */ // GIR_Coverage, 21208,
61698 /* 174479 */ GIR_EraseRootFromParent_Done,
61699 /* 174480 */ // Label 3803: @174480
61700 /* 174480 */ GIM_Try, /*On fail goto*//*Label 3804*/ GIMT_Encode4(174510), // Rule ID 1892 //
61701 /* 174485 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
61702 /* 174488 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61703 /* 174491 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61704 /* 174495 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61705 /* 174499 */ // (fpextend:{ *:[f64] } FR32:{ *:[f32] }:$src) => (CVTSS2SDrr:{ *:[f64] } FR32:{ *:[f32] }:$src)
61706 /* 174499 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSS2SDrr),
61707 /* 174504 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61708 /* 174508 */ GIR_RootConstrainSelectedInstOperands,
61709 /* 174509 */ // GIR_Coverage, 1892,
61710 /* 174509 */ GIR_Done,
61711 /* 174510 */ // Label 3804: @174510
61712 /* 174510 */ GIM_Try, /*On fail goto*//*Label 3805*/ GIMT_Encode4(174540), // Rule ID 17727 //
61713 /* 174515 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
61714 /* 174518 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61715 /* 174521 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
61716 /* 174525 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
61717 /* 174529 */ // (fpextend:{ *:[f64] } RFP32:{ *:[f32] }:$src) => (COPY_TO_REGCLASS:{ *:[f64] } RFP32:{ *:[f32] }:$src, RFP64:{ *:[i32] })
61718 /* 174529 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
61719 /* 174534 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::RFP64RegClassID),
61720 /* 174539 */ // GIR_Coverage, 17727,
61721 /* 174539 */ GIR_Done,
61722 /* 174540 */ // Label 3805: @174540
61723 /* 174540 */ GIM_Try, /*On fail goto*//*Label 3806*/ GIMT_Encode4(174585), // Rule ID 18000 //
61724 /* 174545 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
61725 /* 174548 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61726 /* 174551 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61727 /* 174555 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61728 /* 174559 */ // (fpextend:{ *:[f64] } FR32:{ *:[f32] }:$src) => (VCVTSS2SDrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR32:{ *:[f32] }:$src)
61729 /* 174559 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
61730 /* 174562 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61731 /* 174566 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
61732 /* 174571 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61733 /* 174573 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SDrr),
61734 /* 174576 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61735 /* 174578 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61736 /* 174581 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
61737 /* 174583 */ GIR_RootConstrainSelectedInstOperands,
61738 /* 174584 */ // GIR_Coverage, 18000,
61739 /* 174584 */ GIR_EraseRootFromParent_Done,
61740 /* 174585 */ // Label 3806: @174585
61741 /* 174585 */ GIM_Try, /*On fail goto*//*Label 3807*/ GIMT_Encode4(174630), // Rule ID 21196 //
61742 /* 174590 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
61743 /* 174593 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61744 /* 174596 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
61745 /* 174600 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
61746 /* 174604 */ // (fpextend:{ *:[f64] } FR32X:{ *:[f32] }:$src) => (VCVTSS2SDZrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR32X:{ *:[f32] }:$src)
61747 /* 174604 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
61748 /* 174607 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61749 /* 174611 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
61750 /* 174616 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61751 /* 174618 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SDZrr),
61752 /* 174621 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61753 /* 174623 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61754 /* 174626 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
61755 /* 174628 */ GIR_RootConstrainSelectedInstOperands,
61756 /* 174629 */ // GIR_Coverage, 21196,
61757 /* 174629 */ GIR_EraseRootFromParent_Done,
61758 /* 174630 */ // Label 3807: @174630
61759 /* 174630 */ GIM_Try, /*On fail goto*//*Label 3808*/ GIMT_Encode4(174675), // Rule ID 21206 //
61760 /* 174635 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
61761 /* 174638 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
61762 /* 174641 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
61763 /* 174645 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
61764 /* 174649 */ // (fpextend:{ *:[f64] } FR16X:{ *:[f16] }:$src) => (VCVTSH2SDZrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR16X:{ *:[f16] }:$src)
61765 /* 174649 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
61766 /* 174652 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61767 /* 174656 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
61768 /* 174661 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61769 /* 174663 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSH2SDZrr),
61770 /* 174666 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61771 /* 174668 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61772 /* 174671 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
61773 /* 174673 */ GIR_RootConstrainSelectedInstOperands,
61774 /* 174674 */ // GIR_Coverage, 21206,
61775 /* 174674 */ GIR_EraseRootFromParent_Done,
61776 /* 174675 */ // Label 3808: @174675
61777 /* 174675 */ GIM_Reject,
61778 /* 174676 */ // Label 3791: @174676
61779 /* 174676 */ GIM_Try, /*On fail goto*//*Label 3809*/ GIMT_Encode4(174706), // Rule ID 17729 //
61780 /* 174681 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
61781 /* 174684 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61782 /* 174687 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
61783 /* 174691 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
61784 /* 174695 */ // (fpextend:{ *:[f80] } RFP32:{ *:[f32] }:$src) => (COPY_TO_REGCLASS:{ *:[f80] } RFP32:{ *:[f32] }:$src, RFP80:{ *:[i32] })
61785 /* 174695 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
61786 /* 174700 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::RFP80RegClassID),
61787 /* 174705 */ // GIR_Coverage, 17729,
61788 /* 174705 */ GIR_Done,
61789 /* 174706 */ // Label 3809: @174706
61790 /* 174706 */ GIM_Try, /*On fail goto*//*Label 3810*/ GIMT_Encode4(174736), // Rule ID 17731 //
61791 /* 174711 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
61792 /* 174714 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
61793 /* 174717 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
61794 /* 174721 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
61795 /* 174725 */ // (fpextend:{ *:[f80] } RFP64:{ *:[f64] }:$src) => (COPY_TO_REGCLASS:{ *:[f80] } RFP64:{ *:[f64] }:$src, RFP80:{ *:[i32] })
61796 /* 174725 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
61797 /* 174730 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::RFP80RegClassID),
61798 /* 174735 */ // GIR_Coverage, 17731,
61799 /* 174735 */ GIR_Done,
61800 /* 174736 */ // Label 3810: @174736
61801 /* 174736 */ GIM_Reject,
61802 /* 174737 */ // Label 3792: @174737
61803 /* 174737 */ GIM_Try, /*On fail goto*//*Label 3811*/ GIMT_Encode4(174800),
61804 /* 174742 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
61805 /* 174745 */ GIM_Try, /*On fail goto*//*Label 3812*/ GIMT_Encode4(174772), // Rule ID 1935 //
61806 /* 174750 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
61807 /* 174753 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
61808 /* 174757 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61809 /* 174761 */ // (fpextend:{ *:[v4f64] } VR128:{ *:[v4f32] }:$src) => (VCVTPS2PDYrr:{ *:[v4f64] } VR128:{ *:[v4f32] }:$src)
61810 /* 174761 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2PDYrr),
61811 /* 174766 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61812 /* 174770 */ GIR_RootConstrainSelectedInstOperands,
61813 /* 174771 */ // GIR_Coverage, 1935,
61814 /* 174771 */ GIR_Done,
61815 /* 174772 */ // Label 3812: @174772
61816 /* 174772 */ GIM_Try, /*On fail goto*//*Label 3813*/ GIMT_Encode4(174799), // Rule ID 10575 //
61817 /* 174777 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
61818 /* 174780 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61819 /* 174784 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61820 /* 174788 */ // (fpextend:{ *:[v4f64] } VR128X:{ *:[v4f32] }:$src) => (VCVTPS2PDZ256rr:{ *:[v4f64] } VR128X:{ *:[v4f32] }:$src)
61821 /* 174788 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2PDZ256rr),
61822 /* 174793 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61823 /* 174797 */ GIR_RootConstrainSelectedInstOperands,
61824 /* 174798 */ // GIR_Coverage, 10575,
61825 /* 174798 */ GIR_Done,
61826 /* 174799 */ // Label 3813: @174799
61827 /* 174799 */ GIM_Reject,
61828 /* 174800 */ // Label 3811: @174800
61829 /* 174800 */ GIM_Reject,
61830 /* 174801 */ // Label 3793: @174801
61831 /* 174801 */ GIM_Try, /*On fail goto*//*Label 3814*/ GIMT_Encode4(174831), // Rule ID 10638 //
61832 /* 174806 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
61833 /* 174809 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
61834 /* 174812 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61835 /* 174816 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61836 /* 174820 */ // (fpextend:{ *:[v8f32] } VR128X:{ *:[v8f16] }:$src) => (VCVTPH2PSXZ256rr:{ *:[v8f32] } VR128X:{ *:[v8f16] }:$src)
61837 /* 174820 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2PSXZ256rr),
61838 /* 174825 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61839 /* 174829 */ GIR_RootConstrainSelectedInstOperands,
61840 /* 174830 */ // GIR_Coverage, 10638,
61841 /* 174830 */ GIR_Done,
61842 /* 174831 */ // Label 3814: @174831
61843 /* 174831 */ GIM_Reject,
61844 /* 174832 */ // Label 3794: @174832
61845 /* 174832 */ GIM_Try, /*On fail goto*//*Label 3815*/ GIMT_Encode4(174862), // Rule ID 10550 //
61846 /* 174837 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
61847 /* 174840 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
61848 /* 174843 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
61849 /* 174847 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61850 /* 174851 */ // (fpextend:{ *:[v8f64] } VR256X:{ *:[v8f32] }:$src) => (VCVTPS2PDZrr:{ *:[v8f64] } VR256X:{ *:[v8f32] }:$src)
61851 /* 174851 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2PDZrr),
61852 /* 174856 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61853 /* 174860 */ GIR_RootConstrainSelectedInstOperands,
61854 /* 174861 */ // GIR_Coverage, 10550,
61855 /* 174861 */ GIR_Done,
61856 /* 174862 */ // Label 3815: @174862
61857 /* 174862 */ GIM_Try, /*On fail goto*//*Label 3816*/ GIMT_Encode4(174892), // Rule ID 10664 //
61858 /* 174867 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
61859 /* 174870 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
61860 /* 174873 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
61861 /* 174877 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61862 /* 174881 */ // (fpextend:{ *:[v8f64] } VR128X:{ *:[v8f16] }:$src) => (VCVTPH2PDZrr:{ *:[v8f64] } VR128X:{ *:[v8f16] }:$src)
61863 /* 174881 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2PDZrr),
61864 /* 174886 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61865 /* 174890 */ GIR_RootConstrainSelectedInstOperands,
61866 /* 174891 */ // GIR_Coverage, 10664,
61867 /* 174891 */ GIR_Done,
61868 /* 174892 */ // Label 3816: @174892
61869 /* 174892 */ GIM_Reject,
61870 /* 174893 */ // Label 3795: @174893
61871 /* 174893 */ GIM_Try, /*On fail goto*//*Label 3817*/ GIMT_Encode4(174923), // Rule ID 10613 //
61872 /* 174898 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
61873 /* 174901 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
61874 /* 174904 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
61875 /* 174908 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61876 /* 174912 */ // (fpextend:{ *:[v16f32] } VR256X:{ *:[v16f16] }:$src) => (VCVTPH2PSXZrr:{ *:[v16f32] } VR256X:{ *:[v16f16] }:$src)
61877 /* 174912 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2PSXZrr),
61878 /* 174917 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61879 /* 174921 */ GIR_RootConstrainSelectedInstOperands,
61880 /* 174922 */ // GIR_Coverage, 10613,
61881 /* 174922 */ GIR_Done,
61882 /* 174923 */ // Label 3817: @174923
61883 /* 174923 */ GIM_Reject,
61884 /* 174924 */ // Label 3796: @174924
61885 /* 174924 */ GIM_Reject,
61886 /* 174925 */ // Label 48: @174925
61887 /* 174925 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 3821*/ GIMT_Encode4(175310),
61888 /* 174936 */ /*GILLT_s16*//*Label 3818*/ GIMT_Encode4(174948),
61889 /* 174940 */ /*GILLT_s32*//*Label 3819*/ GIMT_Encode4(175039),
61890 /* 174944 */ /*GILLT_s64*//*Label 3820*/ GIMT_Encode4(175279),
61891 /* 174948 */ // Label 3818: @174948
61892 /* 174948 */ GIM_Try, /*On fail goto*//*Label 3822*/ GIMT_Encode4(174993), // Rule ID 21210 //
61893 /* 174953 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
61894 /* 174956 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61895 /* 174959 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
61896 /* 174963 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
61897 /* 174967 */ // (fpround:{ *:[f16] } FR32X:{ *:[f32] }:$src) => (VCVTSS2SHZrr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), FR32X:{ *:[f32] }:$src)
61898 /* 174967 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
61899 /* 174970 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61900 /* 174974 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
61901 /* 174979 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61902 /* 174981 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SHZrr),
61903 /* 174984 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61904 /* 174986 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61905 /* 174989 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
61906 /* 174991 */ GIR_RootConstrainSelectedInstOperands,
61907 /* 174992 */ // GIR_Coverage, 21210,
61908 /* 174992 */ GIR_EraseRootFromParent_Done,
61909 /* 174993 */ // Label 3822: @174993
61910 /* 174993 */ GIM_Try, /*On fail goto*//*Label 3823*/ GIMT_Encode4(175038), // Rule ID 21212 //
61911 /* 174998 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
61912 /* 175001 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
61913 /* 175004 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
61914 /* 175008 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
61915 /* 175012 */ // (fpround:{ *:[f16] } FR64X:{ *:[f64] }:$src) => (VCVTSD2SHZrr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), FR64X:{ *:[f64] }:$src)
61916 /* 175012 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
61917 /* 175015 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61918 /* 175019 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
61919 /* 175024 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61920 /* 175026 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SHZrr),
61921 /* 175029 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61922 /* 175031 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61923 /* 175034 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
61924 /* 175036 */ GIR_RootConstrainSelectedInstOperands,
61925 /* 175037 */ // GIR_Coverage, 21212,
61926 /* 175037 */ GIR_EraseRootFromParent_Done,
61927 /* 175038 */ // Label 3823: @175038
61928 /* 175038 */ GIM_Reject,
61929 /* 175039 */ // Label 3819: @175039
61930 /* 175039 */ GIM_Try, /*On fail goto*//*Label 3824*/ GIMT_Encode4(175098), // Rule ID 1882 //
61931 /* 175044 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseSSE2),
61932 /* 175047 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
61933 /* 175050 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61934 /* 175054 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61935 /* 175058 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61936 /* 175062 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61937 /* 175065 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61938 /* 175069 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61939 /* 175073 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61940 /* 175075 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61941 /* 175082 */ // (fpround:{ *:[f32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSD2SSrm:{ *:[f32] } addr:{ *:[iPTR] }:$src)
61942 /* 175082 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSD2SSrm),
61943 /* 175085 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61944 /* 175087 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61945 /* 175091 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61946 /* 175096 */ GIR_RootConstrainSelectedInstOperands,
61947 /* 175097 */ // GIR_Coverage, 1882,
61948 /* 175097 */ GIR_EraseRootFromParent_Done,
61949 /* 175098 */ // Label 3824: @175098
61950 /* 175098 */ GIM_Try, /*On fail goto*//*Label 3825*/ GIMT_Encode4(175128), // Rule ID 1880 //
61951 /* 175103 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
61952 /* 175106 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
61953 /* 175109 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61954 /* 175113 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61955 /* 175117 */ // (fpround:{ *:[f32] } FR64:{ *:[f64] }:$src) => (CVTSD2SSrr:{ *:[f32] } FR64:{ *:[f64] }:$src)
61956 /* 175117 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSD2SSrr),
61957 /* 175122 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61958 /* 175126 */ GIR_RootConstrainSelectedInstOperands,
61959 /* 175127 */ // GIR_Coverage, 1880,
61960 /* 175127 */ GIR_Done,
61961 /* 175128 */ // Label 3825: @175128
61962 /* 175128 */ GIM_Try, /*On fail goto*//*Label 3826*/ GIMT_Encode4(175158), // Rule ID 17733 //
61963 /* 175133 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
61964 /* 175136 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
61965 /* 175139 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
61966 /* 175143 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
61967 /* 175147 */ // (fpround:{ *:[f32] } RFP64:{ *:[f64] }:$src) => (COPY_TO_REGCLASS:{ *:[f32] } RFP64:{ *:[f64] }:$src, RFP32:{ *:[i32] })
61968 /* 175147 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
61969 /* 175152 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::RFP32RegClassID),
61970 /* 175157 */ // GIR_Coverage, 17733,
61971 /* 175157 */ GIR_Done,
61972 /* 175158 */ // Label 3826: @175158
61973 /* 175158 */ GIM_Try, /*On fail goto*//*Label 3827*/ GIMT_Encode4(175188), // Rule ID 17735 //
61974 /* 175163 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
61975 /* 175166 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
61976 /* 175169 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
61977 /* 175173 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
61978 /* 175177 */ // (fpround:{ *:[f32] } RFP80:{ *:[f80] }:$src) => (COPY_TO_REGCLASS:{ *:[f32] } RFP80:{ *:[f80] }:$src, RFP32:{ *:[i32] })
61979 /* 175177 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
61980 /* 175182 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::RFP32RegClassID),
61981 /* 175187 */ // GIR_Coverage, 17735,
61982 /* 175187 */ GIR_Done,
61983 /* 175188 */ // Label 3827: @175188
61984 /* 175188 */ GIM_Try, /*On fail goto*//*Label 3828*/ GIMT_Encode4(175233), // Rule ID 17998 //
61985 /* 175193 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
61986 /* 175196 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
61987 /* 175199 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61988 /* 175203 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61989 /* 175207 */ // (fpround:{ *:[f32] } FR64:{ *:[f64] }:$src) => (VCVTSD2SSrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR64:{ *:[f64] }:$src)
61990 /* 175207 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
61991 /* 175210 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61992 /* 175214 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
61993 /* 175219 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61994 /* 175221 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SSrr),
61995 /* 175224 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61996 /* 175226 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61997 /* 175229 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
61998 /* 175231 */ GIR_RootConstrainSelectedInstOperands,
61999 /* 175232 */ // GIR_Coverage, 17998,
62000 /* 175232 */ GIR_EraseRootFromParent_Done,
62001 /* 175233 */ // Label 3828: @175233
62002 /* 175233 */ GIM_Try, /*On fail goto*//*Label 3829*/ GIMT_Encode4(175278), // Rule ID 21200 //
62003 /* 175238 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62004 /* 175241 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62005 /* 175244 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
62006 /* 175248 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
62007 /* 175252 */ // (fpround:{ *:[f32] } FR64X:{ *:[f64] }:$src) => (VCVTSD2SSZrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR64X:{ *:[f64] }:$src)
62008 /* 175252 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
62009 /* 175255 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62010 /* 175259 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
62011 /* 175264 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62012 /* 175266 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SSZrr),
62013 /* 175269 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62014 /* 175271 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62015 /* 175274 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
62016 /* 175276 */ GIR_RootConstrainSelectedInstOperands,
62017 /* 175277 */ // GIR_Coverage, 21200,
62018 /* 175277 */ GIR_EraseRootFromParent_Done,
62019 /* 175278 */ // Label 3829: @175278
62020 /* 175278 */ GIM_Reject,
62021 /* 175279 */ // Label 3820: @175279
62022 /* 175279 */ GIM_Try, /*On fail goto*//*Label 3830*/ GIMT_Encode4(175309), // Rule ID 17737 //
62023 /* 175284 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
62024 /* 175287 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
62025 /* 175290 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
62026 /* 175294 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
62027 /* 175298 */ // (fpround:{ *:[f64] } RFP80:{ *:[f80] }:$src) => (COPY_TO_REGCLASS:{ *:[f64] } RFP80:{ *:[f80] }:$src, RFP64:{ *:[i32] })
62028 /* 175298 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
62029 /* 175303 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::RFP64RegClassID),
62030 /* 175308 */ // GIR_Coverage, 17737,
62031 /* 175308 */ GIR_Done,
62032 /* 175309 */ // Label 3830: @175309
62033 /* 175309 */ GIM_Reject,
62034 /* 175310 */ // Label 3821: @175310
62035 /* 175310 */ GIM_Reject,
62036 /* 175311 */ // Label 49: @175311
62037 /* 175311 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(11), /*)*//*default:*//*Label 3834*/ GIMT_Encode4(176691),
62038 /* 175322 */ /*GILLT_s32*//*Label 3831*/ GIMT_Encode4(175354),
62039 /* 175326 */ /*GILLT_s64*//*Label 3832*/ GIMT_Encode4(175978), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
62040 /* 175350 */ /*GILLT_v4s32*//*Label 3833*/ GIMT_Encode4(176602),
62041 /* 175354 */ // Label 3831: @175354
62042 /* 175354 */ GIM_Try, /*On fail goto*//*Label 3835*/ GIMT_Encode4(175413), // Rule ID 1742 //
62043 /* 175359 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
62044 /* 175362 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62045 /* 175365 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62046 /* 175369 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62047 /* 175373 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62048 /* 175377 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62049 /* 175380 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62050 /* 175384 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62051 /* 175388 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62052 /* 175390 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62053 /* 175397 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSS2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
62054 /* 175397 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SIrm),
62055 /* 175400 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62056 /* 175402 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62057 /* 175406 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62058 /* 175411 */ GIR_RootConstrainSelectedInstOperands,
62059 /* 175412 */ // GIR_Coverage, 1742,
62060 /* 175412 */ GIR_EraseRootFromParent_Done,
62061 /* 175413 */ // Label 3835: @175413
62062 /* 175413 */ GIM_Try, /*On fail goto*//*Label 3836*/ GIMT_Encode4(175472), // Rule ID 1750 //
62063 /* 175418 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
62064 /* 175421 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62065 /* 175424 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62066 /* 175428 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62067 /* 175432 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62068 /* 175436 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62069 /* 175439 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62070 /* 175443 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62071 /* 175447 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62072 /* 175449 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62073 /* 175456 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSD2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
62074 /* 175456 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SIrm),
62075 /* 175459 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62076 /* 175461 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62077 /* 175465 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62078 /* 175470 */ GIR_RootConstrainSelectedInstOperands,
62079 /* 175471 */ // GIR_Coverage, 1750,
62080 /* 175471 */ GIR_EraseRootFromParent_Done,
62081 /* 175472 */ // Label 3836: @175472
62082 /* 175472 */ GIM_Try, /*On fail goto*//*Label 3837*/ GIMT_Encode4(175531), // Rule ID 1766 //
62083 /* 175477 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
62084 /* 175480 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62085 /* 175483 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62086 /* 175487 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62087 /* 175491 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62088 /* 175495 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62089 /* 175498 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62090 /* 175502 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62091 /* 175506 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62092 /* 175508 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62093 /* 175515 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTTSS2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
62094 /* 175515 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTTSS2SIrm),
62095 /* 175518 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62096 /* 175520 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62097 /* 175524 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62098 /* 175529 */ GIR_RootConstrainSelectedInstOperands,
62099 /* 175530 */ // GIR_Coverage, 1766,
62100 /* 175530 */ GIR_EraseRootFromParent_Done,
62101 /* 175531 */ // Label 3837: @175531
62102 /* 175531 */ GIM_Try, /*On fail goto*//*Label 3838*/ GIMT_Encode4(175590), // Rule ID 1774 //
62103 /* 175536 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
62104 /* 175539 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62105 /* 175542 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62106 /* 175546 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62107 /* 175550 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62108 /* 175554 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62109 /* 175557 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62110 /* 175561 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62111 /* 175565 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62112 /* 175567 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62113 /* 175574 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTTSD2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
62114 /* 175574 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTTSD2SIrm),
62115 /* 175577 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62116 /* 175579 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62117 /* 175583 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62118 /* 175588 */ GIR_RootConstrainSelectedInstOperands,
62119 /* 175589 */ // GIR_Coverage, 1774,
62120 /* 175589 */ GIR_EraseRootFromParent_Done,
62121 /* 175590 */ // Label 3838: @175590
62122 /* 175590 */ GIM_Try, /*On fail goto*//*Label 3839*/ GIMT_Encode4(175649), // Rule ID 10363 //
62123 /* 175595 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62124 /* 175598 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62125 /* 175601 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62126 /* 175605 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62127 /* 175609 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62128 /* 175613 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62129 /* 175616 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62130 /* 175620 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62131 /* 175624 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62132 /* 175626 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62133 /* 175633 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSS2SIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
62134 /* 175633 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SIZrm),
62135 /* 175636 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62136 /* 175638 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62137 /* 175642 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62138 /* 175647 */ GIR_RootConstrainSelectedInstOperands,
62139 /* 175648 */ // GIR_Coverage, 10363,
62140 /* 175648 */ GIR_EraseRootFromParent_Done,
62141 /* 175649 */ // Label 3839: @175649
62142 /* 175649 */ GIM_Try, /*On fail goto*//*Label 3840*/ GIMT_Encode4(175708), // Rule ID 10381 //
62143 /* 175654 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62144 /* 175657 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62145 /* 175660 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62146 /* 175664 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62147 /* 175668 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62148 /* 175672 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62149 /* 175675 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62150 /* 175679 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62151 /* 175683 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62152 /* 175685 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62153 /* 175692 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSD2SIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
62154 /* 175692 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SIZrm),
62155 /* 175695 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62156 /* 175697 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62157 /* 175701 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62158 /* 175706 */ GIR_RootConstrainSelectedInstOperands,
62159 /* 175707 */ // GIR_Coverage, 10381,
62160 /* 175707 */ GIR_EraseRootFromParent_Done,
62161 /* 175708 */ // Label 3840: @175708
62162 /* 175708 */ GIM_Try, /*On fail goto*//*Label 3841*/ GIMT_Encode4(175767), // Rule ID 15171 //
62163 /* 175713 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
62164 /* 175716 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
62165 /* 175719 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62166 /* 175723 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62167 /* 175727 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62168 /* 175731 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62169 /* 175734 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62170 /* 175738 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62171 /* 175742 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62172 /* 175744 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62173 /* 175751 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2SIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
62174 /* 175751 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SIZrm),
62175 /* 175754 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62176 /* 175756 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62177 /* 175760 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62178 /* 175765 */ GIR_RootConstrainSelectedInstOperands,
62179 /* 175766 */ // GIR_Coverage, 15171,
62180 /* 175766 */ GIR_EraseRootFromParent_Done,
62181 /* 175767 */ // Label 3841: @175767
62182 /* 175767 */ GIM_Try, /*On fail goto*//*Label 3842*/ GIMT_Encode4(175797), // Rule ID 1740 //
62183 /* 175772 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
62184 /* 175775 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62185 /* 175778 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62186 /* 175782 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
62187 /* 175786 */ // (fp_to_sint:{ *:[i32] } FR32:{ *:[f32] }:$src) => (VCVTTSS2SIrr:{ *:[i32] } FR32:{ *:[f32] }:$src)
62188 /* 175786 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SIrr),
62189 /* 175791 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62190 /* 175795 */ GIR_RootConstrainSelectedInstOperands,
62191 /* 175796 */ // GIR_Coverage, 1740,
62192 /* 175796 */ GIR_Done,
62193 /* 175797 */ // Label 3842: @175797
62194 /* 175797 */ GIM_Try, /*On fail goto*//*Label 3843*/ GIMT_Encode4(175827), // Rule ID 1748 //
62195 /* 175802 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
62196 /* 175805 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62197 /* 175808 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62198 /* 175812 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
62199 /* 175816 */ // (fp_to_sint:{ *:[i32] } FR64:{ *:[f64] }:$src) => (VCVTTSD2SIrr:{ *:[i32] } FR64:{ *:[f64] }:$src)
62200 /* 175816 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SIrr),
62201 /* 175821 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62202 /* 175825 */ GIR_RootConstrainSelectedInstOperands,
62203 /* 175826 */ // GIR_Coverage, 1748,
62204 /* 175826 */ GIR_Done,
62205 /* 175827 */ // Label 3843: @175827
62206 /* 175827 */ GIM_Try, /*On fail goto*//*Label 3844*/ GIMT_Encode4(175857), // Rule ID 1764 //
62207 /* 175832 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
62208 /* 175835 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62209 /* 175838 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62210 /* 175842 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
62211 /* 175846 */ // (fp_to_sint:{ *:[i32] } FR32:{ *:[f32] }:$src) => (CVTTSS2SIrr:{ *:[i32] } FR32:{ *:[f32] }:$src)
62212 /* 175846 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTTSS2SIrr),
62213 /* 175851 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62214 /* 175855 */ GIR_RootConstrainSelectedInstOperands,
62215 /* 175856 */ // GIR_Coverage, 1764,
62216 /* 175856 */ GIR_Done,
62217 /* 175857 */ // Label 3844: @175857
62218 /* 175857 */ GIM_Try, /*On fail goto*//*Label 3845*/ GIMT_Encode4(175887), // Rule ID 1772 //
62219 /* 175862 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
62220 /* 175865 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62221 /* 175868 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62222 /* 175872 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
62223 /* 175876 */ // (fp_to_sint:{ *:[i32] } FR64:{ *:[f64] }:$src) => (CVTTSD2SIrr:{ *:[i32] } FR64:{ *:[f64] }:$src)
62224 /* 175876 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTTSD2SIrr),
62225 /* 175881 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62226 /* 175885 */ GIR_RootConstrainSelectedInstOperands,
62227 /* 175886 */ // GIR_Coverage, 1772,
62228 /* 175886 */ GIR_Done,
62229 /* 175887 */ // Label 3845: @175887
62230 /* 175887 */ GIM_Try, /*On fail goto*//*Label 3846*/ GIMT_Encode4(175917), // Rule ID 10361 //
62231 /* 175892 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62232 /* 175895 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62233 /* 175898 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62234 /* 175902 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
62235 /* 175906 */ // (fp_to_sint:{ *:[i32] } FR32X:{ *:[f32] }:$src) => (VCVTTSS2SIZrr:{ *:[i32] } FR32X:{ *:[f32] }:$src)
62236 /* 175906 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SIZrr),
62237 /* 175911 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62238 /* 175915 */ GIR_RootConstrainSelectedInstOperands,
62239 /* 175916 */ // GIR_Coverage, 10361,
62240 /* 175916 */ GIR_Done,
62241 /* 175917 */ // Label 3846: @175917
62242 /* 175917 */ GIM_Try, /*On fail goto*//*Label 3847*/ GIMT_Encode4(175947), // Rule ID 10379 //
62243 /* 175922 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62244 /* 175925 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62245 /* 175928 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62246 /* 175932 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
62247 /* 175936 */ // (fp_to_sint:{ *:[i32] } FR64X:{ *:[f64] }:$src) => (VCVTTSD2SIZrr:{ *:[i32] } FR64X:{ *:[f64] }:$src)
62248 /* 175936 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SIZrr),
62249 /* 175941 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62250 /* 175945 */ GIR_RootConstrainSelectedInstOperands,
62251 /* 175946 */ // GIR_Coverage, 10379,
62252 /* 175946 */ GIR_Done,
62253 /* 175947 */ // Label 3847: @175947
62254 /* 175947 */ GIM_Try, /*On fail goto*//*Label 3848*/ GIMT_Encode4(175977), // Rule ID 15169 //
62255 /* 175952 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
62256 /* 175955 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
62257 /* 175958 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62258 /* 175962 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
62259 /* 175966 */ // (fp_to_sint:{ *:[i32] } FR16X:{ *:[f16] }:$src) => (VCVTTSH2SIZrr:{ *:[i32] } FR16X:{ *:[f16] }:$src)
62260 /* 175966 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SIZrr),
62261 /* 175971 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62262 /* 175975 */ GIR_RootConstrainSelectedInstOperands,
62263 /* 175976 */ // GIR_Coverage, 15169,
62264 /* 175976 */ GIR_Done,
62265 /* 175977 */ // Label 3848: @175977
62266 /* 175977 */ GIM_Reject,
62267 /* 175978 */ // Label 3832: @175978
62268 /* 175978 */ GIM_Try, /*On fail goto*//*Label 3849*/ GIMT_Encode4(176037), // Rule ID 1746 //
62269 /* 175983 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
62270 /* 175986 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62271 /* 175989 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62272 /* 175993 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62273 /* 175997 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62274 /* 176001 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62275 /* 176004 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62276 /* 176008 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62277 /* 176012 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62278 /* 176014 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62279 /* 176021 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSS2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
62280 /* 176021 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SI64rm),
62281 /* 176024 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62282 /* 176026 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62283 /* 176030 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62284 /* 176035 */ GIR_RootConstrainSelectedInstOperands,
62285 /* 176036 */ // GIR_Coverage, 1746,
62286 /* 176036 */ GIR_EraseRootFromParent_Done,
62287 /* 176037 */ // Label 3849: @176037
62288 /* 176037 */ GIM_Try, /*On fail goto*//*Label 3850*/ GIMT_Encode4(176096), // Rule ID 1754 //
62289 /* 176042 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
62290 /* 176045 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62291 /* 176048 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62292 /* 176052 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62293 /* 176056 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62294 /* 176060 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62295 /* 176063 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62296 /* 176067 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62297 /* 176071 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62298 /* 176073 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62299 /* 176080 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSD2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
62300 /* 176080 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SI64rm),
62301 /* 176083 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62302 /* 176085 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62303 /* 176089 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62304 /* 176094 */ GIR_RootConstrainSelectedInstOperands,
62305 /* 176095 */ // GIR_Coverage, 1754,
62306 /* 176095 */ GIR_EraseRootFromParent_Done,
62307 /* 176096 */ // Label 3850: @176096
62308 /* 176096 */ GIM_Try, /*On fail goto*//*Label 3851*/ GIMT_Encode4(176155), // Rule ID 1770 //
62309 /* 176101 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
62310 /* 176104 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62311 /* 176107 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62312 /* 176111 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62313 /* 176115 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62314 /* 176119 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62315 /* 176122 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62316 /* 176126 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62317 /* 176130 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62318 /* 176132 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62319 /* 176139 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTTSS2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
62320 /* 176139 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTTSS2SI64rm),
62321 /* 176142 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62322 /* 176144 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62323 /* 176148 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62324 /* 176153 */ GIR_RootConstrainSelectedInstOperands,
62325 /* 176154 */ // GIR_Coverage, 1770,
62326 /* 176154 */ GIR_EraseRootFromParent_Done,
62327 /* 176155 */ // Label 3851: @176155
62328 /* 176155 */ GIM_Try, /*On fail goto*//*Label 3852*/ GIMT_Encode4(176214), // Rule ID 1778 //
62329 /* 176160 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
62330 /* 176163 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62331 /* 176166 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62332 /* 176170 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62333 /* 176174 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62334 /* 176178 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62335 /* 176181 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62336 /* 176185 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62337 /* 176189 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62338 /* 176191 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62339 /* 176198 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTTSD2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
62340 /* 176198 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTTSD2SI64rm),
62341 /* 176201 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62342 /* 176203 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62343 /* 176207 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62344 /* 176212 */ GIR_RootConstrainSelectedInstOperands,
62345 /* 176213 */ // GIR_Coverage, 1778,
62346 /* 176213 */ GIR_EraseRootFromParent_Done,
62347 /* 176214 */ // Label 3852: @176214
62348 /* 176214 */ GIM_Try, /*On fail goto*//*Label 3853*/ GIMT_Encode4(176273), // Rule ID 10372 //
62349 /* 176219 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62350 /* 176222 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62351 /* 176225 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62352 /* 176229 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62353 /* 176233 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62354 /* 176237 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62355 /* 176240 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62356 /* 176244 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62357 /* 176248 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62358 /* 176250 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62359 /* 176257 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSS2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
62360 /* 176257 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SI64Zrm),
62361 /* 176260 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62362 /* 176262 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62363 /* 176266 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62364 /* 176271 */ GIR_RootConstrainSelectedInstOperands,
62365 /* 176272 */ // GIR_Coverage, 10372,
62366 /* 176272 */ GIR_EraseRootFromParent_Done,
62367 /* 176273 */ // Label 3853: @176273
62368 /* 176273 */ GIM_Try, /*On fail goto*//*Label 3854*/ GIMT_Encode4(176332), // Rule ID 10390 //
62369 /* 176278 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62370 /* 176281 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62371 /* 176284 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62372 /* 176288 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62373 /* 176292 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62374 /* 176296 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62375 /* 176299 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62376 /* 176303 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62377 /* 176307 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62378 /* 176309 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62379 /* 176316 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSD2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
62380 /* 176316 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SI64Zrm),
62381 /* 176319 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62382 /* 176321 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62383 /* 176325 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62384 /* 176330 */ GIR_RootConstrainSelectedInstOperands,
62385 /* 176331 */ // GIR_Coverage, 10390,
62386 /* 176331 */ GIR_EraseRootFromParent_Done,
62387 /* 176332 */ // Label 3854: @176332
62388 /* 176332 */ GIM_Try, /*On fail goto*//*Label 3855*/ GIMT_Encode4(176391), // Rule ID 15180 //
62389 /* 176337 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
62390 /* 176340 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
62391 /* 176343 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62392 /* 176347 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62393 /* 176351 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62394 /* 176355 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62395 /* 176358 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62396 /* 176362 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62397 /* 176366 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62398 /* 176368 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62399 /* 176375 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
62400 /* 176375 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SI64Zrm),
62401 /* 176378 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62402 /* 176380 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62403 /* 176384 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62404 /* 176389 */ GIR_RootConstrainSelectedInstOperands,
62405 /* 176390 */ // GIR_Coverage, 15180,
62406 /* 176390 */ GIR_EraseRootFromParent_Done,
62407 /* 176391 */ // Label 3855: @176391
62408 /* 176391 */ GIM_Try, /*On fail goto*//*Label 3856*/ GIMT_Encode4(176421), // Rule ID 1744 //
62409 /* 176396 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
62410 /* 176399 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62411 /* 176402 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62412 /* 176406 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
62413 /* 176410 */ // (fp_to_sint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (VCVTTSS2SI64rr:{ *:[i64] } FR32:{ *:[f32] }:$src)
62414 /* 176410 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SI64rr),
62415 /* 176415 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62416 /* 176419 */ GIR_RootConstrainSelectedInstOperands,
62417 /* 176420 */ // GIR_Coverage, 1744,
62418 /* 176420 */ GIR_Done,
62419 /* 176421 */ // Label 3856: @176421
62420 /* 176421 */ GIM_Try, /*On fail goto*//*Label 3857*/ GIMT_Encode4(176451), // Rule ID 1752 //
62421 /* 176426 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
62422 /* 176429 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62423 /* 176432 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62424 /* 176436 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
62425 /* 176440 */ // (fp_to_sint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (VCVTTSD2SI64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
62426 /* 176440 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SI64rr),
62427 /* 176445 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62428 /* 176449 */ GIR_RootConstrainSelectedInstOperands,
62429 /* 176450 */ // GIR_Coverage, 1752,
62430 /* 176450 */ GIR_Done,
62431 /* 176451 */ // Label 3857: @176451
62432 /* 176451 */ GIM_Try, /*On fail goto*//*Label 3858*/ GIMT_Encode4(176481), // Rule ID 1768 //
62433 /* 176456 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
62434 /* 176459 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62435 /* 176462 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62436 /* 176466 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
62437 /* 176470 */ // (fp_to_sint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (CVTTSS2SI64rr:{ *:[i64] } FR32:{ *:[f32] }:$src)
62438 /* 176470 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTTSS2SI64rr),
62439 /* 176475 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62440 /* 176479 */ GIR_RootConstrainSelectedInstOperands,
62441 /* 176480 */ // GIR_Coverage, 1768,
62442 /* 176480 */ GIR_Done,
62443 /* 176481 */ // Label 3858: @176481
62444 /* 176481 */ GIM_Try, /*On fail goto*//*Label 3859*/ GIMT_Encode4(176511), // Rule ID 1776 //
62445 /* 176486 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
62446 /* 176489 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62447 /* 176492 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62448 /* 176496 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
62449 /* 176500 */ // (fp_to_sint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (CVTTSD2SI64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
62450 /* 176500 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTTSD2SI64rr),
62451 /* 176505 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62452 /* 176509 */ GIR_RootConstrainSelectedInstOperands,
62453 /* 176510 */ // GIR_Coverage, 1776,
62454 /* 176510 */ GIR_Done,
62455 /* 176511 */ // Label 3859: @176511
62456 /* 176511 */ GIM_Try, /*On fail goto*//*Label 3860*/ GIMT_Encode4(176541), // Rule ID 10370 //
62457 /* 176516 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62458 /* 176519 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62459 /* 176522 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62460 /* 176526 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
62461 /* 176530 */ // (fp_to_sint:{ *:[i64] } FR32X:{ *:[f32] }:$src) => (VCVTTSS2SI64Zrr:{ *:[i64] } FR32X:{ *:[f32] }:$src)
62462 /* 176530 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SI64Zrr),
62463 /* 176535 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62464 /* 176539 */ GIR_RootConstrainSelectedInstOperands,
62465 /* 176540 */ // GIR_Coverage, 10370,
62466 /* 176540 */ GIR_Done,
62467 /* 176541 */ // Label 3860: @176541
62468 /* 176541 */ GIM_Try, /*On fail goto*//*Label 3861*/ GIMT_Encode4(176571), // Rule ID 10388 //
62469 /* 176546 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62470 /* 176549 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62471 /* 176552 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62472 /* 176556 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
62473 /* 176560 */ // (fp_to_sint:{ *:[i64] } FR64X:{ *:[f64] }:$src) => (VCVTTSD2SI64Zrr:{ *:[i64] } FR64X:{ *:[f64] }:$src)
62474 /* 176560 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SI64Zrr),
62475 /* 176565 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62476 /* 176569 */ GIR_RootConstrainSelectedInstOperands,
62477 /* 176570 */ // GIR_Coverage, 10388,
62478 /* 176570 */ GIR_Done,
62479 /* 176571 */ // Label 3861: @176571
62480 /* 176571 */ GIM_Try, /*On fail goto*//*Label 3862*/ GIMT_Encode4(176601), // Rule ID 15178 //
62481 /* 176576 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
62482 /* 176579 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
62483 /* 176582 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62484 /* 176586 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
62485 /* 176590 */ // (fp_to_sint:{ *:[i64] } FR16X:{ *:[f16] }:$src) => (VCVTTSH2SI64Zrr:{ *:[i64] } FR16X:{ *:[f16] }:$src)
62486 /* 176590 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SI64Zrr),
62487 /* 176595 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62488 /* 176599 */ GIR_RootConstrainSelectedInstOperands,
62489 /* 176600 */ // GIR_Coverage, 15178,
62490 /* 176600 */ GIR_Done,
62491 /* 176601 */ // Label 3862: @176601
62492 /* 176601 */ GIM_Reject,
62493 /* 176602 */ // Label 3833: @176602
62494 /* 176602 */ GIM_Try, /*On fail goto*//*Label 3863*/ GIMT_Encode4(176690),
62495 /* 176607 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
62496 /* 176610 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
62497 /* 176614 */ GIM_Try, /*On fail goto*//*Label 3864*/ GIMT_Encode4(176666), // Rule ID 18054 //
62498 /* 176619 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
62499 /* 176622 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62500 /* 176626 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62501 /* 176630 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62502 /* 176633 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62503 /* 176637 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62504 /* 176641 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62505 /* 176643 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62506 /* 176650 */ // (fp_to_sint:{ *:[v4i32] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTPD2DQYrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
62507 /* 176650 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTPD2DQYrm),
62508 /* 176653 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62509 /* 176655 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62510 /* 176659 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62511 /* 176664 */ GIR_RootConstrainSelectedInstOperands,
62512 /* 176665 */ // GIR_Coverage, 18054,
62513 /* 176665 */ GIR_EraseRootFromParent_Done,
62514 /* 176666 */ // Label 3864: @176666
62515 /* 176666 */ GIM_Try, /*On fail goto*//*Label 3865*/ GIMT_Encode4(176689), // Rule ID 18052 //
62516 /* 176671 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
62517 /* 176674 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
62518 /* 176678 */ // (fp_to_sint:{ *:[v4i32] } VR256:{ *:[v4f64] }:$src) => (VCVTTPD2DQYrr:{ *:[v4i32] } VR256:{ *:[v4f64] }:$src)
62519 /* 176678 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPD2DQYrr),
62520 /* 176683 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62521 /* 176687 */ GIR_RootConstrainSelectedInstOperands,
62522 /* 176688 */ // GIR_Coverage, 18052,
62523 /* 176688 */ GIR_Done,
62524 /* 176689 */ // Label 3865: @176689
62525 /* 176689 */ GIM_Reject,
62526 /* 176690 */ // Label 3863: @176690
62527 /* 176690 */ GIM_Reject,
62528 /* 176691 */ // Label 3834: @176691
62529 /* 176691 */ GIM_Reject,
62530 /* 176692 */ // Label 50: @176692
62531 /* 176692 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(5), /*)*//*default:*//*Label 3868*/ GIMT_Encode4(177247),
62532 /* 176703 */ /*GILLT_s32*//*Label 3866*/ GIMT_Encode4(176711),
62533 /* 176707 */ /*GILLT_s64*//*Label 3867*/ GIMT_Encode4(176979),
62534 /* 176711 */ // Label 3866: @176711
62535 /* 176711 */ GIM_Try, /*On fail goto*//*Label 3869*/ GIMT_Encode4(176770), // Rule ID 10399 //
62536 /* 176716 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62537 /* 176719 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62538 /* 176722 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62539 /* 176726 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62540 /* 176730 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62541 /* 176734 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62542 /* 176737 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62543 /* 176741 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62544 /* 176745 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62545 /* 176747 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62546 /* 176754 */ // (fp_to_uint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSS2USIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
62547 /* 176754 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2USIZrm),
62548 /* 176757 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62549 /* 176759 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62550 /* 176763 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62551 /* 176768 */ GIR_RootConstrainSelectedInstOperands,
62552 /* 176769 */ // GIR_Coverage, 10399,
62553 /* 176769 */ GIR_EraseRootFromParent_Done,
62554 /* 176770 */ // Label 3869: @176770
62555 /* 176770 */ GIM_Try, /*On fail goto*//*Label 3870*/ GIMT_Encode4(176829), // Rule ID 10417 //
62556 /* 176775 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62557 /* 176778 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62558 /* 176781 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62559 /* 176785 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62560 /* 176789 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62561 /* 176793 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62562 /* 176796 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62563 /* 176800 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62564 /* 176804 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62565 /* 176806 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62566 /* 176813 */ // (fp_to_uint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSD2USIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
62567 /* 176813 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2USIZrm),
62568 /* 176816 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62569 /* 176818 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62570 /* 176822 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62571 /* 176827 */ GIR_RootConstrainSelectedInstOperands,
62572 /* 176828 */ // GIR_Coverage, 10417,
62573 /* 176828 */ GIR_EraseRootFromParent_Done,
62574 /* 176829 */ // Label 3870: @176829
62575 /* 176829 */ GIM_Try, /*On fail goto*//*Label 3871*/ GIMT_Encode4(176888), // Rule ID 15189 //
62576 /* 176834 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
62577 /* 176837 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
62578 /* 176840 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62579 /* 176844 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62580 /* 176848 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62581 /* 176852 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62582 /* 176855 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62583 /* 176859 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62584 /* 176863 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62585 /* 176865 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62586 /* 176872 */ // (fp_to_uint:{ *:[i32] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2USIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
62587 /* 176872 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2USIZrm),
62588 /* 176875 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62589 /* 176877 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62590 /* 176881 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62591 /* 176886 */ GIR_RootConstrainSelectedInstOperands,
62592 /* 176887 */ // GIR_Coverage, 15189,
62593 /* 176887 */ GIR_EraseRootFromParent_Done,
62594 /* 176888 */ // Label 3871: @176888
62595 /* 176888 */ GIM_Try, /*On fail goto*//*Label 3872*/ GIMT_Encode4(176918), // Rule ID 10397 //
62596 /* 176893 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62597 /* 176896 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62598 /* 176899 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62599 /* 176903 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
62600 /* 176907 */ // (fp_to_uint:{ *:[i32] } FR32X:{ *:[f32] }:$src) => (VCVTTSS2USIZrr:{ *:[i32] } FR32X:{ *:[f32] }:$src)
62601 /* 176907 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2USIZrr),
62602 /* 176912 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62603 /* 176916 */ GIR_RootConstrainSelectedInstOperands,
62604 /* 176917 */ // GIR_Coverage, 10397,
62605 /* 176917 */ GIR_Done,
62606 /* 176918 */ // Label 3872: @176918
62607 /* 176918 */ GIM_Try, /*On fail goto*//*Label 3873*/ GIMT_Encode4(176948), // Rule ID 10415 //
62608 /* 176923 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62609 /* 176926 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62610 /* 176929 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62611 /* 176933 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
62612 /* 176937 */ // (fp_to_uint:{ *:[i32] } FR64X:{ *:[f64] }:$src) => (VCVTTSD2USIZrr:{ *:[i32] } FR64X:{ *:[f64] }:$src)
62613 /* 176937 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2USIZrr),
62614 /* 176942 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62615 /* 176946 */ GIR_RootConstrainSelectedInstOperands,
62616 /* 176947 */ // GIR_Coverage, 10415,
62617 /* 176947 */ GIR_Done,
62618 /* 176948 */ // Label 3873: @176948
62619 /* 176948 */ GIM_Try, /*On fail goto*//*Label 3874*/ GIMT_Encode4(176978), // Rule ID 15187 //
62620 /* 176953 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
62621 /* 176956 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
62622 /* 176959 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62623 /* 176963 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
62624 /* 176967 */ // (fp_to_uint:{ *:[i32] } FR16X:{ *:[f16] }:$src) => (VCVTTSH2USIZrr:{ *:[i32] } FR16X:{ *:[f16] }:$src)
62625 /* 176967 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2USIZrr),
62626 /* 176972 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62627 /* 176976 */ GIR_RootConstrainSelectedInstOperands,
62628 /* 176977 */ // GIR_Coverage, 15187,
62629 /* 176977 */ GIR_Done,
62630 /* 176978 */ // Label 3874: @176978
62631 /* 176978 */ GIM_Reject,
62632 /* 176979 */ // Label 3867: @176979
62633 /* 176979 */ GIM_Try, /*On fail goto*//*Label 3875*/ GIMT_Encode4(177038), // Rule ID 10408 //
62634 /* 176984 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62635 /* 176987 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62636 /* 176990 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62637 /* 176994 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62638 /* 176998 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62639 /* 177002 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62640 /* 177005 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62641 /* 177009 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62642 /* 177013 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62643 /* 177015 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62644 /* 177022 */ // (fp_to_uint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSS2USI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
62645 /* 177022 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2USI64Zrm),
62646 /* 177025 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62647 /* 177027 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62648 /* 177031 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62649 /* 177036 */ GIR_RootConstrainSelectedInstOperands,
62650 /* 177037 */ // GIR_Coverage, 10408,
62651 /* 177037 */ GIR_EraseRootFromParent_Done,
62652 /* 177038 */ // Label 3875: @177038
62653 /* 177038 */ GIM_Try, /*On fail goto*//*Label 3876*/ GIMT_Encode4(177097), // Rule ID 10426 //
62654 /* 177043 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62655 /* 177046 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62656 /* 177049 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62657 /* 177053 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62658 /* 177057 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62659 /* 177061 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62660 /* 177064 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62661 /* 177068 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62662 /* 177072 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62663 /* 177074 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62664 /* 177081 */ // (fp_to_uint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSD2USI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
62665 /* 177081 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2USI64Zrm),
62666 /* 177084 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62667 /* 177086 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62668 /* 177090 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62669 /* 177095 */ GIR_RootConstrainSelectedInstOperands,
62670 /* 177096 */ // GIR_Coverage, 10426,
62671 /* 177096 */ GIR_EraseRootFromParent_Done,
62672 /* 177097 */ // Label 3876: @177097
62673 /* 177097 */ GIM_Try, /*On fail goto*//*Label 3877*/ GIMT_Encode4(177156), // Rule ID 15198 //
62674 /* 177102 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
62675 /* 177105 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
62676 /* 177108 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62677 /* 177112 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62678 /* 177116 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62679 /* 177120 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62680 /* 177123 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62681 /* 177127 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62682 /* 177131 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62683 /* 177133 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62684 /* 177140 */ // (fp_to_uint:{ *:[i64] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2USI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
62685 /* 177140 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2USI64Zrm),
62686 /* 177143 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62687 /* 177145 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62688 /* 177149 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62689 /* 177154 */ GIR_RootConstrainSelectedInstOperands,
62690 /* 177155 */ // GIR_Coverage, 15198,
62691 /* 177155 */ GIR_EraseRootFromParent_Done,
62692 /* 177156 */ // Label 3877: @177156
62693 /* 177156 */ GIM_Try, /*On fail goto*//*Label 3878*/ GIMT_Encode4(177186), // Rule ID 10406 //
62694 /* 177161 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62695 /* 177164 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62696 /* 177167 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62697 /* 177171 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
62698 /* 177175 */ // (fp_to_uint:{ *:[i64] } FR32X:{ *:[f32] }:$src) => (VCVTTSS2USI64Zrr:{ *:[i64] } FR32X:{ *:[f32] }:$src)
62699 /* 177175 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2USI64Zrr),
62700 /* 177180 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62701 /* 177184 */ GIR_RootConstrainSelectedInstOperands,
62702 /* 177185 */ // GIR_Coverage, 10406,
62703 /* 177185 */ GIR_Done,
62704 /* 177186 */ // Label 3878: @177186
62705 /* 177186 */ GIM_Try, /*On fail goto*//*Label 3879*/ GIMT_Encode4(177216), // Rule ID 10424 //
62706 /* 177191 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62707 /* 177194 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62708 /* 177197 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62709 /* 177201 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
62710 /* 177205 */ // (fp_to_uint:{ *:[i64] } FR64X:{ *:[f64] }:$src) => (VCVTTSD2USI64Zrr:{ *:[i64] } FR64X:{ *:[f64] }:$src)
62711 /* 177205 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2USI64Zrr),
62712 /* 177210 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62713 /* 177214 */ GIR_RootConstrainSelectedInstOperands,
62714 /* 177215 */ // GIR_Coverage, 10424,
62715 /* 177215 */ GIR_Done,
62716 /* 177216 */ // Label 3879: @177216
62717 /* 177216 */ GIM_Try, /*On fail goto*//*Label 3880*/ GIMT_Encode4(177246), // Rule ID 15196 //
62718 /* 177221 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
62719 /* 177224 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
62720 /* 177227 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62721 /* 177231 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
62722 /* 177235 */ // (fp_to_uint:{ *:[i64] } FR16X:{ *:[f16] }:$src) => (VCVTTSH2USI64Zrr:{ *:[i64] } FR16X:{ *:[f16] }:$src)
62723 /* 177235 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2USI64Zrr),
62724 /* 177240 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62725 /* 177244 */ GIR_RootConstrainSelectedInstOperands,
62726 /* 177245 */ // GIR_Coverage, 15196,
62727 /* 177245 */ GIR_Done,
62728 /* 177246 */ // Label 3880: @177246
62729 /* 177246 */ GIM_Reject,
62730 /* 177247 */ // Label 3868: @177247
62731 /* 177247 */ GIM_Reject,
62732 /* 177248 */ // Label 51: @177248
62733 /* 177248 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 3893*/ GIMT_Encode4(180623),
62734 /* 177259 */ /*GILLT_s16*//*Label 3881*/ GIMT_Encode4(177343),
62735 /* 177263 */ /*GILLT_s32*//*Label 3882*/ GIMT_Encode4(177586),
62736 /* 177267 */ /*GILLT_s64*//*Label 3883*/ GIMT_Encode4(178249), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
62737 /* 177283 */ /*GILLT_v2s64*//*Label 3884*/ GIMT_Encode4(178908), GIMT_Encode4(0),
62738 /* 177291 */ /*GILLT_v4s32*//*Label 3885*/ GIMT_Encode4(178997),
62739 /* 177295 */ /*GILLT_v4s64*//*Label 3886*/ GIMT_Encode4(179295), GIMT_Encode4(0),
62740 /* 177303 */ /*GILLT_v8s16*//*Label 3887*/ GIMT_Encode4(179555),
62741 /* 177307 */ /*GILLT_v8s32*//*Label 3888*/ GIMT_Encode4(179823),
62742 /* 177311 */ /*GILLT_v8s64*//*Label 3889*/ GIMT_Encode4(180091), GIMT_Encode4(0), GIMT_Encode4(0),
62743 /* 177323 */ /*GILLT_v16s16*//*Label 3890*/ GIMT_Encode4(180266),
62744 /* 177327 */ /*GILLT_v16s32*//*Label 3891*/ GIMT_Encode4(180445), GIMT_Encode4(0), GIMT_Encode4(0),
62745 /* 177339 */ /*GILLT_v32s16*//*Label 3892*/ GIMT_Encode4(180534),
62746 /* 177343 */ // Label 3881: @177343
62747 /* 177343 */ GIM_Try, /*On fail goto*//*Label 3894*/ GIMT_Encode4(177419), // Rule ID 22179 //
62748 /* 177348 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
62749 /* 177351 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62750 /* 177354 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
62751 /* 177358 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62752 /* 177362 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62753 /* 177366 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62754 /* 177369 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62755 /* 177373 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62756 /* 177377 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62757 /* 177379 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62758 /* 177386 */ // (sint_to_fp:{ *:[f16] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSI642SHZrm:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), addr:{ *:[iPTR] }:$src)
62759 /* 177386 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
62760 /* 177389 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62761 /* 177393 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
62762 /* 177398 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62763 /* 177400 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SHZrm),
62764 /* 177403 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62765 /* 177405 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62766 /* 177408 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62767 /* 177412 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62768 /* 177417 */ GIR_RootConstrainSelectedInstOperands,
62769 /* 177418 */ // GIR_Coverage, 22179,
62770 /* 177418 */ GIR_EraseRootFromParent_Done,
62771 /* 177419 */ // Label 3894: @177419
62772 /* 177419 */ GIM_Try, /*On fail goto*//*Label 3895*/ GIMT_Encode4(177495), // Rule ID 22177 //
62773 /* 177424 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
62774 /* 177427 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62775 /* 177430 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
62776 /* 177434 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62777 /* 177438 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62778 /* 177442 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62779 /* 177445 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62780 /* 177449 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
62781 /* 177453 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62782 /* 177455 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62783 /* 177462 */ // (sint_to_fp:{ *:[f16] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTSI2SHZrm:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), addr:{ *:[iPTR] }:$src)
62784 /* 177462 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
62785 /* 177465 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62786 /* 177469 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
62787 /* 177474 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62788 /* 177476 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SHZrm),
62789 /* 177479 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62790 /* 177481 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62791 /* 177484 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62792 /* 177488 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62793 /* 177493 */ GIR_RootConstrainSelectedInstOperands,
62794 /* 177494 */ // GIR_Coverage, 22177,
62795 /* 177494 */ GIR_EraseRootFromParent_Done,
62796 /* 177495 */ // Label 3895: @177495
62797 /* 177495 */ GIM_Try, /*On fail goto*//*Label 3896*/ GIMT_Encode4(177540), // Rule ID 22181 //
62798 /* 177500 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
62799 /* 177503 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62800 /* 177506 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
62801 /* 177510 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62802 /* 177514 */ // (sint_to_fp:{ *:[f16] } GR32:{ *:[i32] }:$src) => (VCVTSI2SHZrr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), GR32:{ *:[i32] }:$src)
62803 /* 177514 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
62804 /* 177517 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62805 /* 177521 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
62806 /* 177526 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62807 /* 177528 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SHZrr),
62808 /* 177531 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62809 /* 177533 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62810 /* 177536 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
62811 /* 177538 */ GIR_RootConstrainSelectedInstOperands,
62812 /* 177539 */ // GIR_Coverage, 22181,
62813 /* 177539 */ GIR_EraseRootFromParent_Done,
62814 /* 177540 */ // Label 3896: @177540
62815 /* 177540 */ GIM_Try, /*On fail goto*//*Label 3897*/ GIMT_Encode4(177585), // Rule ID 22183 //
62816 /* 177545 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
62817 /* 177548 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62818 /* 177551 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
62819 /* 177555 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62820 /* 177559 */ // (sint_to_fp:{ *:[f16] } GR64:{ *:[i64] }:$src) => (VCVTSI642SHZrr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), GR64:{ *:[i64] }:$src)
62821 /* 177559 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
62822 /* 177562 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62823 /* 177566 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
62824 /* 177571 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62825 /* 177573 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SHZrr),
62826 /* 177576 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62827 /* 177578 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62828 /* 177581 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
62829 /* 177583 */ GIR_RootConstrainSelectedInstOperands,
62830 /* 177584 */ // GIR_Coverage, 22183,
62831 /* 177584 */ GIR_EraseRootFromParent_Done,
62832 /* 177585 */ // Label 3897: @177585
62833 /* 177585 */ GIM_Reject,
62834 /* 177586 */ // Label 3882: @177586
62835 /* 177586 */ GIM_Try, /*On fail goto*//*Label 3898*/ GIMT_Encode4(177645), // Rule ID 1794 //
62836 /* 177591 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
62837 /* 177594 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62838 /* 177597 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
62839 /* 177601 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62840 /* 177605 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62841 /* 177609 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62842 /* 177612 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62843 /* 177616 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62844 /* 177620 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62845 /* 177622 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62846 /* 177629 */ // (sint_to_fp:{ *:[f32] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSI642SSrm:{ *:[f32] } addr:{ *:[iPTR] }:$src)
62847 /* 177629 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSI642SSrm),
62848 /* 177632 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62849 /* 177634 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62850 /* 177638 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62851 /* 177643 */ GIR_RootConstrainSelectedInstOperands,
62852 /* 177644 */ // GIR_Coverage, 1794,
62853 /* 177644 */ GIR_EraseRootFromParent_Done,
62854 /* 177645 */ // Label 3898: @177645
62855 /* 177645 */ GIM_Try, /*On fail goto*//*Label 3899*/ GIMT_Encode4(177721), // Rule ID 17976 //
62856 /* 177650 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
62857 /* 177653 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62858 /* 177656 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
62859 /* 177660 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62860 /* 177664 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62861 /* 177668 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62862 /* 177671 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62863 /* 177675 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62864 /* 177679 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62865 /* 177681 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62866 /* 177688 */ // (sint_to_fp:{ *:[f32] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSI642SSrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
62867 /* 177688 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
62868 /* 177691 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62869 /* 177695 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
62870 /* 177700 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62871 /* 177702 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SSrm),
62872 /* 177705 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62873 /* 177707 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62874 /* 177710 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62875 /* 177714 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62876 /* 177719 */ GIR_RootConstrainSelectedInstOperands,
62877 /* 177720 */ // GIR_Coverage, 17976,
62878 /* 177720 */ GIR_EraseRootFromParent_Done,
62879 /* 177721 */ // Label 3899: @177721
62880 /* 177721 */ GIM_Try, /*On fail goto*//*Label 3900*/ GIMT_Encode4(177797), // Rule ID 21130 //
62881 /* 177726 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62882 /* 177729 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62883 /* 177732 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
62884 /* 177736 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62885 /* 177740 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62886 /* 177744 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62887 /* 177747 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62888 /* 177751 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62889 /* 177755 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62890 /* 177757 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62891 /* 177764 */ // (sint_to_fp:{ *:[f32] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSI642SSZrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
62892 /* 177764 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
62893 /* 177767 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62894 /* 177771 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
62895 /* 177776 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62896 /* 177778 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SSZrm),
62897 /* 177781 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62898 /* 177783 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62899 /* 177786 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62900 /* 177790 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62901 /* 177795 */ GIR_RootConstrainSelectedInstOperands,
62902 /* 177796 */ // GIR_Coverage, 21130,
62903 /* 177796 */ GIR_EraseRootFromParent_Done,
62904 /* 177797 */ // Label 3900: @177797
62905 /* 177797 */ GIM_Try, /*On fail goto*//*Label 3901*/ GIMT_Encode4(177856), // Rule ID 1790 //
62906 /* 177802 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
62907 /* 177805 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62908 /* 177808 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
62909 /* 177812 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62910 /* 177816 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62911 /* 177820 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62912 /* 177823 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62913 /* 177827 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
62914 /* 177831 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62915 /* 177833 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62916 /* 177840 */ // (sint_to_fp:{ *:[f32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (CVTSI2SSrm:{ *:[f32] } addr:{ *:[iPTR] }:$src)
62917 /* 177840 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSI2SSrm),
62918 /* 177843 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62919 /* 177845 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62920 /* 177849 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62921 /* 177854 */ GIR_RootConstrainSelectedInstOperands,
62922 /* 177855 */ // GIR_Coverage, 1790,
62923 /* 177855 */ GIR_EraseRootFromParent_Done,
62924 /* 177856 */ // Label 3901: @177856
62925 /* 177856 */ GIM_Try, /*On fail goto*//*Label 3902*/ GIMT_Encode4(177932), // Rule ID 17974 //
62926 /* 177861 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
62927 /* 177864 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62928 /* 177867 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
62929 /* 177871 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62930 /* 177875 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62931 /* 177879 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62932 /* 177882 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62933 /* 177886 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
62934 /* 177890 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62935 /* 177892 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62936 /* 177899 */ // (sint_to_fp:{ *:[f32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTSI2SSrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
62937 /* 177899 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
62938 /* 177902 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62939 /* 177906 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
62940 /* 177911 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62941 /* 177913 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SSrm),
62942 /* 177916 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62943 /* 177918 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62944 /* 177921 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62945 /* 177925 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62946 /* 177930 */ GIR_RootConstrainSelectedInstOperands,
62947 /* 177931 */ // GIR_Coverage, 17974,
62948 /* 177931 */ GIR_EraseRootFromParent_Done,
62949 /* 177932 */ // Label 3902: @177932
62950 /* 177932 */ GIM_Try, /*On fail goto*//*Label 3903*/ GIMT_Encode4(178008), // Rule ID 21128 //
62951 /* 177937 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62952 /* 177940 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62953 /* 177943 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
62954 /* 177947 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62955 /* 177951 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62956 /* 177955 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62957 /* 177958 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62958 /* 177962 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
62959 /* 177966 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62960 /* 177968 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62961 /* 177975 */ // (sint_to_fp:{ *:[f32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTSI2SSZrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
62962 /* 177975 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
62963 /* 177978 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62964 /* 177982 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
62965 /* 177987 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62966 /* 177989 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SSZrm),
62967 /* 177992 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62968 /* 177994 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62969 /* 177997 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62970 /* 178001 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62971 /* 178006 */ GIR_RootConstrainSelectedInstOperands,
62972 /* 178007 */ // GIR_Coverage, 21128,
62973 /* 178007 */ GIR_EraseRootFromParent_Done,
62974 /* 178008 */ // Label 3903: @178008
62975 /* 178008 */ GIM_Try, /*On fail goto*//*Label 3904*/ GIMT_Encode4(178038), // Rule ID 1788 //
62976 /* 178013 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
62977 /* 178016 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62978 /* 178019 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
62979 /* 178023 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62980 /* 178027 */ // (sint_to_fp:{ *:[f32] } GR32:{ *:[i32] }:$src) => (CVTSI2SSrr:{ *:[f32] } GR32:{ *:[i32] }:$src)
62981 /* 178027 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSI2SSrr),
62982 /* 178032 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62983 /* 178036 */ GIR_RootConstrainSelectedInstOperands,
62984 /* 178037 */ // GIR_Coverage, 1788,
62985 /* 178037 */ GIR_Done,
62986 /* 178038 */ // Label 3904: @178038
62987 /* 178038 */ GIM_Try, /*On fail goto*//*Label 3905*/ GIMT_Encode4(178068), // Rule ID 1792 //
62988 /* 178043 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
62989 /* 178046 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62990 /* 178049 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
62991 /* 178053 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62992 /* 178057 */ // (sint_to_fp:{ *:[f32] } GR64:{ *:[i64] }:$src) => (CVTSI642SSrr:{ *:[f32] } GR64:{ *:[i64] }:$src)
62993 /* 178057 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSI642SSrr),
62994 /* 178062 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62995 /* 178066 */ GIR_RootConstrainSelectedInstOperands,
62996 /* 178067 */ // GIR_Coverage, 1792,
62997 /* 178067 */ GIR_Done,
62998 /* 178068 */ // Label 3905: @178068
62999 /* 178068 */ GIM_Try, /*On fail goto*//*Label 3906*/ GIMT_Encode4(178113), // Rule ID 17982 //
63000 /* 178073 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
63001 /* 178076 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63002 /* 178079 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
63003 /* 178083 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
63004 /* 178087 */ // (sint_to_fp:{ *:[f32] } GR32:{ *:[i32] }:$src) => (VCVTSI2SSrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), GR32:{ *:[i32] }:$src)
63005 /* 178087 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
63006 /* 178090 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63007 /* 178094 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
63008 /* 178099 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63009 /* 178101 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SSrr),
63010 /* 178104 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63011 /* 178106 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63012 /* 178109 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
63013 /* 178111 */ GIR_RootConstrainSelectedInstOperands,
63014 /* 178112 */ // GIR_Coverage, 17982,
63015 /* 178112 */ GIR_EraseRootFromParent_Done,
63016 /* 178113 */ // Label 3906: @178113
63017 /* 178113 */ GIM_Try, /*On fail goto*//*Label 3907*/ GIMT_Encode4(178158), // Rule ID 17984 //
63018 /* 178118 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
63019 /* 178121 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63020 /* 178124 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
63021 /* 178128 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63022 /* 178132 */ // (sint_to_fp:{ *:[f32] } GR64:{ *:[i64] }:$src) => (VCVTSI642SSrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), GR64:{ *:[i64] }:$src)
63023 /* 178132 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
63024 /* 178135 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63025 /* 178139 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
63026 /* 178144 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63027 /* 178146 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SSrr),
63028 /* 178149 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63029 /* 178151 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63030 /* 178154 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
63031 /* 178156 */ GIR_RootConstrainSelectedInstOperands,
63032 /* 178157 */ // GIR_Coverage, 17984,
63033 /* 178157 */ GIR_EraseRootFromParent_Done,
63034 /* 178158 */ // Label 3907: @178158
63035 /* 178158 */ GIM_Try, /*On fail goto*//*Label 3908*/ GIMT_Encode4(178203), // Rule ID 21136 //
63036 /* 178163 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63037 /* 178166 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63038 /* 178169 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
63039 /* 178173 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
63040 /* 178177 */ // (sint_to_fp:{ *:[f32] } GR32:{ *:[i32] }:$src) => (VCVTSI2SSZrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), GR32:{ *:[i32] }:$src)
63041 /* 178177 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
63042 /* 178180 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63043 /* 178184 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
63044 /* 178189 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63045 /* 178191 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SSZrr),
63046 /* 178194 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63047 /* 178196 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63048 /* 178199 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
63049 /* 178201 */ GIR_RootConstrainSelectedInstOperands,
63050 /* 178202 */ // GIR_Coverage, 21136,
63051 /* 178202 */ GIR_EraseRootFromParent_Done,
63052 /* 178203 */ // Label 3908: @178203
63053 /* 178203 */ GIM_Try, /*On fail goto*//*Label 3909*/ GIMT_Encode4(178248), // Rule ID 21138 //
63054 /* 178208 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63055 /* 178211 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63056 /* 178214 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
63057 /* 178218 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63058 /* 178222 */ // (sint_to_fp:{ *:[f32] } GR64:{ *:[i64] }:$src) => (VCVTSI642SSZrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), GR64:{ *:[i64] }:$src)
63059 /* 178222 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
63060 /* 178225 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63061 /* 178229 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
63062 /* 178234 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63063 /* 178236 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SSZrr),
63064 /* 178239 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63065 /* 178241 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63066 /* 178244 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
63067 /* 178246 */ GIR_RootConstrainSelectedInstOperands,
63068 /* 178247 */ // GIR_Coverage, 21138,
63069 /* 178247 */ GIR_EraseRootFromParent_Done,
63070 /* 178248 */ // Label 3909: @178248
63071 /* 178248 */ GIM_Reject,
63072 /* 178249 */ // Label 3883: @178249
63073 /* 178249 */ GIM_Try, /*On fail goto*//*Label 3910*/ GIMT_Encode4(178308), // Rule ID 1802 //
63074 /* 178254 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
63075 /* 178257 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63076 /* 178260 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
63077 /* 178264 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63078 /* 178268 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63079 /* 178272 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63080 /* 178275 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63081 /* 178279 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63082 /* 178283 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63083 /* 178285 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63084 /* 178292 */ // (sint_to_fp:{ *:[f64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSI642SDrm:{ *:[f64] } addr:{ *:[iPTR] }:$src)
63085 /* 178292 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSI642SDrm),
63086 /* 178295 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63087 /* 178297 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63088 /* 178301 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63089 /* 178306 */ GIR_RootConstrainSelectedInstOperands,
63090 /* 178307 */ // GIR_Coverage, 1802,
63091 /* 178307 */ GIR_EraseRootFromParent_Done,
63092 /* 178308 */ // Label 3910: @178308
63093 /* 178308 */ GIM_Try, /*On fail goto*//*Label 3911*/ GIMT_Encode4(178384), // Rule ID 17980 //
63094 /* 178313 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
63095 /* 178316 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63096 /* 178319 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
63097 /* 178323 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63098 /* 178327 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63099 /* 178331 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63100 /* 178334 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63101 /* 178338 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63102 /* 178342 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63103 /* 178344 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63104 /* 178351 */ // (sint_to_fp:{ *:[f64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSI642SDrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
63105 /* 178351 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
63106 /* 178354 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63107 /* 178358 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
63108 /* 178363 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63109 /* 178365 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SDrm),
63110 /* 178368 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63111 /* 178370 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63112 /* 178373 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63113 /* 178377 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63114 /* 178382 */ GIR_RootConstrainSelectedInstOperands,
63115 /* 178383 */ // GIR_Coverage, 17980,
63116 /* 178383 */ GIR_EraseRootFromParent_Done,
63117 /* 178384 */ // Label 3911: @178384
63118 /* 178384 */ GIM_Try, /*On fail goto*//*Label 3912*/ GIMT_Encode4(178460), // Rule ID 21134 //
63119 /* 178389 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63120 /* 178392 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63121 /* 178395 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
63122 /* 178399 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63123 /* 178403 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63124 /* 178407 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63125 /* 178410 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63126 /* 178414 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63127 /* 178418 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63128 /* 178420 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63129 /* 178427 */ // (sint_to_fp:{ *:[f64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSI642SDZrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
63130 /* 178427 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
63131 /* 178430 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63132 /* 178434 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
63133 /* 178439 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63134 /* 178441 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SDZrm),
63135 /* 178444 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63136 /* 178446 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63137 /* 178449 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63138 /* 178453 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63139 /* 178458 */ GIR_RootConstrainSelectedInstOperands,
63140 /* 178459 */ // GIR_Coverage, 21134,
63141 /* 178459 */ GIR_EraseRootFromParent_Done,
63142 /* 178460 */ // Label 3912: @178460
63143 /* 178460 */ GIM_Try, /*On fail goto*//*Label 3913*/ GIMT_Encode4(178519), // Rule ID 1798 //
63144 /* 178465 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
63145 /* 178468 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63146 /* 178471 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
63147 /* 178475 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63148 /* 178479 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63149 /* 178483 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63150 /* 178486 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63151 /* 178490 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
63152 /* 178494 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63153 /* 178496 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63154 /* 178503 */ // (sint_to_fp:{ *:[f64] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (CVTSI2SDrm:{ *:[f64] } addr:{ *:[iPTR] }:$src)
63155 /* 178503 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSI2SDrm),
63156 /* 178506 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63157 /* 178508 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63158 /* 178512 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63159 /* 178517 */ GIR_RootConstrainSelectedInstOperands,
63160 /* 178518 */ // GIR_Coverage, 1798,
63161 /* 178518 */ GIR_EraseRootFromParent_Done,
63162 /* 178519 */ // Label 3913: @178519
63163 /* 178519 */ GIM_Try, /*On fail goto*//*Label 3914*/ GIMT_Encode4(178595), // Rule ID 17978 //
63164 /* 178524 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
63165 /* 178527 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63166 /* 178530 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
63167 /* 178534 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63168 /* 178538 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63169 /* 178542 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63170 /* 178545 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63171 /* 178549 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
63172 /* 178553 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63173 /* 178555 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63174 /* 178562 */ // (sint_to_fp:{ *:[f64] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTSI2SDrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
63175 /* 178562 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
63176 /* 178565 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63177 /* 178569 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
63178 /* 178574 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63179 /* 178576 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SDrm),
63180 /* 178579 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63181 /* 178581 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63182 /* 178584 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63183 /* 178588 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63184 /* 178593 */ GIR_RootConstrainSelectedInstOperands,
63185 /* 178594 */ // GIR_Coverage, 17978,
63186 /* 178594 */ GIR_EraseRootFromParent_Done,
63187 /* 178595 */ // Label 3914: @178595
63188 /* 178595 */ GIM_Try, /*On fail goto*//*Label 3915*/ GIMT_Encode4(178671), // Rule ID 21132 //
63189 /* 178600 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63190 /* 178603 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63191 /* 178606 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
63192 /* 178610 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63193 /* 178614 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63194 /* 178618 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63195 /* 178621 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63196 /* 178625 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
63197 /* 178629 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63198 /* 178631 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63199 /* 178638 */ // (sint_to_fp:{ *:[f64] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTSI2SDZrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
63200 /* 178638 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
63201 /* 178641 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63202 /* 178645 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
63203 /* 178650 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63204 /* 178652 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SDZrm),
63205 /* 178655 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63206 /* 178657 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63207 /* 178660 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63208 /* 178664 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63209 /* 178669 */ GIR_RootConstrainSelectedInstOperands,
63210 /* 178670 */ // GIR_Coverage, 21132,
63211 /* 178670 */ GIR_EraseRootFromParent_Done,
63212 /* 178671 */ // Label 3915: @178671
63213 /* 178671 */ GIM_Try, /*On fail goto*//*Label 3916*/ GIMT_Encode4(178697), // Rule ID 1796 //
63214 /* 178676 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
63215 /* 178679 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63216 /* 178682 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
63217 /* 178686 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
63218 /* 178690 */ // (sint_to_fp:{ *:[f64] } GR32:{ *:[i32] }:$src) => (CVTSI2SDrr:{ *:[f64] } GR32:{ *:[i32] }:$src)
63219 /* 178690 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSI2SDrr),
63220 /* 178695 */ GIR_RootConstrainSelectedInstOperands,
63221 /* 178696 */ // GIR_Coverage, 1796,
63222 /* 178696 */ GIR_Done,
63223 /* 178697 */ // Label 3916: @178697
63224 /* 178697 */ GIM_Try, /*On fail goto*//*Label 3917*/ GIMT_Encode4(178727), // Rule ID 1800 //
63225 /* 178702 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
63226 /* 178705 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63227 /* 178708 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
63228 /* 178712 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63229 /* 178716 */ // (sint_to_fp:{ *:[f64] } GR64:{ *:[i64] }:$src) => (CVTSI642SDrr:{ *:[f64] } GR64:{ *:[i64] }:$src)
63230 /* 178716 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSI642SDrr),
63231 /* 178721 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63232 /* 178725 */ GIR_RootConstrainSelectedInstOperands,
63233 /* 178726 */ // GIR_Coverage, 1800,
63234 /* 178726 */ GIR_Done,
63235 /* 178727 */ // Label 3917: @178727
63236 /* 178727 */ GIM_Try, /*On fail goto*//*Label 3918*/ GIMT_Encode4(178772), // Rule ID 17986 //
63237 /* 178732 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
63238 /* 178735 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63239 /* 178738 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
63240 /* 178742 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
63241 /* 178746 */ // (sint_to_fp:{ *:[f64] } GR32:{ *:[i32] }:$src) => (VCVTSI2SDrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), GR32:{ *:[i32] }:$src)
63242 /* 178746 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
63243 /* 178749 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63244 /* 178753 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
63245 /* 178758 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63246 /* 178760 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SDrr),
63247 /* 178763 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63248 /* 178765 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63249 /* 178768 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
63250 /* 178770 */ GIR_RootConstrainSelectedInstOperands,
63251 /* 178771 */ // GIR_Coverage, 17986,
63252 /* 178771 */ GIR_EraseRootFromParent_Done,
63253 /* 178772 */ // Label 3918: @178772
63254 /* 178772 */ GIM_Try, /*On fail goto*//*Label 3919*/ GIMT_Encode4(178817), // Rule ID 17988 //
63255 /* 178777 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
63256 /* 178780 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63257 /* 178783 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
63258 /* 178787 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63259 /* 178791 */ // (sint_to_fp:{ *:[f64] } GR64:{ *:[i64] }:$src) => (VCVTSI642SDrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), GR64:{ *:[i64] }:$src)
63260 /* 178791 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
63261 /* 178794 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63262 /* 178798 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
63263 /* 178803 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63264 /* 178805 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SDrr),
63265 /* 178808 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63266 /* 178810 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63267 /* 178813 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
63268 /* 178815 */ GIR_RootConstrainSelectedInstOperands,
63269 /* 178816 */ // GIR_Coverage, 17988,
63270 /* 178816 */ GIR_EraseRootFromParent_Done,
63271 /* 178817 */ // Label 3919: @178817
63272 /* 178817 */ GIM_Try, /*On fail goto*//*Label 3920*/ GIMT_Encode4(178862), // Rule ID 21140 //
63273 /* 178822 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63274 /* 178825 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63275 /* 178828 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
63276 /* 178832 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
63277 /* 178836 */ // (sint_to_fp:{ *:[f64] } GR32:{ *:[i32] }:$src) => (VCVTSI2SDZrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), GR32:{ *:[i32] }:$src)
63278 /* 178836 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
63279 /* 178839 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63280 /* 178843 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
63281 /* 178848 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63282 /* 178850 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SDZrr),
63283 /* 178853 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63284 /* 178855 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63285 /* 178858 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
63286 /* 178860 */ GIR_RootConstrainSelectedInstOperands,
63287 /* 178861 */ // GIR_Coverage, 21140,
63288 /* 178861 */ GIR_EraseRootFromParent_Done,
63289 /* 178862 */ // Label 3920: @178862
63290 /* 178862 */ GIM_Try, /*On fail goto*//*Label 3921*/ GIMT_Encode4(178907), // Rule ID 21142 //
63291 /* 178867 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63292 /* 178870 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63293 /* 178873 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
63294 /* 178877 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63295 /* 178881 */ // (sint_to_fp:{ *:[f64] } GR64:{ *:[i64] }:$src) => (VCVTSI642SDZrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), GR64:{ *:[i64] }:$src)
63296 /* 178881 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
63297 /* 178884 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63298 /* 178888 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
63299 /* 178893 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63300 /* 178895 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SDZrr),
63301 /* 178898 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63302 /* 178900 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63303 /* 178903 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
63304 /* 178905 */ GIR_RootConstrainSelectedInstOperands,
63305 /* 178906 */ // GIR_Coverage, 21142,
63306 /* 178906 */ GIR_EraseRootFromParent_Done,
63307 /* 178907 */ // Label 3921: @178907
63308 /* 178907 */ GIM_Reject,
63309 /* 178908 */ // Label 3884: @178908
63310 /* 178908 */ GIM_Try, /*On fail goto*//*Label 3922*/ GIMT_Encode4(178996),
63311 /* 178913 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
63312 /* 178916 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63313 /* 178920 */ GIM_Try, /*On fail goto*//*Label 3923*/ GIMT_Encode4(178972), // Rule ID 11379 //
63314 /* 178925 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
63315 /* 178928 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63316 /* 178932 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63317 /* 178936 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63318 /* 178939 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63319 /* 178943 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63320 /* 178947 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63321 /* 178949 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63322 /* 178956 */ // (sint_to_fp:{ *:[v2f64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTQQ2PDZ128rm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
63323 /* 178956 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PDZ128rm),
63324 /* 178959 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63325 /* 178961 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63326 /* 178965 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63327 /* 178970 */ GIR_RootConstrainSelectedInstOperands,
63328 /* 178971 */ // GIR_Coverage, 11379,
63329 /* 178971 */ GIR_EraseRootFromParent_Done,
63330 /* 178972 */ // Label 3923: @178972
63331 /* 178972 */ GIM_Try, /*On fail goto*//*Label 3924*/ GIMT_Encode4(178995), // Rule ID 11375 //
63332 /* 178977 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
63333 /* 178980 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63334 /* 178984 */ // (sint_to_fp:{ *:[v2f64] } VR128X:{ *:[v2i64] }:$src) => (VCVTQQ2PDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2i64] }:$src)
63335 /* 178984 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PDZ128rr),
63336 /* 178989 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63337 /* 178993 */ GIR_RootConstrainSelectedInstOperands,
63338 /* 178994 */ // GIR_Coverage, 11375,
63339 /* 178994 */ GIR_Done,
63340 /* 178995 */ // Label 3924: @178995
63341 /* 178995 */ GIM_Reject,
63342 /* 178996 */ // Label 3922: @178996
63343 /* 178996 */ GIM_Reject,
63344 /* 178997 */ // Label 3885: @178997
63345 /* 178997 */ GIM_Try, /*On fail goto*//*Label 3925*/ GIMT_Encode4(179056), // Rule ID 1870 //
63346 /* 179002 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
63347 /* 179005 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
63348 /* 179008 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63349 /* 179012 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63350 /* 179016 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63351 /* 179020 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63352 /* 179023 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63353 /* 179027 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63354 /* 179031 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63355 /* 179033 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63356 /* 179040 */ // (sint_to_fp:{ *:[v4f32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
63357 /* 179040 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSrm),
63358 /* 179043 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63359 /* 179045 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63360 /* 179049 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63361 /* 179054 */ GIR_RootConstrainSelectedInstOperands,
63362 /* 179055 */ // GIR_Coverage, 1870,
63363 /* 179055 */ GIR_EraseRootFromParent_Done,
63364 /* 179056 */ // Label 3925: @179056
63365 /* 179056 */ GIM_Try, /*On fail goto*//*Label 3926*/ GIMT_Encode4(179115), // Rule ID 10755 //
63366 /* 179061 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
63367 /* 179064 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
63368 /* 179067 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63369 /* 179071 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63370 /* 179075 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63371 /* 179079 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63372 /* 179082 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63373 /* 179086 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63374 /* 179090 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63375 /* 179092 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63376 /* 179099 */ // (sint_to_fp:{ *:[v4f32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PSZ128rm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
63377 /* 179099 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSZ128rm),
63378 /* 179102 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63379 /* 179104 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63380 /* 179108 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63381 /* 179113 */ GIR_RootConstrainSelectedInstOperands,
63382 /* 179114 */ // GIR_Coverage, 10755,
63383 /* 179114 */ GIR_EraseRootFromParent_Done,
63384 /* 179115 */ // Label 3926: @179115
63385 /* 179115 */ GIM_Try, /*On fail goto*//*Label 3927*/ GIMT_Encode4(179174), // Rule ID 11511 //
63386 /* 179120 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
63387 /* 179123 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
63388 /* 179126 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63389 /* 179130 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63390 /* 179134 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63391 /* 179138 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63392 /* 179141 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63393 /* 179145 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63394 /* 179149 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63395 /* 179151 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63396 /* 179158 */ // (sint_to_fp:{ *:[v4f32] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTQQ2PSZ256rm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
63397 /* 179158 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PSZ256rm),
63398 /* 179161 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63399 /* 179163 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63400 /* 179167 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63401 /* 179172 */ GIR_RootConstrainSelectedInstOperands,
63402 /* 179173 */ // GIR_Coverage, 11511,
63403 /* 179173 */ GIR_EraseRootFromParent_Done,
63404 /* 179174 */ // Label 3927: @179174
63405 /* 179174 */ GIM_Try, /*On fail goto*//*Label 3928*/ GIMT_Encode4(179204), // Rule ID 1868 //
63406 /* 179179 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
63407 /* 179182 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
63408 /* 179185 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63409 /* 179189 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63410 /* 179193 */ // (sint_to_fp:{ *:[v4f32] } VR128:{ *:[v4i32] }:$src) => (VCVTDQ2PSrr:{ *:[v4f32] } VR128:{ *:[v4i32] }:$src)
63411 /* 179193 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSrr),
63412 /* 179198 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63413 /* 179202 */ GIR_RootConstrainSelectedInstOperands,
63414 /* 179203 */ // GIR_Coverage, 1868,
63415 /* 179203 */ GIR_Done,
63416 /* 179204 */ // Label 3928: @179204
63417 /* 179204 */ GIM_Try, /*On fail goto*//*Label 3929*/ GIMT_Encode4(179234), // Rule ID 1876 //
63418 /* 179209 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
63419 /* 179212 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
63420 /* 179215 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63421 /* 179219 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63422 /* 179223 */ // (sint_to_fp:{ *:[v4f32] } VR128:{ *:[v4i32] }:$src) => (CVTDQ2PSrr:{ *:[v4f32] } VR128:{ *:[v4i32] }:$src)
63423 /* 179223 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTDQ2PSrr),
63424 /* 179228 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63425 /* 179232 */ GIR_RootConstrainSelectedInstOperands,
63426 /* 179233 */ // GIR_Coverage, 1876,
63427 /* 179233 */ GIR_Done,
63428 /* 179234 */ // Label 3929: @179234
63429 /* 179234 */ GIM_Try, /*On fail goto*//*Label 3930*/ GIMT_Encode4(179264), // Rule ID 10751 //
63430 /* 179239 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
63431 /* 179242 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
63432 /* 179245 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63433 /* 179249 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63434 /* 179253 */ // (sint_to_fp:{ *:[v4f32] } VR128X:{ *:[v4i32] }:$src) => (VCVTDQ2PSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4i32] }:$src)
63435 /* 179253 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSZ128rr),
63436 /* 179258 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63437 /* 179262 */ GIR_RootConstrainSelectedInstOperands,
63438 /* 179263 */ // GIR_Coverage, 10751,
63439 /* 179263 */ GIR_Done,
63440 /* 179264 */ // Label 3930: @179264
63441 /* 179264 */ GIM_Try, /*On fail goto*//*Label 3931*/ GIMT_Encode4(179294), // Rule ID 11507 //
63442 /* 179269 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
63443 /* 179272 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
63444 /* 179275 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63445 /* 179279 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63446 /* 179283 */ // (sint_to_fp:{ *:[v4f32] } VR256X:{ *:[v4i64] }:$src) => (VCVTQQ2PSZ256rr:{ *:[v4f32] } VR256X:{ *:[v4i64] }:$src)
63447 /* 179283 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PSZ256rr),
63448 /* 179288 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63449 /* 179292 */ GIR_RootConstrainSelectedInstOperands,
63450 /* 179293 */ // GIR_Coverage, 11507,
63451 /* 179293 */ GIR_Done,
63452 /* 179294 */ // Label 3931: @179294
63453 /* 179294 */ GIM_Reject,
63454 /* 179295 */ // Label 3886: @179295
63455 /* 179295 */ GIM_Try, /*On fail goto*//*Label 3932*/ GIMT_Encode4(179354), // Rule ID 1945 //
63456 /* 179300 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
63457 /* 179303 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
63458 /* 179306 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
63459 /* 179310 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63460 /* 179314 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63461 /* 179318 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63462 /* 179321 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63463 /* 179325 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63464 /* 179329 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63465 /* 179331 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63466 /* 179338 */ // (sint_to_fp:{ *:[v4f64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PDYrm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
63467 /* 179338 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PDYrm),
63468 /* 179341 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63469 /* 179343 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63470 /* 179347 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63471 /* 179352 */ GIR_RootConstrainSelectedInstOperands,
63472 /* 179353 */ // GIR_Coverage, 1945,
63473 /* 179353 */ GIR_EraseRootFromParent_Done,
63474 /* 179354 */ // Label 3932: @179354
63475 /* 179354 */ GIM_Try, /*On fail goto*//*Label 3933*/ GIMT_Encode4(179413), // Rule ID 10728 //
63476 /* 179359 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
63477 /* 179362 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
63478 /* 179365 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63479 /* 179369 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63480 /* 179373 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63481 /* 179377 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63482 /* 179380 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63483 /* 179384 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63484 /* 179388 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63485 /* 179390 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63486 /* 179397 */ // (sint_to_fp:{ *:[v4f64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PDZ256rm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
63487 /* 179397 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PDZ256rm),
63488 /* 179400 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63489 /* 179402 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63490 /* 179406 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63491 /* 179411 */ GIR_RootConstrainSelectedInstOperands,
63492 /* 179412 */ // GIR_Coverage, 10728,
63493 /* 179412 */ GIR_EraseRootFromParent_Done,
63494 /* 179413 */ // Label 3933: @179413
63495 /* 179413 */ GIM_Try, /*On fail goto*//*Label 3934*/ GIMT_Encode4(179472), // Rule ID 11391 //
63496 /* 179418 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
63497 /* 179421 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
63498 /* 179424 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63499 /* 179428 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63500 /* 179432 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63501 /* 179436 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63502 /* 179439 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63503 /* 179443 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63504 /* 179447 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63505 /* 179449 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63506 /* 179456 */ // (sint_to_fp:{ *:[v4f64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTQQ2PDZ256rm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
63507 /* 179456 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PDZ256rm),
63508 /* 179459 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63509 /* 179461 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63510 /* 179465 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63511 /* 179470 */ GIR_RootConstrainSelectedInstOperands,
63512 /* 179471 */ // GIR_Coverage, 11391,
63513 /* 179471 */ GIR_EraseRootFromParent_Done,
63514 /* 179472 */ // Label 3934: @179472
63515 /* 179472 */ GIM_Try, /*On fail goto*//*Label 3935*/ GIMT_Encode4(179498), // Rule ID 1947 //
63516 /* 179477 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
63517 /* 179480 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
63518 /* 179483 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
63519 /* 179487 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63520 /* 179491 */ // (sint_to_fp:{ *:[v4f64] } VR128:{ *:[v4i32] }:$src) => (VCVTDQ2PDYrr:{ *:[v4f64] } VR128:{ *:[v4i32] }:$src)
63521 /* 179491 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PDYrr),
63522 /* 179496 */ GIR_RootConstrainSelectedInstOperands,
63523 /* 179497 */ // GIR_Coverage, 1947,
63524 /* 179497 */ GIR_Done,
63525 /* 179498 */ // Label 3935: @179498
63526 /* 179498 */ GIM_Try, /*On fail goto*//*Label 3936*/ GIMT_Encode4(179524), // Rule ID 10724 //
63527 /* 179503 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
63528 /* 179506 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
63529 /* 179509 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63530 /* 179513 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63531 /* 179517 */ // (sint_to_fp:{ *:[v4f64] } VR128X:{ *:[v4i32] }:$src) => (VCVTDQ2PDZ256rr:{ *:[v4f64] } VR128X:{ *:[v4i32] }:$src)
63532 /* 179517 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PDZ256rr),
63533 /* 179522 */ GIR_RootConstrainSelectedInstOperands,
63534 /* 179523 */ // GIR_Coverage, 10724,
63535 /* 179523 */ GIR_Done,
63536 /* 179524 */ // Label 3936: @179524
63537 /* 179524 */ GIM_Try, /*On fail goto*//*Label 3937*/ GIMT_Encode4(179554), // Rule ID 11387 //
63538 /* 179529 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
63539 /* 179532 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
63540 /* 179535 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63541 /* 179539 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63542 /* 179543 */ // (sint_to_fp:{ *:[v4f64] } VR256X:{ *:[v4i64] }:$src) => (VCVTQQ2PDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4i64] }:$src)
63543 /* 179543 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PDZ256rr),
63544 /* 179548 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63545 /* 179552 */ GIR_RootConstrainSelectedInstOperands,
63546 /* 179553 */ // GIR_Coverage, 11387,
63547 /* 179553 */ GIR_Done,
63548 /* 179554 */ // Label 3937: @179554
63549 /* 179554 */ GIM_Reject,
63550 /* 179555 */ // Label 3887: @179555
63551 /* 179555 */ GIM_Try, /*On fail goto*//*Label 3938*/ GIMT_Encode4(179614), // Rule ID 11457 //
63552 /* 179560 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
63553 /* 179563 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
63554 /* 179566 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63555 /* 179570 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63556 /* 179574 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63557 /* 179578 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63558 /* 179581 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63559 /* 179585 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63560 /* 179589 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63561 /* 179591 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63562 /* 179598 */ // (sint_to_fp:{ *:[v8f16] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PHZ256rm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
63563 /* 179598 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PHZ256rm),
63564 /* 179601 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63565 /* 179603 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63566 /* 179607 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63567 /* 179612 */ GIR_RootConstrainSelectedInstOperands,
63568 /* 179613 */ // GIR_Coverage, 11457,
63569 /* 179613 */ GIR_EraseRootFromParent_Done,
63570 /* 179614 */ // Label 3938: @179614
63571 /* 179614 */ GIM_Try, /*On fail goto*//*Label 3939*/ GIMT_Encode4(179673), // Rule ID 14823 //
63572 /* 179619 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
63573 /* 179622 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
63574 /* 179625 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63575 /* 179629 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63576 /* 179633 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63577 /* 179637 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63578 /* 179640 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63579 /* 179644 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63580 /* 179648 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63581 /* 179650 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63582 /* 179657 */ // (sint_to_fp:{ *:[v8f16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTW2PHZ128rm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
63583 /* 179657 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTW2PHZ128rm),
63584 /* 179660 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63585 /* 179662 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63586 /* 179666 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63587 /* 179671 */ GIR_RootConstrainSelectedInstOperands,
63588 /* 179672 */ // GIR_Coverage, 14823,
63589 /* 179672 */ GIR_EraseRootFromParent_Done,
63590 /* 179673 */ // Label 3939: @179673
63591 /* 179673 */ GIM_Try, /*On fail goto*//*Label 3940*/ GIMT_Encode4(179732), // Rule ID 15123 //
63592 /* 179678 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63593 /* 179681 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
63594 /* 179684 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63595 /* 179688 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63596 /* 179692 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63597 /* 179696 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63598 /* 179699 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63599 /* 179703 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63600 /* 179707 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63601 /* 179709 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63602 /* 179716 */ // (sint_to_fp:{ *:[v8f16] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTQQ2PHZrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
63603 /* 179716 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PHZrm),
63604 /* 179719 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63605 /* 179721 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63606 /* 179725 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63607 /* 179730 */ GIR_RootConstrainSelectedInstOperands,
63608 /* 179731 */ // GIR_Coverage, 15123,
63609 /* 179731 */ GIR_EraseRootFromParent_Done,
63610 /* 179732 */ // Label 3940: @179732
63611 /* 179732 */ GIM_Try, /*On fail goto*//*Label 3941*/ GIMT_Encode4(179762), // Rule ID 11453 //
63612 /* 179737 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
63613 /* 179740 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
63614 /* 179743 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63615 /* 179747 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63616 /* 179751 */ // (sint_to_fp:{ *:[v8f16] } VR256X:{ *:[v8i32] }:$src) => (VCVTDQ2PHZ256rr:{ *:[v8f16] } VR256X:{ *:[v8i32] }:$src)
63617 /* 179751 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PHZ256rr),
63618 /* 179756 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63619 /* 179760 */ GIR_RootConstrainSelectedInstOperands,
63620 /* 179761 */ // GIR_Coverage, 11453,
63621 /* 179761 */ GIR_Done,
63622 /* 179762 */ // Label 3941: @179762
63623 /* 179762 */ GIM_Try, /*On fail goto*//*Label 3942*/ GIMT_Encode4(179792), // Rule ID 14819 //
63624 /* 179767 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
63625 /* 179770 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
63626 /* 179773 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63627 /* 179777 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63628 /* 179781 */ // (sint_to_fp:{ *:[v8f16] } VR128X:{ *:[v8i16] }:$src) => (VCVTW2PHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8i16] }:$src)
63629 /* 179781 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTW2PHZ128rr),
63630 /* 179786 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63631 /* 179790 */ GIR_RootConstrainSelectedInstOperands,
63632 /* 179791 */ // GIR_Coverage, 14819,
63633 /* 179791 */ GIR_Done,
63634 /* 179792 */ // Label 3942: @179792
63635 /* 179792 */ GIM_Try, /*On fail goto*//*Label 3943*/ GIMT_Encode4(179822), // Rule ID 15119 //
63636 /* 179797 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63637 /* 179800 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
63638 /* 179803 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63639 /* 179807 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63640 /* 179811 */ // (sint_to_fp:{ *:[v8f16] } VR512:{ *:[v8i64] }:$src) => (VCVTQQ2PHZrr:{ *:[v8f16] } VR512:{ *:[v8i64] }:$src)
63641 /* 179811 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PHZrr),
63642 /* 179816 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63643 /* 179820 */ GIR_RootConstrainSelectedInstOperands,
63644 /* 179821 */ // GIR_Coverage, 15119,
63645 /* 179821 */ GIR_Done,
63646 /* 179822 */ // Label 3943: @179822
63647 /* 179822 */ GIM_Reject,
63648 /* 179823 */ // Label 3888: @179823
63649 /* 179823 */ GIM_Try, /*On fail goto*//*Label 3944*/ GIMT_Encode4(179882), // Rule ID 1874 //
63650 /* 179828 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
63651 /* 179831 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
63652 /* 179834 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
63653 /* 179838 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63654 /* 179842 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63655 /* 179846 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63656 /* 179849 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63657 /* 179853 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63658 /* 179857 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63659 /* 179859 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63660 /* 179866 */ // (sint_to_fp:{ *:[v8f32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
63661 /* 179866 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSYrm),
63662 /* 179869 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63663 /* 179871 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63664 /* 179875 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63665 /* 179880 */ GIR_RootConstrainSelectedInstOperands,
63666 /* 179881 */ // GIR_Coverage, 1874,
63667 /* 179881 */ GIR_EraseRootFromParent_Done,
63668 /* 179882 */ // Label 3944: @179882
63669 /* 179882 */ GIM_Try, /*On fail goto*//*Label 3945*/ GIMT_Encode4(179941), // Rule ID 10767 //
63670 /* 179887 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
63671 /* 179890 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
63672 /* 179893 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63673 /* 179897 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63674 /* 179901 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63675 /* 179905 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63676 /* 179908 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63677 /* 179912 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63678 /* 179916 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63679 /* 179918 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63680 /* 179925 */ // (sint_to_fp:{ *:[v8f32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PSZ256rm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
63681 /* 179925 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSZ256rm),
63682 /* 179928 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63683 /* 179930 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63684 /* 179934 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63685 /* 179939 */ GIR_RootConstrainSelectedInstOperands,
63686 /* 179940 */ // GIR_Coverage, 10767,
63687 /* 179940 */ GIR_EraseRootFromParent_Done,
63688 /* 179941 */ // Label 3945: @179941
63689 /* 179941 */ GIM_Try, /*On fail goto*//*Label 3946*/ GIMT_Encode4(180000), // Rule ID 11496 //
63690 /* 179946 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
63691 /* 179949 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
63692 /* 179952 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63693 /* 179956 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63694 /* 179960 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63695 /* 179964 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63696 /* 179967 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63697 /* 179971 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63698 /* 179975 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63699 /* 179977 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63700 /* 179984 */ // (sint_to_fp:{ *:[v8f32] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTQQ2PSZrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
63701 /* 179984 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PSZrm),
63702 /* 179987 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63703 /* 179989 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63704 /* 179993 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63705 /* 179998 */ GIR_RootConstrainSelectedInstOperands,
63706 /* 179999 */ // GIR_Coverage, 11496,
63707 /* 179999 */ GIR_EraseRootFromParent_Done,
63708 /* 180000 */ // Label 3946: @180000
63709 /* 180000 */ GIM_Try, /*On fail goto*//*Label 3947*/ GIMT_Encode4(180030), // Rule ID 1872 //
63710 /* 180005 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
63711 /* 180008 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
63712 /* 180011 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
63713 /* 180015 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
63714 /* 180019 */ // (sint_to_fp:{ *:[v8f32] } VR256:{ *:[v8i32] }:$src) => (VCVTDQ2PSYrr:{ *:[v8f32] } VR256:{ *:[v8i32] }:$src)
63715 /* 180019 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSYrr),
63716 /* 180024 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63717 /* 180028 */ GIR_RootConstrainSelectedInstOperands,
63718 /* 180029 */ // GIR_Coverage, 1872,
63719 /* 180029 */ GIR_Done,
63720 /* 180030 */ // Label 3947: @180030
63721 /* 180030 */ GIM_Try, /*On fail goto*//*Label 3948*/ GIMT_Encode4(180060), // Rule ID 10763 //
63722 /* 180035 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
63723 /* 180038 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
63724 /* 180041 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63725 /* 180045 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63726 /* 180049 */ // (sint_to_fp:{ *:[v8f32] } VR256X:{ *:[v8i32] }:$src) => (VCVTDQ2PSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8i32] }:$src)
63727 /* 180049 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSZ256rr),
63728 /* 180054 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63729 /* 180058 */ GIR_RootConstrainSelectedInstOperands,
63730 /* 180059 */ // GIR_Coverage, 10763,
63731 /* 180059 */ GIR_Done,
63732 /* 180060 */ // Label 3948: @180060
63733 /* 180060 */ GIM_Try, /*On fail goto*//*Label 3949*/ GIMT_Encode4(180090), // Rule ID 11492 //
63734 /* 180065 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
63735 /* 180068 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
63736 /* 180071 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63737 /* 180075 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63738 /* 180079 */ // (sint_to_fp:{ *:[v8f32] } VR512:{ *:[v8i64] }:$src) => (VCVTQQ2PSZrr:{ *:[v8f32] } VR512:{ *:[v8i64] }:$src)
63739 /* 180079 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PSZrr),
63740 /* 180084 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63741 /* 180088 */ GIR_RootConstrainSelectedInstOperands,
63742 /* 180089 */ // GIR_Coverage, 11492,
63743 /* 180089 */ GIR_Done,
63744 /* 180090 */ // Label 3949: @180090
63745 /* 180090 */ GIM_Reject,
63746 /* 180091 */ // Label 3889: @180091
63747 /* 180091 */ GIM_Try, /*On fail goto*//*Label 3950*/ GIMT_Encode4(180150), // Rule ID 10704 //
63748 /* 180096 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63749 /* 180099 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
63750 /* 180102 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63751 /* 180106 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63752 /* 180110 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63753 /* 180114 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63754 /* 180117 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63755 /* 180121 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63756 /* 180125 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63757 /* 180127 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63758 /* 180134 */ // (sint_to_fp:{ *:[v8f64] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PDZrm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
63759 /* 180134 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PDZrm),
63760 /* 180137 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63761 /* 180139 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63762 /* 180143 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63763 /* 180148 */ GIR_RootConstrainSelectedInstOperands,
63764 /* 180149 */ // GIR_Coverage, 10704,
63765 /* 180149 */ GIR_EraseRootFromParent_Done,
63766 /* 180150 */ // Label 3950: @180150
63767 /* 180150 */ GIM_Try, /*On fail goto*//*Label 3951*/ GIMT_Encode4(180209), // Rule ID 11364 //
63768 /* 180155 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
63769 /* 180158 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
63770 /* 180161 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63771 /* 180165 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63772 /* 180169 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63773 /* 180173 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63774 /* 180176 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63775 /* 180180 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63776 /* 180184 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63777 /* 180186 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63778 /* 180193 */ // (sint_to_fp:{ *:[v8f64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTQQ2PDZrm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
63779 /* 180193 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PDZrm),
63780 /* 180196 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63781 /* 180198 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63782 /* 180202 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63783 /* 180207 */ GIR_RootConstrainSelectedInstOperands,
63784 /* 180208 */ // GIR_Coverage, 11364,
63785 /* 180208 */ GIR_EraseRootFromParent_Done,
63786 /* 180209 */ // Label 3951: @180209
63787 /* 180209 */ GIM_Try, /*On fail goto*//*Label 3952*/ GIMT_Encode4(180235), // Rule ID 10700 //
63788 /* 180214 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63789 /* 180217 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
63790 /* 180220 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63791 /* 180224 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63792 /* 180228 */ // (sint_to_fp:{ *:[v8f64] } VR256X:{ *:[v8i32] }:$src) => (VCVTDQ2PDZrr:{ *:[v8f64] } VR256X:{ *:[v8i32] }:$src)
63793 /* 180228 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PDZrr),
63794 /* 180233 */ GIR_RootConstrainSelectedInstOperands,
63795 /* 180234 */ // GIR_Coverage, 10700,
63796 /* 180234 */ GIR_Done,
63797 /* 180235 */ // Label 3952: @180235
63798 /* 180235 */ GIM_Try, /*On fail goto*//*Label 3953*/ GIMT_Encode4(180265), // Rule ID 11360 //
63799 /* 180240 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
63800 /* 180243 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
63801 /* 180246 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63802 /* 180250 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63803 /* 180254 */ // (sint_to_fp:{ *:[v8f64] } VR512:{ *:[v8i64] }:$src) => (VCVTQQ2PDZrr:{ *:[v8f64] } VR512:{ *:[v8i64] }:$src)
63804 /* 180254 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PDZrr),
63805 /* 180259 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63806 /* 180263 */ GIR_RootConstrainSelectedInstOperands,
63807 /* 180264 */ // GIR_Coverage, 11360,
63808 /* 180264 */ GIR_Done,
63809 /* 180265 */ // Label 3953: @180265
63810 /* 180265 */ GIM_Reject,
63811 /* 180266 */ // Label 3890: @180266
63812 /* 180266 */ GIM_Try, /*On fail goto*//*Label 3954*/ GIMT_Encode4(180325), // Rule ID 11442 //
63813 /* 180271 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63814 /* 180274 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
63815 /* 180277 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63816 /* 180281 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63817 /* 180285 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63818 /* 180289 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63819 /* 180292 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63820 /* 180296 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63821 /* 180300 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63822 /* 180302 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63823 /* 180309 */ // (sint_to_fp:{ *:[v16f16] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PHZrm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
63824 /* 180309 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PHZrm),
63825 /* 180312 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63826 /* 180314 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63827 /* 180318 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63828 /* 180323 */ GIR_RootConstrainSelectedInstOperands,
63829 /* 180324 */ // GIR_Coverage, 11442,
63830 /* 180324 */ GIR_EraseRootFromParent_Done,
63831 /* 180325 */ // Label 3954: @180325
63832 /* 180325 */ GIM_Try, /*On fail goto*//*Label 3955*/ GIMT_Encode4(180384), // Rule ID 14835 //
63833 /* 180330 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
63834 /* 180333 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
63835 /* 180336 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63836 /* 180340 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63837 /* 180344 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63838 /* 180348 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63839 /* 180351 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63840 /* 180355 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63841 /* 180359 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63842 /* 180361 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63843 /* 180368 */ // (sint_to_fp:{ *:[v16f16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTW2PHZ256rm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
63844 /* 180368 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTW2PHZ256rm),
63845 /* 180371 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63846 /* 180373 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63847 /* 180377 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63848 /* 180382 */ GIR_RootConstrainSelectedInstOperands,
63849 /* 180383 */ // GIR_Coverage, 14835,
63850 /* 180383 */ GIR_EraseRootFromParent_Done,
63851 /* 180384 */ // Label 3955: @180384
63852 /* 180384 */ GIM_Try, /*On fail goto*//*Label 3956*/ GIMT_Encode4(180414), // Rule ID 11438 //
63853 /* 180389 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63854 /* 180392 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
63855 /* 180395 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63856 /* 180399 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63857 /* 180403 */ // (sint_to_fp:{ *:[v16f16] } VR512:{ *:[v16i32] }:$src) => (VCVTDQ2PHZrr:{ *:[v16f16] } VR512:{ *:[v16i32] }:$src)
63858 /* 180403 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PHZrr),
63859 /* 180408 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63860 /* 180412 */ GIR_RootConstrainSelectedInstOperands,
63861 /* 180413 */ // GIR_Coverage, 11438,
63862 /* 180413 */ GIR_Done,
63863 /* 180414 */ // Label 3956: @180414
63864 /* 180414 */ GIM_Try, /*On fail goto*//*Label 3957*/ GIMT_Encode4(180444), // Rule ID 14831 //
63865 /* 180419 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
63866 /* 180422 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
63867 /* 180425 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63868 /* 180429 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63869 /* 180433 */ // (sint_to_fp:{ *:[v16f16] } VR256X:{ *:[v16i16] }:$src) => (VCVTW2PHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16i16] }:$src)
63870 /* 180433 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTW2PHZ256rr),
63871 /* 180438 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63872 /* 180442 */ GIR_RootConstrainSelectedInstOperands,
63873 /* 180443 */ // GIR_Coverage, 14831,
63874 /* 180443 */ GIR_Done,
63875 /* 180444 */ // Label 3957: @180444
63876 /* 180444 */ GIM_Reject,
63877 /* 180445 */ // Label 3891: @180445
63878 /* 180445 */ GIM_Try, /*On fail goto*//*Label 3958*/ GIMT_Encode4(180533),
63879 /* 180450 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
63880 /* 180453 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63881 /* 180457 */ GIM_Try, /*On fail goto*//*Label 3959*/ GIMT_Encode4(180509), // Rule ID 10740 //
63882 /* 180462 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63883 /* 180465 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63884 /* 180469 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63885 /* 180473 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63886 /* 180476 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63887 /* 180480 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63888 /* 180484 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63889 /* 180486 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63890 /* 180493 */ // (sint_to_fp:{ *:[v16f32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PSZrm:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)
63891 /* 180493 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSZrm),
63892 /* 180496 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63893 /* 180498 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63894 /* 180502 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63895 /* 180507 */ GIR_RootConstrainSelectedInstOperands,
63896 /* 180508 */ // GIR_Coverage, 10740,
63897 /* 180508 */ GIR_EraseRootFromParent_Done,
63898 /* 180509 */ // Label 3959: @180509
63899 /* 180509 */ GIM_Try, /*On fail goto*//*Label 3960*/ GIMT_Encode4(180532), // Rule ID 10736 //
63900 /* 180514 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63901 /* 180517 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63902 /* 180521 */ // (sint_to_fp:{ *:[v16f32] } VR512:{ *:[v16i32] }:$src) => (VCVTDQ2PSZrr:{ *:[v16f32] } VR512:{ *:[v16i32] }:$src)
63903 /* 180521 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSZrr),
63904 /* 180526 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63905 /* 180530 */ GIR_RootConstrainSelectedInstOperands,
63906 /* 180531 */ // GIR_Coverage, 10736,
63907 /* 180531 */ GIR_Done,
63908 /* 180532 */ // Label 3960: @180532
63909 /* 180532 */ GIM_Reject,
63910 /* 180533 */ // Label 3958: @180533
63911 /* 180533 */ GIM_Reject,
63912 /* 180534 */ // Label 3892: @180534
63913 /* 180534 */ GIM_Try, /*On fail goto*//*Label 3961*/ GIMT_Encode4(180622),
63914 /* 180539 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
63915 /* 180542 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63916 /* 180546 */ GIM_Try, /*On fail goto*//*Label 3962*/ GIMT_Encode4(180598), // Rule ID 14808 //
63917 /* 180551 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63918 /* 180554 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63919 /* 180558 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63920 /* 180562 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63921 /* 180565 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63922 /* 180569 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63923 /* 180573 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63924 /* 180575 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63925 /* 180582 */ // (sint_to_fp:{ *:[v32f16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTW2PHZrm:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)
63926 /* 180582 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTW2PHZrm),
63927 /* 180585 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63928 /* 180587 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63929 /* 180591 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63930 /* 180596 */ GIR_RootConstrainSelectedInstOperands,
63931 /* 180597 */ // GIR_Coverage, 14808,
63932 /* 180597 */ GIR_EraseRootFromParent_Done,
63933 /* 180598 */ // Label 3962: @180598
63934 /* 180598 */ GIM_Try, /*On fail goto*//*Label 3963*/ GIMT_Encode4(180621), // Rule ID 14804 //
63935 /* 180603 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63936 /* 180606 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63937 /* 180610 */ // (sint_to_fp:{ *:[v32f16] } VR512:{ *:[v32i16] }:$src) => (VCVTW2PHZrr:{ *:[v32f16] } VR512:{ *:[v32i16] }:$src)
63938 /* 180610 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTW2PHZrr),
63939 /* 180615 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63940 /* 180619 */ GIR_RootConstrainSelectedInstOperands,
63941 /* 180620 */ // GIR_Coverage, 14804,
63942 /* 180620 */ GIR_Done,
63943 /* 180621 */ // Label 3963: @180621
63944 /* 180621 */ GIM_Reject,
63945 /* 180622 */ // Label 3961: @180622
63946 /* 180622 */ GIM_Reject,
63947 /* 180623 */ // Label 3893: @180623
63948 /* 180623 */ GIM_Reject,
63949 /* 180624 */ // Label 52: @180624
63950 /* 180624 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 3976*/ GIMT_Encode4(182870),
63951 /* 180635 */ /*GILLT_s16*//*Label 3964*/ GIMT_Encode4(180719),
63952 /* 180639 */ /*GILLT_s32*//*Label 3965*/ GIMT_Encode4(180962),
63953 /* 180643 */ /*GILLT_s64*//*Label 3966*/ GIMT_Encode4(181205), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
63954 /* 180659 */ /*GILLT_v2s64*//*Label 3967*/ GIMT_Encode4(181448), GIMT_Encode4(0),
63955 /* 180667 */ /*GILLT_v4s32*//*Label 3968*/ GIMT_Encode4(181537),
63956 /* 180671 */ /*GILLT_v4s64*//*Label 3969*/ GIMT_Encode4(181716), GIMT_Encode4(0),
63957 /* 180679 */ /*GILLT_v8s16*//*Label 3970*/ GIMT_Encode4(181891),
63958 /* 180683 */ /*GILLT_v8s32*//*Label 3971*/ GIMT_Encode4(182159),
63959 /* 180687 */ /*GILLT_v8s64*//*Label 3972*/ GIMT_Encode4(182338), GIMT_Encode4(0), GIMT_Encode4(0),
63960 /* 180699 */ /*GILLT_v16s16*//*Label 3973*/ GIMT_Encode4(182513),
63961 /* 180703 */ /*GILLT_v16s32*//*Label 3974*/ GIMT_Encode4(182692), GIMT_Encode4(0), GIMT_Encode4(0),
63962 /* 180715 */ /*GILLT_v32s16*//*Label 3975*/ GIMT_Encode4(182781),
63963 /* 180719 */ // Label 3964: @180719
63964 /* 180719 */ GIM_Try, /*On fail goto*//*Label 3977*/ GIMT_Encode4(180795), // Rule ID 22187 //
63965 /* 180724 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63966 /* 180727 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63967 /* 180730 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
63968 /* 180734 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63969 /* 180738 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63970 /* 180742 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63971 /* 180745 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63972 /* 180749 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63973 /* 180753 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63974 /* 180755 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63975 /* 180762 */ // (uint_to_fp:{ *:[f16] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUSI642SHZrm:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), addr:{ *:[iPTR] }:$src)
63976 /* 180762 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
63977 /* 180765 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63978 /* 180769 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
63979 /* 180774 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63980 /* 180776 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI642SHZrm),
63981 /* 180779 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63982 /* 180781 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63983 /* 180784 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63984 /* 180788 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63985 /* 180793 */ GIR_RootConstrainSelectedInstOperands,
63986 /* 180794 */ // GIR_Coverage, 22187,
63987 /* 180794 */ GIR_EraseRootFromParent_Done,
63988 /* 180795 */ // Label 3977: @180795
63989 /* 180795 */ GIM_Try, /*On fail goto*//*Label 3978*/ GIMT_Encode4(180871), // Rule ID 22185 //
63990 /* 180800 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63991 /* 180803 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63992 /* 180806 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
63993 /* 180810 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63994 /* 180814 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63995 /* 180818 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63996 /* 180821 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63997 /* 180825 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
63998 /* 180829 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63999 /* 180831 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64000 /* 180838 */ // (uint_to_fp:{ *:[f16] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTUSI2SHZrm:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), addr:{ *:[iPTR] }:$src)
64001 /* 180838 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
64002 /* 180841 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64003 /* 180845 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
64004 /* 180850 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
64005 /* 180852 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI2SHZrm),
64006 /* 180855 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64007 /* 180857 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
64008 /* 180860 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64009 /* 180864 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64010 /* 180869 */ GIR_RootConstrainSelectedInstOperands,
64011 /* 180870 */ // GIR_Coverage, 22185,
64012 /* 180870 */ GIR_EraseRootFromParent_Done,
64013 /* 180871 */ // Label 3978: @180871
64014 /* 180871 */ GIM_Try, /*On fail goto*//*Label 3979*/ GIMT_Encode4(180916), // Rule ID 22189 //
64015 /* 180876 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
64016 /* 180879 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
64017 /* 180882 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
64018 /* 180886 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
64019 /* 180890 */ // (uint_to_fp:{ *:[f16] } GR32:{ *:[i32] }:$src) => (VCVTUSI2SHZrr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), GR32:{ *:[i32] }:$src)
64020 /* 180890 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
64021 /* 180893 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64022 /* 180897 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
64023 /* 180902 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
64024 /* 180904 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI2SHZrr),
64025 /* 180907 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64026 /* 180909 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
64027 /* 180912 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
64028 /* 180914 */ GIR_RootConstrainSelectedInstOperands,
64029 /* 180915 */ // GIR_Coverage, 22189,
64030 /* 180915 */ GIR_EraseRootFromParent_Done,
64031 /* 180916 */ // Label 3979: @180916
64032 /* 180916 */ GIM_Try, /*On fail goto*//*Label 3980*/ GIMT_Encode4(180961), // Rule ID 22191 //
64033 /* 180921 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
64034 /* 180924 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
64035 /* 180927 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
64036 /* 180931 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
64037 /* 180935 */ // (uint_to_fp:{ *:[f16] } GR64:{ *:[i64] }:$src) => (VCVTUSI642SHZrr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), GR64:{ *:[i64] }:$src)
64038 /* 180935 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
64039 /* 180938 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64040 /* 180942 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
64041 /* 180947 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
64042 /* 180949 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI642SHZrr),
64043 /* 180952 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64044 /* 180954 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
64045 /* 180957 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
64046 /* 180959 */ GIR_RootConstrainSelectedInstOperands,
64047 /* 180960 */ // GIR_Coverage, 22191,
64048 /* 180960 */ GIR_EraseRootFromParent_Done,
64049 /* 180961 */ // Label 3980: @180961
64050 /* 180961 */ GIM_Reject,
64051 /* 180962 */ // Label 3965: @180962
64052 /* 180962 */ GIM_Try, /*On fail goto*//*Label 3981*/ GIMT_Encode4(181038), // Rule ID 21146 //
64053 /* 180967 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
64054 /* 180970 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
64055 /* 180973 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
64056 /* 180977 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64057 /* 180981 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64058 /* 180985 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64059 /* 180988 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64060 /* 180992 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64061 /* 180996 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64062 /* 180998 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64063 /* 181005 */ // (uint_to_fp:{ *:[f32] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUSI642SSZrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
64064 /* 181005 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
64065 /* 181008 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64066 /* 181012 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
64067 /* 181017 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
64068 /* 181019 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI642SSZrm),
64069 /* 181022 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64070 /* 181024 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
64071 /* 181027 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64072 /* 181031 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64073 /* 181036 */ GIR_RootConstrainSelectedInstOperands,
64074 /* 181037 */ // GIR_Coverage, 21146,
64075 /* 181037 */ GIR_EraseRootFromParent_Done,
64076 /* 181038 */ // Label 3981: @181038
64077 /* 181038 */ GIM_Try, /*On fail goto*//*Label 3982*/ GIMT_Encode4(181114), // Rule ID 21144 //
64078 /* 181043 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
64079 /* 181046 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
64080 /* 181049 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
64081 /* 181053 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64082 /* 181057 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64083 /* 181061 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64084 /* 181064 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64085 /* 181068 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
64086 /* 181072 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64087 /* 181074 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64088 /* 181081 */ // (uint_to_fp:{ *:[f32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTUSI2SSZrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
64089 /* 181081 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
64090 /* 181084 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64091 /* 181088 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
64092 /* 181093 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
64093 /* 181095 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI2SSZrm),
64094 /* 181098 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64095 /* 181100 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
64096 /* 181103 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64097 /* 181107 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64098 /* 181112 */ GIR_RootConstrainSelectedInstOperands,
64099 /* 181113 */ // GIR_Coverage, 21144,
64100 /* 181113 */ GIR_EraseRootFromParent_Done,
64101 /* 181114 */ // Label 3982: @181114
64102 /* 181114 */ GIM_Try, /*On fail goto*//*Label 3983*/ GIMT_Encode4(181159), // Rule ID 21152 //
64103 /* 181119 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
64104 /* 181122 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
64105 /* 181125 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
64106 /* 181129 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
64107 /* 181133 */ // (uint_to_fp:{ *:[f32] } GR32:{ *:[i32] }:$src) => (VCVTUSI2SSZrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), GR32:{ *:[i32] }:$src)
64108 /* 181133 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
64109 /* 181136 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64110 /* 181140 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
64111 /* 181145 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
64112 /* 181147 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI2SSZrr),
64113 /* 181150 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64114 /* 181152 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
64115 /* 181155 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
64116 /* 181157 */ GIR_RootConstrainSelectedInstOperands,
64117 /* 181158 */ // GIR_Coverage, 21152,
64118 /* 181158 */ GIR_EraseRootFromParent_Done,
64119 /* 181159 */ // Label 3983: @181159
64120 /* 181159 */ GIM_Try, /*On fail goto*//*Label 3984*/ GIMT_Encode4(181204), // Rule ID 21154 //
64121 /* 181164 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
64122 /* 181167 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
64123 /* 181170 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
64124 /* 181174 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
64125 /* 181178 */ // (uint_to_fp:{ *:[f32] } GR64:{ *:[i64] }:$src) => (VCVTUSI642SSZrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), GR64:{ *:[i64] }:$src)
64126 /* 181178 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
64127 /* 181181 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64128 /* 181185 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
64129 /* 181190 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
64130 /* 181192 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI642SSZrr),
64131 /* 181195 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64132 /* 181197 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
64133 /* 181200 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
64134 /* 181202 */ GIR_RootConstrainSelectedInstOperands,
64135 /* 181203 */ // GIR_Coverage, 21154,
64136 /* 181203 */ GIR_EraseRootFromParent_Done,
64137 /* 181204 */ // Label 3984: @181204
64138 /* 181204 */ GIM_Reject,
64139 /* 181205 */ // Label 3966: @181205
64140 /* 181205 */ GIM_Try, /*On fail goto*//*Label 3985*/ GIMT_Encode4(181281), // Rule ID 21150 //
64141 /* 181210 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
64142 /* 181213 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
64143 /* 181216 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
64144 /* 181220 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64145 /* 181224 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64146 /* 181228 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64147 /* 181231 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64148 /* 181235 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64149 /* 181239 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64150 /* 181241 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64151 /* 181248 */ // (uint_to_fp:{ *:[f64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUSI642SDZrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
64152 /* 181248 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
64153 /* 181251 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64154 /* 181255 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
64155 /* 181260 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
64156 /* 181262 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI642SDZrm),
64157 /* 181265 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64158 /* 181267 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
64159 /* 181270 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64160 /* 181274 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64161 /* 181279 */ GIR_RootConstrainSelectedInstOperands,
64162 /* 181280 */ // GIR_Coverage, 21150,
64163 /* 181280 */ GIR_EraseRootFromParent_Done,
64164 /* 181281 */ // Label 3985: @181281
64165 /* 181281 */ GIM_Try, /*On fail goto*//*Label 3986*/ GIMT_Encode4(181357), // Rule ID 21148 //
64166 /* 181286 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
64167 /* 181289 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
64168 /* 181292 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
64169 /* 181296 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64170 /* 181300 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64171 /* 181304 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64172 /* 181307 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64173 /* 181311 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
64174 /* 181315 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64175 /* 181317 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64176 /* 181324 */ // (uint_to_fp:{ *:[f64] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTUSI2SDZrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
64177 /* 181324 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
64178 /* 181327 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64179 /* 181331 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
64180 /* 181336 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
64181 /* 181338 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI2SDZrm),
64182 /* 181341 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64183 /* 181343 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
64184 /* 181346 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64185 /* 181350 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64186 /* 181355 */ GIR_RootConstrainSelectedInstOperands,
64187 /* 181356 */ // GIR_Coverage, 21148,
64188 /* 181356 */ GIR_EraseRootFromParent_Done,
64189 /* 181357 */ // Label 3986: @181357
64190 /* 181357 */ GIM_Try, /*On fail goto*//*Label 3987*/ GIMT_Encode4(181402), // Rule ID 21156 //
64191 /* 181362 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
64192 /* 181365 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
64193 /* 181368 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
64194 /* 181372 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
64195 /* 181376 */ // (uint_to_fp:{ *:[f64] } GR32:{ *:[i32] }:$src) => (VCVTUSI2SDZrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), GR32:{ *:[i32] }:$src)
64196 /* 181376 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
64197 /* 181379 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64198 /* 181383 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
64199 /* 181388 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
64200 /* 181390 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI2SDZrr),
64201 /* 181393 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64202 /* 181395 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
64203 /* 181398 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
64204 /* 181400 */ GIR_RootConstrainSelectedInstOperands,
64205 /* 181401 */ // GIR_Coverage, 21156,
64206 /* 181401 */ GIR_EraseRootFromParent_Done,
64207 /* 181402 */ // Label 3987: @181402
64208 /* 181402 */ GIM_Try, /*On fail goto*//*Label 3988*/ GIMT_Encode4(181447), // Rule ID 21158 //
64209 /* 181407 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
64210 /* 181410 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
64211 /* 181413 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
64212 /* 181417 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
64213 /* 181421 */ // (uint_to_fp:{ *:[f64] } GR64:{ *:[i64] }:$src) => (VCVTUSI642SDZrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), GR64:{ *:[i64] }:$src)
64214 /* 181421 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
64215 /* 181424 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64216 /* 181428 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
64217 /* 181433 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
64218 /* 181435 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI642SDZrr),
64219 /* 181438 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64220 /* 181440 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
64221 /* 181443 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
64222 /* 181445 */ GIR_RootConstrainSelectedInstOperands,
64223 /* 181446 */ // GIR_Coverage, 21158,
64224 /* 181446 */ GIR_EraseRootFromParent_Done,
64225 /* 181447 */ // Label 3988: @181447
64226 /* 181447 */ GIM_Reject,
64227 /* 181448 */ // Label 3967: @181448
64228 /* 181448 */ GIM_Try, /*On fail goto*//*Label 3989*/ GIMT_Encode4(181536),
64229 /* 181453 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
64230 /* 181456 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64231 /* 181460 */ GIM_Try, /*On fail goto*//*Label 3990*/ GIMT_Encode4(181512), // Rule ID 11418 //
64232 /* 181465 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
64233 /* 181468 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64234 /* 181472 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64235 /* 181476 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64236 /* 181479 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64237 /* 181483 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64238 /* 181487 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64239 /* 181489 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64240 /* 181496 */ // (uint_to_fp:{ *:[v2f64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUQQ2PDZ128rm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
64241 /* 181496 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PDZ128rm),
64242 /* 181499 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64243 /* 181501 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64244 /* 181505 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64245 /* 181510 */ GIR_RootConstrainSelectedInstOperands,
64246 /* 181511 */ // GIR_Coverage, 11418,
64247 /* 181511 */ GIR_EraseRootFromParent_Done,
64248 /* 181512 */ // Label 3990: @181512
64249 /* 181512 */ GIM_Try, /*On fail goto*//*Label 3991*/ GIMT_Encode4(181535), // Rule ID 11414 //
64250 /* 181517 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
64251 /* 181520 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64252 /* 181524 */ // (uint_to_fp:{ *:[v2f64] } VR128X:{ *:[v2i64] }:$src) => (VCVTUQQ2PDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2i64] }:$src)
64253 /* 181524 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PDZ128rr),
64254 /* 181529 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64255 /* 181533 */ GIR_RootConstrainSelectedInstOperands,
64256 /* 181534 */ // GIR_Coverage, 11414,
64257 /* 181534 */ GIR_Done,
64258 /* 181535 */ // Label 3991: @181535
64259 /* 181535 */ GIM_Reject,
64260 /* 181536 */ // Label 3989: @181536
64261 /* 181536 */ GIM_Reject,
64262 /* 181537 */ // Label 3968: @181537
64263 /* 181537 */ GIM_Try, /*On fail goto*//*Label 3992*/ GIMT_Encode4(181596), // Rule ID 10962 //
64264 /* 181542 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
64265 /* 181545 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
64266 /* 181548 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64267 /* 181552 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64268 /* 181556 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64269 /* 181560 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64270 /* 181563 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64271 /* 181567 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64272 /* 181571 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64273 /* 181573 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64274 /* 181580 */ // (uint_to_fp:{ *:[v4f32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PSZ128rm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
64275 /* 181580 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PSZ128rm),
64276 /* 181583 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64277 /* 181585 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64278 /* 181589 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64279 /* 181594 */ GIR_RootConstrainSelectedInstOperands,
64280 /* 181595 */ // GIR_Coverage, 10962,
64281 /* 181595 */ GIR_EraseRootFromParent_Done,
64282 /* 181596 */ // Label 3992: @181596
64283 /* 181596 */ GIM_Try, /*On fail goto*//*Label 3993*/ GIMT_Encode4(181655), // Rule ID 11538 //
64284 /* 181601 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
64285 /* 181604 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
64286 /* 181607 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64287 /* 181611 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64288 /* 181615 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64289 /* 181619 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64290 /* 181622 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64291 /* 181626 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64292 /* 181630 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64293 /* 181632 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64294 /* 181639 */ // (uint_to_fp:{ *:[v4f32] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUQQ2PSZ256rm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
64295 /* 181639 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PSZ256rm),
64296 /* 181642 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64297 /* 181644 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64298 /* 181648 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64299 /* 181653 */ GIR_RootConstrainSelectedInstOperands,
64300 /* 181654 */ // GIR_Coverage, 11538,
64301 /* 181654 */ GIR_EraseRootFromParent_Done,
64302 /* 181655 */ // Label 3993: @181655
64303 /* 181655 */ GIM_Try, /*On fail goto*//*Label 3994*/ GIMT_Encode4(181685), // Rule ID 10958 //
64304 /* 181660 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
64305 /* 181663 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
64306 /* 181666 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64307 /* 181670 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64308 /* 181674 */ // (uint_to_fp:{ *:[v4f32] } VR128X:{ *:[v4i32] }:$src) => (VCVTUDQ2PSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4i32] }:$src)
64309 /* 181674 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PSZ128rr),
64310 /* 181679 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64311 /* 181683 */ GIR_RootConstrainSelectedInstOperands,
64312 /* 181684 */ // GIR_Coverage, 10958,
64313 /* 181684 */ GIR_Done,
64314 /* 181685 */ // Label 3994: @181685
64315 /* 181685 */ GIM_Try, /*On fail goto*//*Label 3995*/ GIMT_Encode4(181715), // Rule ID 11534 //
64316 /* 181690 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
64317 /* 181693 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
64318 /* 181696 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64319 /* 181700 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64320 /* 181704 */ // (uint_to_fp:{ *:[v4f32] } VR256X:{ *:[v4i64] }:$src) => (VCVTUQQ2PSZ256rr:{ *:[v4f32] } VR256X:{ *:[v4i64] }:$src)
64321 /* 181704 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PSZ256rr),
64322 /* 181709 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64323 /* 181713 */ GIR_RootConstrainSelectedInstOperands,
64324 /* 181714 */ // GIR_Coverage, 11534,
64325 /* 181714 */ GIR_Done,
64326 /* 181715 */ // Label 3995: @181715
64327 /* 181715 */ GIM_Reject,
64328 /* 181716 */ // Label 3969: @181716
64329 /* 181716 */ GIM_Try, /*On fail goto*//*Label 3996*/ GIMT_Encode4(181775), // Rule ID 10935 //
64330 /* 181721 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
64331 /* 181724 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
64332 /* 181727 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64333 /* 181731 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64334 /* 181735 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64335 /* 181739 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64336 /* 181742 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64337 /* 181746 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64338 /* 181750 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64339 /* 181752 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64340 /* 181759 */ // (uint_to_fp:{ *:[v4f64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PDZ256rm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
64341 /* 181759 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PDZ256rm),
64342 /* 181762 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64343 /* 181764 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64344 /* 181768 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64345 /* 181773 */ GIR_RootConstrainSelectedInstOperands,
64346 /* 181774 */ // GIR_Coverage, 10935,
64347 /* 181774 */ GIR_EraseRootFromParent_Done,
64348 /* 181775 */ // Label 3996: @181775
64349 /* 181775 */ GIM_Try, /*On fail goto*//*Label 3997*/ GIMT_Encode4(181834), // Rule ID 11430 //
64350 /* 181780 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
64351 /* 181783 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
64352 /* 181786 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64353 /* 181790 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64354 /* 181794 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64355 /* 181798 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64356 /* 181801 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64357 /* 181805 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64358 /* 181809 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64359 /* 181811 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64360 /* 181818 */ // (uint_to_fp:{ *:[v4f64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUQQ2PDZ256rm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
64361 /* 181818 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PDZ256rm),
64362 /* 181821 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64363 /* 181823 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64364 /* 181827 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64365 /* 181832 */ GIR_RootConstrainSelectedInstOperands,
64366 /* 181833 */ // GIR_Coverage, 11430,
64367 /* 181833 */ GIR_EraseRootFromParent_Done,
64368 /* 181834 */ // Label 3997: @181834
64369 /* 181834 */ GIM_Try, /*On fail goto*//*Label 3998*/ GIMT_Encode4(181860), // Rule ID 10931 //
64370 /* 181839 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
64371 /* 181842 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
64372 /* 181845 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64373 /* 181849 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64374 /* 181853 */ // (uint_to_fp:{ *:[v4f64] } VR128X:{ *:[v4i32] }:$src) => (VCVTUDQ2PDZ256rr:{ *:[v4f64] } VR128X:{ *:[v4i32] }:$src)
64375 /* 181853 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PDZ256rr),
64376 /* 181858 */ GIR_RootConstrainSelectedInstOperands,
64377 /* 181859 */ // GIR_Coverage, 10931,
64378 /* 181859 */ GIR_Done,
64379 /* 181860 */ // Label 3998: @181860
64380 /* 181860 */ GIM_Try, /*On fail goto*//*Label 3999*/ GIMT_Encode4(181890), // Rule ID 11426 //
64381 /* 181865 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
64382 /* 181868 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
64383 /* 181871 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64384 /* 181875 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64385 /* 181879 */ // (uint_to_fp:{ *:[v4f64] } VR256X:{ *:[v4i64] }:$src) => (VCVTUQQ2PDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4i64] }:$src)
64386 /* 181879 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PDZ256rr),
64387 /* 181884 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64388 /* 181888 */ GIR_RootConstrainSelectedInstOperands,
64389 /* 181889 */ // GIR_Coverage, 11426,
64390 /* 181889 */ GIR_Done,
64391 /* 181890 */ // Label 3999: @181890
64392 /* 181890 */ GIM_Reject,
64393 /* 181891 */ // Label 3970: @181891
64394 /* 181891 */ GIM_Try, /*On fail goto*//*Label 4000*/ GIMT_Encode4(181950), // Rule ID 11484 //
64395 /* 181896 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
64396 /* 181899 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
64397 /* 181902 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64398 /* 181906 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64399 /* 181910 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64400 /* 181914 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64401 /* 181917 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64402 /* 181921 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64403 /* 181925 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64404 /* 181927 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64405 /* 181934 */ // (uint_to_fp:{ *:[v8f16] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PHZ256rm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
64406 /* 181934 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PHZ256rm),
64407 /* 181937 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64408 /* 181939 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64409 /* 181943 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64410 /* 181948 */ GIR_RootConstrainSelectedInstOperands,
64411 /* 181949 */ // GIR_Coverage, 11484,
64412 /* 181949 */ GIR_EraseRootFromParent_Done,
64413 /* 181950 */ // Label 4000: @181950
64414 /* 181950 */ GIM_Try, /*On fail goto*//*Label 4001*/ GIMT_Encode4(182009), // Rule ID 14676 //
64415 /* 181955 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
64416 /* 181958 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
64417 /* 181961 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64418 /* 181965 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64419 /* 181969 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64420 /* 181973 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64421 /* 181976 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64422 /* 181980 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64423 /* 181984 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64424 /* 181986 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64425 /* 181993 */ // (uint_to_fp:{ *:[v8f16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUW2PHZ128rm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
64426 /* 181993 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUW2PHZ128rm),
64427 /* 181996 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64428 /* 181998 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64429 /* 182002 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64430 /* 182007 */ GIR_RootConstrainSelectedInstOperands,
64431 /* 182008 */ // GIR_Coverage, 14676,
64432 /* 182008 */ GIR_EraseRootFromParent_Done,
64433 /* 182009 */ // Label 4001: @182009
64434 /* 182009 */ GIM_Try, /*On fail goto*//*Label 4002*/ GIMT_Encode4(182068), // Rule ID 15138 //
64435 /* 182014 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
64436 /* 182017 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
64437 /* 182020 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64438 /* 182024 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64439 /* 182028 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64440 /* 182032 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64441 /* 182035 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64442 /* 182039 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64443 /* 182043 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64444 /* 182045 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64445 /* 182052 */ // (uint_to_fp:{ *:[v8f16] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUQQ2PHZrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
64446 /* 182052 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PHZrm),
64447 /* 182055 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64448 /* 182057 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64449 /* 182061 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64450 /* 182066 */ GIR_RootConstrainSelectedInstOperands,
64451 /* 182067 */ // GIR_Coverage, 15138,
64452 /* 182067 */ GIR_EraseRootFromParent_Done,
64453 /* 182068 */ // Label 4002: @182068
64454 /* 182068 */ GIM_Try, /*On fail goto*//*Label 4003*/ GIMT_Encode4(182098), // Rule ID 11480 //
64455 /* 182073 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
64456 /* 182076 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
64457 /* 182079 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64458 /* 182083 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64459 /* 182087 */ // (uint_to_fp:{ *:[v8f16] } VR256X:{ *:[v8i32] }:$src) => (VCVTUDQ2PHZ256rr:{ *:[v8f16] } VR256X:{ *:[v8i32] }:$src)
64460 /* 182087 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PHZ256rr),
64461 /* 182092 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64462 /* 182096 */ GIR_RootConstrainSelectedInstOperands,
64463 /* 182097 */ // GIR_Coverage, 11480,
64464 /* 182097 */ GIR_Done,
64465 /* 182098 */ // Label 4003: @182098
64466 /* 182098 */ GIM_Try, /*On fail goto*//*Label 4004*/ GIMT_Encode4(182128), // Rule ID 14672 //
64467 /* 182103 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
64468 /* 182106 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
64469 /* 182109 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64470 /* 182113 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64471 /* 182117 */ // (uint_to_fp:{ *:[v8f16] } VR128X:{ *:[v8i16] }:$src) => (VCVTUW2PHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8i16] }:$src)
64472 /* 182117 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUW2PHZ128rr),
64473 /* 182122 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64474 /* 182126 */ GIR_RootConstrainSelectedInstOperands,
64475 /* 182127 */ // GIR_Coverage, 14672,
64476 /* 182127 */ GIR_Done,
64477 /* 182128 */ // Label 4004: @182128
64478 /* 182128 */ GIM_Try, /*On fail goto*//*Label 4005*/ GIMT_Encode4(182158), // Rule ID 15134 //
64479 /* 182133 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
64480 /* 182136 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
64481 /* 182139 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64482 /* 182143 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64483 /* 182147 */ // (uint_to_fp:{ *:[v8f16] } VR512:{ *:[v8i64] }:$src) => (VCVTUQQ2PHZrr:{ *:[v8f16] } VR512:{ *:[v8i64] }:$src)
64484 /* 182147 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PHZrr),
64485 /* 182152 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64486 /* 182156 */ GIR_RootConstrainSelectedInstOperands,
64487 /* 182157 */ // GIR_Coverage, 15134,
64488 /* 182157 */ GIR_Done,
64489 /* 182158 */ // Label 4005: @182158
64490 /* 182158 */ GIM_Reject,
64491 /* 182159 */ // Label 3971: @182159
64492 /* 182159 */ GIM_Try, /*On fail goto*//*Label 4006*/ GIMT_Encode4(182218), // Rule ID 10974 //
64493 /* 182164 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
64494 /* 182167 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
64495 /* 182170 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64496 /* 182174 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64497 /* 182178 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64498 /* 182182 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64499 /* 182185 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64500 /* 182189 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64501 /* 182193 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64502 /* 182195 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64503 /* 182202 */ // (uint_to_fp:{ *:[v8f32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PSZ256rm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
64504 /* 182202 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PSZ256rm),
64505 /* 182205 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64506 /* 182207 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64507 /* 182211 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64508 /* 182216 */ GIR_RootConstrainSelectedInstOperands,
64509 /* 182217 */ // GIR_Coverage, 10974,
64510 /* 182217 */ GIR_EraseRootFromParent_Done,
64511 /* 182218 */ // Label 4006: @182218
64512 /* 182218 */ GIM_Try, /*On fail goto*//*Label 4007*/ GIMT_Encode4(182277), // Rule ID 11523 //
64513 /* 182223 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
64514 /* 182226 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
64515 /* 182229 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64516 /* 182233 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64517 /* 182237 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64518 /* 182241 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64519 /* 182244 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64520 /* 182248 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64521 /* 182252 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64522 /* 182254 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64523 /* 182261 */ // (uint_to_fp:{ *:[v8f32] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUQQ2PSZrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
64524 /* 182261 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PSZrm),
64525 /* 182264 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64526 /* 182266 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64527 /* 182270 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64528 /* 182275 */ GIR_RootConstrainSelectedInstOperands,
64529 /* 182276 */ // GIR_Coverage, 11523,
64530 /* 182276 */ GIR_EraseRootFromParent_Done,
64531 /* 182277 */ // Label 4007: @182277
64532 /* 182277 */ GIM_Try, /*On fail goto*//*Label 4008*/ GIMT_Encode4(182307), // Rule ID 10970 //
64533 /* 182282 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
64534 /* 182285 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
64535 /* 182288 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64536 /* 182292 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64537 /* 182296 */ // (uint_to_fp:{ *:[v8f32] } VR256X:{ *:[v8i32] }:$src) => (VCVTUDQ2PSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8i32] }:$src)
64538 /* 182296 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PSZ256rr),
64539 /* 182301 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64540 /* 182305 */ GIR_RootConstrainSelectedInstOperands,
64541 /* 182306 */ // GIR_Coverage, 10970,
64542 /* 182306 */ GIR_Done,
64543 /* 182307 */ // Label 4008: @182307
64544 /* 182307 */ GIM_Try, /*On fail goto*//*Label 4009*/ GIMT_Encode4(182337), // Rule ID 11519 //
64545 /* 182312 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
64546 /* 182315 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
64547 /* 182318 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64548 /* 182322 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64549 /* 182326 */ // (uint_to_fp:{ *:[v8f32] } VR512:{ *:[v8i64] }:$src) => (VCVTUQQ2PSZrr:{ *:[v8f32] } VR512:{ *:[v8i64] }:$src)
64550 /* 182326 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PSZrr),
64551 /* 182331 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64552 /* 182335 */ GIR_RootConstrainSelectedInstOperands,
64553 /* 182336 */ // GIR_Coverage, 11519,
64554 /* 182336 */ GIR_Done,
64555 /* 182337 */ // Label 4009: @182337
64556 /* 182337 */ GIM_Reject,
64557 /* 182338 */ // Label 3972: @182338
64558 /* 182338 */ GIM_Try, /*On fail goto*//*Label 4010*/ GIMT_Encode4(182397), // Rule ID 10911 //
64559 /* 182343 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
64560 /* 182346 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
64561 /* 182349 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64562 /* 182353 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64563 /* 182357 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64564 /* 182361 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64565 /* 182364 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64566 /* 182368 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64567 /* 182372 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64568 /* 182374 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64569 /* 182381 */ // (uint_to_fp:{ *:[v8f64] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PDZrm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
64570 /* 182381 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PDZrm),
64571 /* 182384 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64572 /* 182386 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64573 /* 182390 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64574 /* 182395 */ GIR_RootConstrainSelectedInstOperands,
64575 /* 182396 */ // GIR_Coverage, 10911,
64576 /* 182396 */ GIR_EraseRootFromParent_Done,
64577 /* 182397 */ // Label 4010: @182397
64578 /* 182397 */ GIM_Try, /*On fail goto*//*Label 4011*/ GIMT_Encode4(182456), // Rule ID 11403 //
64579 /* 182402 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
64580 /* 182405 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
64581 /* 182408 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64582 /* 182412 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64583 /* 182416 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64584 /* 182420 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64585 /* 182423 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64586 /* 182427 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64587 /* 182431 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64588 /* 182433 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64589 /* 182440 */ // (uint_to_fp:{ *:[v8f64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUQQ2PDZrm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
64590 /* 182440 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PDZrm),
64591 /* 182443 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64592 /* 182445 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64593 /* 182449 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64594 /* 182454 */ GIR_RootConstrainSelectedInstOperands,
64595 /* 182455 */ // GIR_Coverage, 11403,
64596 /* 182455 */ GIR_EraseRootFromParent_Done,
64597 /* 182456 */ // Label 4011: @182456
64598 /* 182456 */ GIM_Try, /*On fail goto*//*Label 4012*/ GIMT_Encode4(182482), // Rule ID 10907 //
64599 /* 182461 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
64600 /* 182464 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
64601 /* 182467 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64602 /* 182471 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64603 /* 182475 */ // (uint_to_fp:{ *:[v8f64] } VR256X:{ *:[v8i32] }:$src) => (VCVTUDQ2PDZrr:{ *:[v8f64] } VR256X:{ *:[v8i32] }:$src)
64604 /* 182475 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PDZrr),
64605 /* 182480 */ GIR_RootConstrainSelectedInstOperands,
64606 /* 182481 */ // GIR_Coverage, 10907,
64607 /* 182481 */ GIR_Done,
64608 /* 182482 */ // Label 4012: @182482
64609 /* 182482 */ GIM_Try, /*On fail goto*//*Label 4013*/ GIMT_Encode4(182512), // Rule ID 11399 //
64610 /* 182487 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
64611 /* 182490 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
64612 /* 182493 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64613 /* 182497 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64614 /* 182501 */ // (uint_to_fp:{ *:[v8f64] } VR512:{ *:[v8i64] }:$src) => (VCVTUQQ2PDZrr:{ *:[v8f64] } VR512:{ *:[v8i64] }:$src)
64615 /* 182501 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PDZrr),
64616 /* 182506 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64617 /* 182510 */ GIR_RootConstrainSelectedInstOperands,
64618 /* 182511 */ // GIR_Coverage, 11399,
64619 /* 182511 */ GIR_Done,
64620 /* 182512 */ // Label 4013: @182512
64621 /* 182512 */ GIM_Reject,
64622 /* 182513 */ // Label 3973: @182513
64623 /* 182513 */ GIM_Try, /*On fail goto*//*Label 4014*/ GIMT_Encode4(182572), // Rule ID 11469 //
64624 /* 182518 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
64625 /* 182521 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
64626 /* 182524 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64627 /* 182528 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64628 /* 182532 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64629 /* 182536 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64630 /* 182539 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64631 /* 182543 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64632 /* 182547 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64633 /* 182549 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64634 /* 182556 */ // (uint_to_fp:{ *:[v16f16] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PHZrm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
64635 /* 182556 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PHZrm),
64636 /* 182559 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64637 /* 182561 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64638 /* 182565 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64639 /* 182570 */ GIR_RootConstrainSelectedInstOperands,
64640 /* 182571 */ // GIR_Coverage, 11469,
64641 /* 182571 */ GIR_EraseRootFromParent_Done,
64642 /* 182572 */ // Label 4014: @182572
64643 /* 182572 */ GIM_Try, /*On fail goto*//*Label 4015*/ GIMT_Encode4(182631), // Rule ID 14688 //
64644 /* 182577 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
64645 /* 182580 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
64646 /* 182583 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64647 /* 182587 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64648 /* 182591 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64649 /* 182595 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64650 /* 182598 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64651 /* 182602 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64652 /* 182606 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64653 /* 182608 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64654 /* 182615 */ // (uint_to_fp:{ *:[v16f16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUW2PHZ256rm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
64655 /* 182615 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUW2PHZ256rm),
64656 /* 182618 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64657 /* 182620 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64658 /* 182624 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64659 /* 182629 */ GIR_RootConstrainSelectedInstOperands,
64660 /* 182630 */ // GIR_Coverage, 14688,
64661 /* 182630 */ GIR_EraseRootFromParent_Done,
64662 /* 182631 */ // Label 4015: @182631
64663 /* 182631 */ GIM_Try, /*On fail goto*//*Label 4016*/ GIMT_Encode4(182661), // Rule ID 11465 //
64664 /* 182636 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
64665 /* 182639 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
64666 /* 182642 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64667 /* 182646 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64668 /* 182650 */ // (uint_to_fp:{ *:[v16f16] } VR512:{ *:[v16i32] }:$src) => (VCVTUDQ2PHZrr:{ *:[v16f16] } VR512:{ *:[v16i32] }:$src)
64669 /* 182650 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PHZrr),
64670 /* 182655 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64671 /* 182659 */ GIR_RootConstrainSelectedInstOperands,
64672 /* 182660 */ // GIR_Coverage, 11465,
64673 /* 182660 */ GIR_Done,
64674 /* 182661 */ // Label 4016: @182661
64675 /* 182661 */ GIM_Try, /*On fail goto*//*Label 4017*/ GIMT_Encode4(182691), // Rule ID 14684 //
64676 /* 182666 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
64677 /* 182669 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
64678 /* 182672 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64679 /* 182676 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64680 /* 182680 */ // (uint_to_fp:{ *:[v16f16] } VR256X:{ *:[v16i16] }:$src) => (VCVTUW2PHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16i16] }:$src)
64681 /* 182680 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUW2PHZ256rr),
64682 /* 182685 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64683 /* 182689 */ GIR_RootConstrainSelectedInstOperands,
64684 /* 182690 */ // GIR_Coverage, 14684,
64685 /* 182690 */ GIR_Done,
64686 /* 182691 */ // Label 4017: @182691
64687 /* 182691 */ GIM_Reject,
64688 /* 182692 */ // Label 3974: @182692
64689 /* 182692 */ GIM_Try, /*On fail goto*//*Label 4018*/ GIMT_Encode4(182780),
64690 /* 182697 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
64691 /* 182700 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64692 /* 182704 */ GIM_Try, /*On fail goto*//*Label 4019*/ GIMT_Encode4(182756), // Rule ID 10947 //
64693 /* 182709 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
64694 /* 182712 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64695 /* 182716 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64696 /* 182720 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64697 /* 182723 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64698 /* 182727 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64699 /* 182731 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64700 /* 182733 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64701 /* 182740 */ // (uint_to_fp:{ *:[v16f32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PSZrm:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)
64702 /* 182740 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PSZrm),
64703 /* 182743 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64704 /* 182745 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64705 /* 182749 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64706 /* 182754 */ GIR_RootConstrainSelectedInstOperands,
64707 /* 182755 */ // GIR_Coverage, 10947,
64708 /* 182755 */ GIR_EraseRootFromParent_Done,
64709 /* 182756 */ // Label 4019: @182756
64710 /* 182756 */ GIM_Try, /*On fail goto*//*Label 4020*/ GIMT_Encode4(182779), // Rule ID 10943 //
64711 /* 182761 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
64712 /* 182764 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64713 /* 182768 */ // (uint_to_fp:{ *:[v16f32] } VR512:{ *:[v16i32] }:$src) => (VCVTUDQ2PSZrr:{ *:[v16f32] } VR512:{ *:[v16i32] }:$src)
64714 /* 182768 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PSZrr),
64715 /* 182773 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64716 /* 182777 */ GIR_RootConstrainSelectedInstOperands,
64717 /* 182778 */ // GIR_Coverage, 10943,
64718 /* 182778 */ GIR_Done,
64719 /* 182779 */ // Label 4020: @182779
64720 /* 182779 */ GIM_Reject,
64721 /* 182780 */ // Label 4018: @182780
64722 /* 182780 */ GIM_Reject,
64723 /* 182781 */ // Label 3975: @182781
64724 /* 182781 */ GIM_Try, /*On fail goto*//*Label 4021*/ GIMT_Encode4(182869),
64725 /* 182786 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
64726 /* 182789 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64727 /* 182793 */ GIM_Try, /*On fail goto*//*Label 4022*/ GIMT_Encode4(182845), // Rule ID 14661 //
64728 /* 182798 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
64729 /* 182801 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64730 /* 182805 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64731 /* 182809 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64732 /* 182812 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64733 /* 182816 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64734 /* 182820 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64735 /* 182822 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64736 /* 182829 */ // (uint_to_fp:{ *:[v32f16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUW2PHZrm:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)
64737 /* 182829 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUW2PHZrm),
64738 /* 182832 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64739 /* 182834 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64740 /* 182838 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64741 /* 182843 */ GIR_RootConstrainSelectedInstOperands,
64742 /* 182844 */ // GIR_Coverage, 14661,
64743 /* 182844 */ GIR_EraseRootFromParent_Done,
64744 /* 182845 */ // Label 4022: @182845
64745 /* 182845 */ GIM_Try, /*On fail goto*//*Label 4023*/ GIMT_Encode4(182868), // Rule ID 14657 //
64746 /* 182850 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
64747 /* 182853 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64748 /* 182857 */ // (uint_to_fp:{ *:[v32f16] } VR512:{ *:[v32i16] }:$src) => (VCVTUW2PHZrr:{ *:[v32f16] } VR512:{ *:[v32i16] }:$src)
64749 /* 182857 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUW2PHZrr),
64750 /* 182862 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64751 /* 182866 */ GIR_RootConstrainSelectedInstOperands,
64752 /* 182867 */ // GIR_Coverage, 14657,
64753 /* 182867 */ GIR_Done,
64754 /* 182868 */ // Label 4023: @182868
64755 /* 182868 */ GIM_Reject,
64756 /* 182869 */ // Label 4021: @182869
64757 /* 182869 */ GIM_Reject,
64758 /* 182870 */ // Label 3976: @182870
64759 /* 182870 */ GIM_Reject,
64760 /* 182871 */ // Label 53: @182871
64761 /* 182871 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(6), /*)*//*default:*//*Label 4027*/ GIMT_Encode4(182993),
64762 /* 182882 */ /*GILLT_s32*//*Label 4024*/ GIMT_Encode4(182894),
64763 /* 182886 */ /*GILLT_s64*//*Label 4025*/ GIMT_Encode4(182927),
64764 /* 182890 */ /*GILLT_s80*//*Label 4026*/ GIMT_Encode4(182960),
64765 /* 182894 */ // Label 4024: @182894
64766 /* 182894 */ GIM_Try, /*On fail goto*//*Label 4028*/ GIMT_Encode4(182926), // Rule ID 1045 //
64767 /* 182899 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
64768 /* 182902 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
64769 /* 182905 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
64770 /* 182909 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
64771 /* 182913 */ // (fabs:{ *:[f32] } RFP32:{ *:[f32] }:$src) => (ABS_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src)
64772 /* 182913 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ABS_Fp32),
64773 /* 182918 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(RegState::Dead),
64774 /* 182924 */ GIR_RootConstrainSelectedInstOperands,
64775 /* 182925 */ // GIR_Coverage, 1045,
64776 /* 182925 */ GIR_Done,
64777 /* 182926 */ // Label 4028: @182926
64778 /* 182926 */ GIM_Reject,
64779 /* 182927 */ // Label 4025: @182927
64780 /* 182927 */ GIM_Try, /*On fail goto*//*Label 4029*/ GIMT_Encode4(182959), // Rule ID 1046 //
64781 /* 182932 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
64782 /* 182935 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
64783 /* 182938 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
64784 /* 182942 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
64785 /* 182946 */ // (fabs:{ *:[f64] } RFP64:{ *:[f64] }:$src) => (ABS_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src)
64786 /* 182946 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ABS_Fp64),
64787 /* 182951 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(RegState::Dead),
64788 /* 182957 */ GIR_RootConstrainSelectedInstOperands,
64789 /* 182958 */ // GIR_Coverage, 1046,
64790 /* 182958 */ GIR_Done,
64791 /* 182959 */ // Label 4029: @182959
64792 /* 182959 */ GIM_Reject,
64793 /* 182960 */ // Label 4026: @182960
64794 /* 182960 */ GIM_Try, /*On fail goto*//*Label 4030*/ GIMT_Encode4(182992), // Rule ID 1047 //
64795 /* 182965 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
64796 /* 182968 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
64797 /* 182971 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
64798 /* 182975 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
64799 /* 182979 */ // (fabs:{ *:[f80] } RFP80:{ *:[f80] }:$src) => (ABS_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src)
64800 /* 182979 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ABS_Fp80),
64801 /* 182984 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(RegState::Dead),
64802 /* 182990 */ GIR_RootConstrainSelectedInstOperands,
64803 /* 182991 */ // GIR_Coverage, 1047,
64804 /* 182991 */ GIR_Done,
64805 /* 182992 */ // Label 4030: @182992
64806 /* 182992 */ GIM_Reject,
64807 /* 182993 */ // Label 4027: @182993
64808 /* 182993 */ GIM_Reject,
64809 /* 182994 */ // Label 54: @182994
64810 /* 182994 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(8), GIMT_Encode2(25), /*)*//*default:*//*Label 4043*/ GIMT_Encode4(186314),
64811 /* 183005 */ /*GILLT_v2s64*//*Label 4031*/ GIMT_Encode4(183073), GIMT_Encode4(0),
64812 /* 183013 */ /*GILLT_v4s32*//*Label 4032*/ GIMT_Encode4(183402),
64813 /* 183017 */ /*GILLT_v4s64*//*Label 4033*/ GIMT_Encode4(183744), GIMT_Encode4(0),
64814 /* 183025 */ /*GILLT_v8s16*//*Label 4034*/ GIMT_Encode4(184061),
64815 /* 183029 */ /*GILLT_v8s32*//*Label 4035*/ GIMT_Encode4(184403),
64816 /* 183033 */ /*GILLT_v8s64*//*Label 4036*/ GIMT_Encode4(184718), GIMT_Encode4(0),
64817 /* 183041 */ /*GILLT_v16s8*//*Label 4037*/ GIMT_Encode4(184874),
64818 /* 183045 */ /*GILLT_v16s16*//*Label 4038*/ GIMT_Encode4(185216),
64819 /* 183049 */ /*GILLT_v16s32*//*Label 4039*/ GIMT_Encode4(185531), GIMT_Encode4(0),
64820 /* 183057 */ /*GILLT_v32s8*//*Label 4040*/ GIMT_Encode4(185687),
64821 /* 183061 */ /*GILLT_v32s16*//*Label 4041*/ GIMT_Encode4(186002), GIMT_Encode4(0),
64822 /* 183069 */ /*GILLT_v64s8*//*Label 4042*/ GIMT_Encode4(186158),
64823 /* 183073 */ // Label 4031: @183073
64824 /* 183073 */ GIM_Try, /*On fail goto*//*Label 4044*/ GIMT_Encode4(183401),
64825 /* 183078 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
64826 /* 183081 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
64827 /* 183084 */ GIM_Try, /*On fail goto*//*Label 4045*/ GIMT_Encode4(183146), // Rule ID 24077 //
64828 /* 183089 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
64829 /* 183092 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64830 /* 183096 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64831 /* 183100 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64832 /* 183104 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64833 /* 183107 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64834 /* 183111 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64835 /* 183115 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64836 /* 183119 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64837 /* 183121 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64838 /* 183128 */ // (smin:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPMINSQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
64839 /* 183128 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSQZ128rm),
64840 /* 183131 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64841 /* 183133 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64842 /* 183135 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64843 /* 183139 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64844 /* 183144 */ GIR_RootConstrainSelectedInstOperands,
64845 /* 183145 */ // GIR_Coverage, 24077,
64846 /* 183145 */ GIR_EraseRootFromParent_Done,
64847 /* 183146 */ // Label 4045: @183146
64848 /* 183146 */ GIM_Try, /*On fail goto*//*Label 4046*/ GIMT_Encode4(183208), // Rule ID 5590 //
64849 /* 183151 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
64850 /* 183154 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64851 /* 183158 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64852 /* 183162 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64853 /* 183166 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64854 /* 183170 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64855 /* 183173 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64856 /* 183177 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64857 /* 183181 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64858 /* 183183 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64859 /* 183190 */ // (smin:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
64860 /* 183190 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSQZ128rm),
64861 /* 183193 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64862 /* 183195 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64863 /* 183197 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64864 /* 183201 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64865 /* 183206 */ GIR_RootConstrainSelectedInstOperands,
64866 /* 183207 */ // GIR_Coverage, 5590,
64867 /* 183207 */ GIR_EraseRootFromParent_Done,
64868 /* 183208 */ // Label 4046: @183208
64869 /* 183208 */ GIM_Try, /*On fail goto*//*Label 4047*/ GIMT_Encode4(183235), // Rule ID 5587 //
64870 /* 183213 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
64871 /* 183216 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64872 /* 183220 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64873 /* 183224 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64874 /* 183228 */ // (smin:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPMINSQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
64875 /* 183228 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSQZ128rr),
64876 /* 183233 */ GIR_RootConstrainSelectedInstOperands,
64877 /* 183234 */ // GIR_Coverage, 5587,
64878 /* 183234 */ GIR_Done,
64879 /* 183235 */ // Label 4047: @183235
64880 /* 183235 */ GIM_Try, /*On fail goto*//*Label 4048*/ GIMT_Encode4(183400), // Rule ID 20014 //
64881 /* 183240 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
64882 /* 183243 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
64883 /* 183247 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64884 /* 183251 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64885 /* 183255 */ // (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] })
64886 /* 183255 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
64887 /* 183258 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64888 /* 183262 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
64889 /* 183267 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
64890 /* 183269 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
64891 /* 183272 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
64892 /* 183276 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
64893 /* 183281 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
64894 /* 183284 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
64895 /* 183288 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/11,
64896 /* 183291 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
64897 /* 183296 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
64898 /* 183301 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
64899 /* 183306 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
64900 /* 183309 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64901 /* 183313 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
64902 /* 183318 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
64903 /* 183320 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
64904 /* 183323 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
64905 /* 183327 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
64906 /* 183332 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
64907 /* 183335 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
64908 /* 183339 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/11,
64909 /* 183342 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
64910 /* 183347 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
64911 /* 183352 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
64912 /* 183357 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
64913 /* 183360 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMINSQZrr),
64914 /* 183364 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
64915 /* 183369 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
64916 /* 183372 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
64917 /* 183375 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
64918 /* 183377 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
64919 /* 183380 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64920 /* 183382 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
64921 /* 183389 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
64922 /* 183394 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
64923 /* 183399 */ // GIR_Coverage, 20014,
64924 /* 183399 */ GIR_EraseRootFromParent_Done,
64925 /* 183400 */ // Label 4048: @183400
64926 /* 183400 */ GIM_Reject,
64927 /* 183401 */ // Label 4044: @183401
64928 /* 183401 */ GIM_Reject,
64929 /* 183402 */ // Label 4032: @183402
64930 /* 183402 */ GIM_Try, /*On fail goto*//*Label 4049*/ GIMT_Encode4(183743),
64931 /* 183407 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
64932 /* 183410 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
64933 /* 183413 */ GIM_Try, /*On fail goto*//*Label 4050*/ GIMT_Encode4(183475), // Rule ID 23501 //
64934 /* 183418 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
64935 /* 183421 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64936 /* 183425 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64937 /* 183429 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64938 /* 183433 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64939 /* 183436 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64940 /* 183440 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64941 /* 183444 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64942 /* 183448 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64943 /* 183450 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64944 /* 183457 */ // (smin:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPMINSDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
64945 /* 183457 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDrm),
64946 /* 183460 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64947 /* 183462 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64948 /* 183464 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64949 /* 183468 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64950 /* 183473 */ GIR_RootConstrainSelectedInstOperands,
64951 /* 183474 */ // GIR_Coverage, 23501,
64952 /* 183474 */ GIR_EraseRootFromParent_Done,
64953 /* 183475 */ // Label 4050: @183475
64954 /* 183475 */ GIM_Try, /*On fail goto*//*Label 4051*/ GIMT_Encode4(183537), // Rule ID 24059 //
64955 /* 183480 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
64956 /* 183483 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64957 /* 183487 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64958 /* 183491 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64959 /* 183495 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64960 /* 183498 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64961 /* 183502 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64962 /* 183506 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64963 /* 183510 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64964 /* 183512 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64965 /* 183519 */ // (smin:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPMINSDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
64966 /* 183519 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDZ128rm),
64967 /* 183522 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64968 /* 183524 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64969 /* 183526 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64970 /* 183530 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64971 /* 183535 */ GIR_RootConstrainSelectedInstOperands,
64972 /* 183536 */ // GIR_Coverage, 24059,
64973 /* 183536 */ GIR_EraseRootFromParent_Done,
64974 /* 183537 */ // Label 4051: @183537
64975 /* 183537 */ GIM_Try, /*On fail goto*//*Label 4052*/ GIMT_Encode4(183599), // Rule ID 3186 //
64976 /* 183542 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
64977 /* 183545 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64978 /* 183549 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64979 /* 183553 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64980 /* 183557 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64981 /* 183561 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64982 /* 183564 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64983 /* 183568 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64984 /* 183572 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64985 /* 183574 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64986 /* 183581 */ // (smin:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
64987 /* 183581 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDrm),
64988 /* 183584 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64989 /* 183586 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64990 /* 183588 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64991 /* 183592 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64992 /* 183597 */ GIR_RootConstrainSelectedInstOperands,
64993 /* 183598 */ // GIR_Coverage, 3186,
64994 /* 183598 */ GIR_EraseRootFromParent_Done,
64995 /* 183599 */ // Label 4052: @183599
64996 /* 183599 */ GIM_Try, /*On fail goto*//*Label 4053*/ GIMT_Encode4(183661), // Rule ID 5563 //
64997 /* 183604 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
64998 /* 183607 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64999 /* 183611 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65000 /* 183615 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65001 /* 183619 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65002 /* 183623 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65003 /* 183626 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65004 /* 183630 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65005 /* 183634 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65006 /* 183636 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65007 /* 183643 */ // (smin:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65008 /* 183643 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDZ128rm),
65009 /* 183646 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65010 /* 183648 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65011 /* 183650 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65012 /* 183654 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65013 /* 183659 */ GIR_RootConstrainSelectedInstOperands,
65014 /* 183660 */ // GIR_Coverage, 5563,
65015 /* 183660 */ GIR_EraseRootFromParent_Done,
65016 /* 183661 */ // Label 4053: @183661
65017 /* 183661 */ GIM_Try, /*On fail goto*//*Label 4054*/ GIMT_Encode4(183688), // Rule ID 3185 //
65018 /* 183666 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
65019 /* 183669 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65020 /* 183673 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65021 /* 183677 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65022 /* 183681 */ // (smin:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPMINSDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
65023 /* 183681 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSDrr),
65024 /* 183686 */ GIR_RootConstrainSelectedInstOperands,
65025 /* 183687 */ // GIR_Coverage, 3185,
65026 /* 183687 */ GIR_Done,
65027 /* 183688 */ // Label 4054: @183688
65028 /* 183688 */ GIM_Try, /*On fail goto*//*Label 4055*/ GIMT_Encode4(183715), // Rule ID 3223 //
65029 /* 183693 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
65030 /* 183696 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65031 /* 183700 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65032 /* 183704 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65033 /* 183708 */ // (smin:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PMINSDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
65034 /* 183708 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMINSDrr),
65035 /* 183713 */ GIR_RootConstrainSelectedInstOperands,
65036 /* 183714 */ // GIR_Coverage, 3223,
65037 /* 183714 */ GIR_Done,
65038 /* 183715 */ // Label 4055: @183715
65039 /* 183715 */ GIM_Try, /*On fail goto*//*Label 4056*/ GIMT_Encode4(183742), // Rule ID 5560 //
65040 /* 183720 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
65041 /* 183723 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65042 /* 183727 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65043 /* 183731 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65044 /* 183735 */ // (smin:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPMINSDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
65045 /* 183735 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSDZ128rr),
65046 /* 183740 */ GIR_RootConstrainSelectedInstOperands,
65047 /* 183741 */ // GIR_Coverage, 5560,
65048 /* 183741 */ GIR_Done,
65049 /* 183742 */ // Label 4056: @183742
65050 /* 183742 */ GIM_Reject,
65051 /* 183743 */ // Label 4049: @183743
65052 /* 183743 */ GIM_Reject,
65053 /* 183744 */ // Label 4033: @183744
65054 /* 183744 */ GIM_Try, /*On fail goto*//*Label 4057*/ GIMT_Encode4(184060),
65055 /* 183749 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
65056 /* 183752 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
65057 /* 183755 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65058 /* 183759 */ GIM_Try, /*On fail goto*//*Label 4058*/ GIMT_Encode4(183817), // Rule ID 24071 //
65059 /* 183764 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
65060 /* 183767 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65061 /* 183771 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65062 /* 183775 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65063 /* 183778 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65064 /* 183782 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65065 /* 183786 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65066 /* 183790 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65067 /* 183792 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65068 /* 183799 */ // (smin:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPMINSQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
65069 /* 183799 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSQZ256rm),
65070 /* 183802 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65071 /* 183804 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65072 /* 183806 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65073 /* 183810 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65074 /* 183815 */ GIR_RootConstrainSelectedInstOperands,
65075 /* 183816 */ // GIR_Coverage, 24071,
65076 /* 183816 */ GIR_EraseRootFromParent_Done,
65077 /* 183817 */ // Label 4058: @183817
65078 /* 183817 */ GIM_Try, /*On fail goto*//*Label 4059*/ GIMT_Encode4(183875), // Rule ID 5581 //
65079 /* 183822 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
65080 /* 183825 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65081 /* 183829 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65082 /* 183833 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65083 /* 183837 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65084 /* 183840 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65085 /* 183844 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65086 /* 183848 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65087 /* 183850 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65088 /* 183857 */ // (smin:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
65089 /* 183857 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSQZ256rm),
65090 /* 183860 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65091 /* 183862 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65092 /* 183864 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65093 /* 183868 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65094 /* 183873 */ GIR_RootConstrainSelectedInstOperands,
65095 /* 183874 */ // GIR_Coverage, 5581,
65096 /* 183874 */ GIR_EraseRootFromParent_Done,
65097 /* 183875 */ // Label 4059: @183875
65098 /* 183875 */ GIM_Try, /*On fail goto*//*Label 4060*/ GIMT_Encode4(183898), // Rule ID 5578 //
65099 /* 183880 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
65100 /* 183883 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65101 /* 183887 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65102 /* 183891 */ // (smin:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPMINSQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
65103 /* 183891 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSQZ256rr),
65104 /* 183896 */ GIR_RootConstrainSelectedInstOperands,
65105 /* 183897 */ // GIR_Coverage, 5578,
65106 /* 183897 */ GIR_Done,
65107 /* 183898 */ // Label 4060: @183898
65108 /* 183898 */ GIM_Try, /*On fail goto*//*Label 4061*/ GIMT_Encode4(184059), // Rule ID 20012 //
65109 /* 183903 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
65110 /* 183906 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65111 /* 183910 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65112 /* 183914 */ // (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] })
65113 /* 183914 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
65114 /* 183917 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
65115 /* 183921 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
65116 /* 183926 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
65117 /* 183928 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
65118 /* 183931 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
65119 /* 183935 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
65120 /* 183940 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
65121 /* 183943 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
65122 /* 183947 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/12,
65123 /* 183950 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
65124 /* 183955 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
65125 /* 183960 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
65126 /* 183965 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
65127 /* 183968 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
65128 /* 183972 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
65129 /* 183977 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
65130 /* 183979 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
65131 /* 183982 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
65132 /* 183986 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
65133 /* 183991 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
65134 /* 183994 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
65135 /* 183998 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/12,
65136 /* 184001 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
65137 /* 184006 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
65138 /* 184011 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
65139 /* 184016 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
65140 /* 184019 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMINSQZrr),
65141 /* 184023 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
65142 /* 184028 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
65143 /* 184031 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
65144 /* 184034 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
65145 /* 184036 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
65146 /* 184039 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65147 /* 184041 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
65148 /* 184048 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
65149 /* 184053 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
65150 /* 184058 */ // GIR_Coverage, 20012,
65151 /* 184058 */ GIR_EraseRootFromParent_Done,
65152 /* 184059 */ // Label 4061: @184059
65153 /* 184059 */ GIM_Reject,
65154 /* 184060 */ // Label 4057: @184060
65155 /* 184060 */ GIM_Reject,
65156 /* 184061 */ // Label 4034: @184061
65157 /* 184061 */ GIM_Try, /*On fail goto*//*Label 4062*/ GIMT_Encode4(184402),
65158 /* 184066 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
65159 /* 184069 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
65160 /* 184072 */ GIM_Try, /*On fail goto*//*Label 4063*/ GIMT_Encode4(184134), // Rule ID 23465 //
65161 /* 184077 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
65162 /* 184080 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65163 /* 184084 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65164 /* 184088 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65165 /* 184092 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65166 /* 184095 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65167 /* 184099 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65168 /* 184103 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65169 /* 184107 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65170 /* 184109 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65171 /* 184116 */ // (smin:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMINSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65172 /* 184116 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWrm),
65173 /* 184119 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65174 /* 184121 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65175 /* 184123 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65176 /* 184127 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65177 /* 184132 */ GIR_RootConstrainSelectedInstOperands,
65178 /* 184133 */ // GIR_Coverage, 23465,
65179 /* 184133 */ GIR_EraseRootFromParent_Done,
65180 /* 184134 */ // Label 4063: @184134
65181 /* 184134 */ GIM_Try, /*On fail goto*//*Label 4064*/ GIMT_Encode4(184196), // Rule ID 24044 //
65182 /* 184139 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
65183 /* 184142 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65184 /* 184146 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65185 /* 184150 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65186 /* 184154 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65187 /* 184157 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65188 /* 184161 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65189 /* 184165 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65190 /* 184169 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65191 /* 184171 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65192 /* 184178 */ // (smin:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMINSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65193 /* 184178 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWZ128rm),
65194 /* 184181 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65195 /* 184183 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65196 /* 184185 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65197 /* 184189 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65198 /* 184194 */ GIR_RootConstrainSelectedInstOperands,
65199 /* 184195 */ // GIR_Coverage, 24044,
65200 /* 184195 */ GIR_EraseRootFromParent_Done,
65201 /* 184196 */ // Label 4064: @184196
65202 /* 184196 */ GIM_Try, /*On fail goto*//*Label 4065*/ GIMT_Encode4(184258), // Rule ID 2643 //
65203 /* 184201 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
65204 /* 184204 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65205 /* 184208 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65206 /* 184212 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65207 /* 184216 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65208 /* 184220 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65209 /* 184223 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65210 /* 184227 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65211 /* 184231 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65212 /* 184233 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65213 /* 184240 */ // (smin:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65214 /* 184240 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWrm),
65215 /* 184243 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65216 /* 184245 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65217 /* 184247 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65218 /* 184251 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65219 /* 184256 */ GIR_RootConstrainSelectedInstOperands,
65220 /* 184257 */ // GIR_Coverage, 2643,
65221 /* 184257 */ GIR_EraseRootFromParent_Done,
65222 /* 184258 */ // Label 4065: @184258
65223 /* 184258 */ GIM_Try, /*On fail goto*//*Label 4066*/ GIMT_Encode4(184320), // Rule ID 5539 //
65224 /* 184263 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
65225 /* 184266 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65226 /* 184270 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65227 /* 184274 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65228 /* 184278 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65229 /* 184282 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65230 /* 184285 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65231 /* 184289 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65232 /* 184293 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65233 /* 184295 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65234 /* 184302 */ // (smin:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65235 /* 184302 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWZ128rm),
65236 /* 184305 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65237 /* 184307 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65238 /* 184309 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65239 /* 184313 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65240 /* 184318 */ GIR_RootConstrainSelectedInstOperands,
65241 /* 184319 */ // GIR_Coverage, 5539,
65242 /* 184319 */ GIR_EraseRootFromParent_Done,
65243 /* 184320 */ // Label 4066: @184320
65244 /* 184320 */ GIM_Try, /*On fail goto*//*Label 4067*/ GIMT_Encode4(184347), // Rule ID 2642 //
65245 /* 184325 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
65246 /* 184328 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65247 /* 184332 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65248 /* 184336 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65249 /* 184340 */ // (smin:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMINSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
65250 /* 184340 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSWrr),
65251 /* 184345 */ GIR_RootConstrainSelectedInstOperands,
65252 /* 184346 */ // GIR_Coverage, 2642,
65253 /* 184346 */ GIR_Done,
65254 /* 184347 */ // Label 4067: @184347
65255 /* 184347 */ GIM_Try, /*On fail goto*//*Label 4068*/ GIMT_Encode4(184374), // Rule ID 2644 //
65256 /* 184352 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
65257 /* 184355 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65258 /* 184359 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65259 /* 184363 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65260 /* 184367 */ // (smin:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMINSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
65261 /* 184367 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMINSWrr),
65262 /* 184372 */ GIR_RootConstrainSelectedInstOperands,
65263 /* 184373 */ // GIR_Coverage, 2644,
65264 /* 184373 */ GIR_Done,
65265 /* 184374 */ // Label 4068: @184374
65266 /* 184374 */ GIM_Try, /*On fail goto*//*Label 4069*/ GIMT_Encode4(184401), // Rule ID 5536 //
65267 /* 184379 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
65268 /* 184382 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65269 /* 184386 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65270 /* 184390 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65271 /* 184394 */ // (smin:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMINSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
65272 /* 184394 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSWZ128rr),
65273 /* 184399 */ GIR_RootConstrainSelectedInstOperands,
65274 /* 184400 */ // GIR_Coverage, 5536,
65275 /* 184400 */ GIR_Done,
65276 /* 184401 */ // Label 4069: @184401
65277 /* 184401 */ GIM_Reject,
65278 /* 184402 */ // Label 4062: @184402
65279 /* 184402 */ GIM_Reject,
65280 /* 184403 */ // Label 4035: @184403
65281 /* 184403 */ GIM_Try, /*On fail goto*//*Label 4070*/ GIMT_Encode4(184717),
65282 /* 184408 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
65283 /* 184411 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
65284 /* 184414 */ GIM_Try, /*On fail goto*//*Label 4071*/ GIMT_Encode4(184476), // Rule ID 23510 //
65285 /* 184419 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
65286 /* 184422 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65287 /* 184426 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65288 /* 184430 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65289 /* 184434 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65290 /* 184437 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65291 /* 184441 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65292 /* 184445 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65293 /* 184449 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65294 /* 184451 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65295 /* 184458 */ // (smin:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPMINSDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65296 /* 184458 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDYrm),
65297 /* 184461 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65298 /* 184463 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65299 /* 184465 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65300 /* 184469 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65301 /* 184474 */ GIR_RootConstrainSelectedInstOperands,
65302 /* 184475 */ // GIR_Coverage, 23510,
65303 /* 184475 */ GIR_EraseRootFromParent_Done,
65304 /* 184476 */ // Label 4071: @184476
65305 /* 184476 */ GIM_Try, /*On fail goto*//*Label 4072*/ GIMT_Encode4(184538), // Rule ID 24053 //
65306 /* 184481 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
65307 /* 184484 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65308 /* 184488 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65309 /* 184492 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65310 /* 184496 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65311 /* 184499 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65312 /* 184503 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65313 /* 184507 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65314 /* 184511 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65315 /* 184513 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65316 /* 184520 */ // (smin:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPMINSDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65317 /* 184520 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDZ256rm),
65318 /* 184523 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65319 /* 184525 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65320 /* 184527 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65321 /* 184531 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65322 /* 184536 */ GIR_RootConstrainSelectedInstOperands,
65323 /* 184537 */ // GIR_Coverage, 24053,
65324 /* 184537 */ GIR_EraseRootFromParent_Done,
65325 /* 184538 */ // Label 4072: @184538
65326 /* 184538 */ GIM_Try, /*On fail goto*//*Label 4073*/ GIMT_Encode4(184600), // Rule ID 3204 //
65327 /* 184543 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
65328 /* 184546 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65329 /* 184550 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65330 /* 184554 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65331 /* 184558 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65332 /* 184562 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65333 /* 184565 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65334 /* 184569 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65335 /* 184573 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65336 /* 184575 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65337 /* 184582 */ // (smin:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65338 /* 184582 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDYrm),
65339 /* 184585 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65340 /* 184587 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65341 /* 184589 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65342 /* 184593 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65343 /* 184598 */ GIR_RootConstrainSelectedInstOperands,
65344 /* 184599 */ // GIR_Coverage, 3204,
65345 /* 184599 */ GIR_EraseRootFromParent_Done,
65346 /* 184600 */ // Label 4073: @184600
65347 /* 184600 */ GIM_Try, /*On fail goto*//*Label 4074*/ GIMT_Encode4(184662), // Rule ID 5554 //
65348 /* 184605 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
65349 /* 184608 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65350 /* 184612 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65351 /* 184616 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65352 /* 184620 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65353 /* 184624 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65354 /* 184627 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65355 /* 184631 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65356 /* 184635 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65357 /* 184637 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65358 /* 184644 */ // (smin:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65359 /* 184644 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDZ256rm),
65360 /* 184647 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65361 /* 184649 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65362 /* 184651 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65363 /* 184655 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65364 /* 184660 */ GIR_RootConstrainSelectedInstOperands,
65365 /* 184661 */ // GIR_Coverage, 5554,
65366 /* 184661 */ GIR_EraseRootFromParent_Done,
65367 /* 184662 */ // Label 4074: @184662
65368 /* 184662 */ GIM_Try, /*On fail goto*//*Label 4075*/ GIMT_Encode4(184689), // Rule ID 3203 //
65369 /* 184667 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
65370 /* 184670 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65371 /* 184674 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65372 /* 184678 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65373 /* 184682 */ // (smin:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPMINSDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
65374 /* 184682 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSDYrr),
65375 /* 184687 */ GIR_RootConstrainSelectedInstOperands,
65376 /* 184688 */ // GIR_Coverage, 3203,
65377 /* 184688 */ GIR_Done,
65378 /* 184689 */ // Label 4075: @184689
65379 /* 184689 */ GIM_Try, /*On fail goto*//*Label 4076*/ GIMT_Encode4(184716), // Rule ID 5551 //
65380 /* 184694 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
65381 /* 184697 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65382 /* 184701 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65383 /* 184705 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65384 /* 184709 */ // (smin:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPMINSDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
65385 /* 184709 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSDZ256rr),
65386 /* 184714 */ GIR_RootConstrainSelectedInstOperands,
65387 /* 184715 */ // GIR_Coverage, 5551,
65388 /* 184715 */ GIR_Done,
65389 /* 184716 */ // Label 4076: @184716
65390 /* 184716 */ GIM_Reject,
65391 /* 184717 */ // Label 4070: @184717
65392 /* 184717 */ GIM_Reject,
65393 /* 184718 */ // Label 4036: @184718
65394 /* 184718 */ GIM_Try, /*On fail goto*//*Label 4077*/ GIMT_Encode4(184873),
65395 /* 184723 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
65396 /* 184726 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
65397 /* 184729 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65398 /* 184733 */ GIM_Try, /*On fail goto*//*Label 4078*/ GIMT_Encode4(184791), // Rule ID 24065 //
65399 /* 184738 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
65400 /* 184741 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65401 /* 184745 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65402 /* 184749 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65403 /* 184752 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65404 /* 184756 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65405 /* 184760 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65406 /* 184764 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65407 /* 184766 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65408 /* 184773 */ // (smin:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPMINSQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
65409 /* 184773 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSQZrm),
65410 /* 184776 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65411 /* 184778 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65412 /* 184780 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65413 /* 184784 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65414 /* 184789 */ GIR_RootConstrainSelectedInstOperands,
65415 /* 184790 */ // GIR_Coverage, 24065,
65416 /* 184790 */ GIR_EraseRootFromParent_Done,
65417 /* 184791 */ // Label 4078: @184791
65418 /* 184791 */ GIM_Try, /*On fail goto*//*Label 4079*/ GIMT_Encode4(184849), // Rule ID 5572 //
65419 /* 184796 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
65420 /* 184799 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65421 /* 184803 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65422 /* 184807 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65423 /* 184811 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65424 /* 184814 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65425 /* 184818 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65426 /* 184822 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65427 /* 184824 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65428 /* 184831 */ // (smin:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
65429 /* 184831 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSQZrm),
65430 /* 184834 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65431 /* 184836 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65432 /* 184838 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65433 /* 184842 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65434 /* 184847 */ GIR_RootConstrainSelectedInstOperands,
65435 /* 184848 */ // GIR_Coverage, 5572,
65436 /* 184848 */ GIR_EraseRootFromParent_Done,
65437 /* 184849 */ // Label 4079: @184849
65438 /* 184849 */ GIM_Try, /*On fail goto*//*Label 4080*/ GIMT_Encode4(184872), // Rule ID 5569 //
65439 /* 184854 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
65440 /* 184857 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65441 /* 184861 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65442 /* 184865 */ // (smin:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPMINSQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
65443 /* 184865 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSQZrr),
65444 /* 184870 */ GIR_RootConstrainSelectedInstOperands,
65445 /* 184871 */ // GIR_Coverage, 5569,
65446 /* 184871 */ GIR_Done,
65447 /* 184872 */ // Label 4080: @184872
65448 /* 184872 */ GIM_Reject,
65449 /* 184873 */ // Label 4077: @184873
65450 /* 184873 */ GIM_Reject,
65451 /* 184874 */ // Label 4037: @184874
65452 /* 184874 */ GIM_Try, /*On fail goto*//*Label 4081*/ GIMT_Encode4(185215),
65453 /* 184879 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
65454 /* 184882 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
65455 /* 184885 */ GIM_Try, /*On fail goto*//*Label 4082*/ GIMT_Encode4(184947), // Rule ID 23506 //
65456 /* 184890 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
65457 /* 184893 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65458 /* 184897 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65459 /* 184901 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65460 /* 184905 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65461 /* 184908 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65462 /* 184912 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65463 /* 184916 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65464 /* 184920 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65465 /* 184922 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65466 /* 184929 */ // (smin:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPMINSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
65467 /* 184929 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBrm),
65468 /* 184932 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65469 /* 184934 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65470 /* 184936 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65471 /* 184940 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65472 /* 184945 */ GIR_RootConstrainSelectedInstOperands,
65473 /* 184946 */ // GIR_Coverage, 23506,
65474 /* 184946 */ GIR_EraseRootFromParent_Done,
65475 /* 184947 */ // Label 4082: @184947
65476 /* 184947 */ GIM_Try, /*On fail goto*//*Label 4083*/ GIMT_Encode4(185009), // Rule ID 24035 //
65477 /* 184952 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
65478 /* 184955 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65479 /* 184959 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65480 /* 184963 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65481 /* 184967 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65482 /* 184970 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65483 /* 184974 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65484 /* 184978 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65485 /* 184982 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65486 /* 184984 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65487 /* 184991 */ // (smin:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPMINSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
65488 /* 184991 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBZ128rm),
65489 /* 184994 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65490 /* 184996 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65491 /* 184998 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65492 /* 185002 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65493 /* 185007 */ GIR_RootConstrainSelectedInstOperands,
65494 /* 185008 */ // GIR_Coverage, 24035,
65495 /* 185008 */ GIR_EraseRootFromParent_Done,
65496 /* 185009 */ // Label 4083: @185009
65497 /* 185009 */ GIM_Try, /*On fail goto*//*Label 4084*/ GIMT_Encode4(185071), // Rule ID 3196 //
65498 /* 185014 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
65499 /* 185017 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65500 /* 185021 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65501 /* 185025 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65502 /* 185029 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65503 /* 185033 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65504 /* 185036 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65505 /* 185040 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65506 /* 185044 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65507 /* 185046 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65508 /* 185053 */ // (smin:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
65509 /* 185053 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBrm),
65510 /* 185056 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65511 /* 185058 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65512 /* 185060 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65513 /* 185064 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65514 /* 185069 */ GIR_RootConstrainSelectedInstOperands,
65515 /* 185070 */ // GIR_Coverage, 3196,
65516 /* 185070 */ GIR_EraseRootFromParent_Done,
65517 /* 185071 */ // Label 4084: @185071
65518 /* 185071 */ GIM_Try, /*On fail goto*//*Label 4085*/ GIMT_Encode4(185133), // Rule ID 5521 //
65519 /* 185076 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
65520 /* 185079 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65521 /* 185083 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65522 /* 185087 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65523 /* 185091 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65524 /* 185095 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65525 /* 185098 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65526 /* 185102 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65527 /* 185106 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65528 /* 185108 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65529 /* 185115 */ // (smin:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
65530 /* 185115 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBZ128rm),
65531 /* 185118 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65532 /* 185120 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65533 /* 185122 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65534 /* 185126 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65535 /* 185131 */ GIR_RootConstrainSelectedInstOperands,
65536 /* 185132 */ // GIR_Coverage, 5521,
65537 /* 185132 */ GIR_EraseRootFromParent_Done,
65538 /* 185133 */ // Label 4085: @185133
65539 /* 185133 */ GIM_Try, /*On fail goto*//*Label 4086*/ GIMT_Encode4(185160), // Rule ID 3195 //
65540 /* 185138 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
65541 /* 185141 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65542 /* 185145 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65543 /* 185149 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65544 /* 185153 */ // (smin:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPMINSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
65545 /* 185153 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSBrr),
65546 /* 185158 */ GIR_RootConstrainSelectedInstOperands,
65547 /* 185159 */ // GIR_Coverage, 3195,
65548 /* 185159 */ GIR_Done,
65549 /* 185160 */ // Label 4086: @185160
65550 /* 185160 */ GIM_Try, /*On fail goto*//*Label 4087*/ GIMT_Encode4(185187), // Rule ID 3221 //
65551 /* 185165 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
65552 /* 185168 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65553 /* 185172 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65554 /* 185176 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65555 /* 185180 */ // (smin:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PMINSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
65556 /* 185180 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMINSBrr),
65557 /* 185185 */ GIR_RootConstrainSelectedInstOperands,
65558 /* 185186 */ // GIR_Coverage, 3221,
65559 /* 185186 */ GIR_Done,
65560 /* 185187 */ // Label 4087: @185187
65561 /* 185187 */ GIM_Try, /*On fail goto*//*Label 4088*/ GIMT_Encode4(185214), // Rule ID 5518 //
65562 /* 185192 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
65563 /* 185195 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65564 /* 185199 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65565 /* 185203 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65566 /* 185207 */ // (smin:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPMINSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
65567 /* 185207 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSBZ128rr),
65568 /* 185212 */ GIR_RootConstrainSelectedInstOperands,
65569 /* 185213 */ // GIR_Coverage, 5518,
65570 /* 185213 */ GIR_Done,
65571 /* 185214 */ // Label 4088: @185214
65572 /* 185214 */ GIM_Reject,
65573 /* 185215 */ // Label 4081: @185215
65574 /* 185215 */ GIM_Reject,
65575 /* 185216 */ // Label 4038: @185216
65576 /* 185216 */ GIM_Try, /*On fail goto*//*Label 4089*/ GIMT_Encode4(185530),
65577 /* 185221 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
65578 /* 185224 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
65579 /* 185227 */ GIM_Try, /*On fail goto*//*Label 4090*/ GIMT_Encode4(185289), // Rule ID 23467 //
65580 /* 185232 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
65581 /* 185235 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65582 /* 185239 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65583 /* 185243 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65584 /* 185247 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65585 /* 185250 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65586 /* 185254 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65587 /* 185258 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65588 /* 185262 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65589 /* 185264 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65590 /* 185271 */ // (smin:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMINSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65591 /* 185271 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWYrm),
65592 /* 185274 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65593 /* 185276 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65594 /* 185278 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65595 /* 185282 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65596 /* 185287 */ GIR_RootConstrainSelectedInstOperands,
65597 /* 185288 */ // GIR_Coverage, 23467,
65598 /* 185288 */ GIR_EraseRootFromParent_Done,
65599 /* 185289 */ // Label 4090: @185289
65600 /* 185289 */ GIM_Try, /*On fail goto*//*Label 4091*/ GIMT_Encode4(185351), // Rule ID 24041 //
65601 /* 185294 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
65602 /* 185297 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65603 /* 185301 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65604 /* 185305 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65605 /* 185309 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65606 /* 185312 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65607 /* 185316 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65608 /* 185320 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65609 /* 185324 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65610 /* 185326 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65611 /* 185333 */ // (smin:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMINSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65612 /* 185333 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWZ256rm),
65613 /* 185336 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65614 /* 185338 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65615 /* 185340 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65616 /* 185344 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65617 /* 185349 */ GIR_RootConstrainSelectedInstOperands,
65618 /* 185350 */ // GIR_Coverage, 24041,
65619 /* 185350 */ GIR_EraseRootFromParent_Done,
65620 /* 185351 */ // Label 4091: @185351
65621 /* 185351 */ GIM_Try, /*On fail goto*//*Label 4092*/ GIMT_Encode4(185413), // Rule ID 2647 //
65622 /* 185356 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
65623 /* 185359 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65624 /* 185363 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65625 /* 185367 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65626 /* 185371 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65627 /* 185375 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65628 /* 185378 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65629 /* 185382 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65630 /* 185386 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65631 /* 185388 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65632 /* 185395 */ // (smin:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65633 /* 185395 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWYrm),
65634 /* 185398 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65635 /* 185400 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65636 /* 185402 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65637 /* 185406 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65638 /* 185411 */ GIR_RootConstrainSelectedInstOperands,
65639 /* 185412 */ // GIR_Coverage, 2647,
65640 /* 185412 */ GIR_EraseRootFromParent_Done,
65641 /* 185413 */ // Label 4092: @185413
65642 /* 185413 */ GIM_Try, /*On fail goto*//*Label 4093*/ GIMT_Encode4(185475), // Rule ID 5533 //
65643 /* 185418 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
65644 /* 185421 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65645 /* 185425 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65646 /* 185429 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65647 /* 185433 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65648 /* 185437 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65649 /* 185440 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65650 /* 185444 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65651 /* 185448 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65652 /* 185450 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65653 /* 185457 */ // (smin:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65654 /* 185457 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWZ256rm),
65655 /* 185460 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65656 /* 185462 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65657 /* 185464 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65658 /* 185468 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65659 /* 185473 */ GIR_RootConstrainSelectedInstOperands,
65660 /* 185474 */ // GIR_Coverage, 5533,
65661 /* 185474 */ GIR_EraseRootFromParent_Done,
65662 /* 185475 */ // Label 4093: @185475
65663 /* 185475 */ GIM_Try, /*On fail goto*//*Label 4094*/ GIMT_Encode4(185502), // Rule ID 2646 //
65664 /* 185480 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
65665 /* 185483 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65666 /* 185487 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65667 /* 185491 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65668 /* 185495 */ // (smin:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMINSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
65669 /* 185495 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSWYrr),
65670 /* 185500 */ GIR_RootConstrainSelectedInstOperands,
65671 /* 185501 */ // GIR_Coverage, 2646,
65672 /* 185501 */ GIR_Done,
65673 /* 185502 */ // Label 4094: @185502
65674 /* 185502 */ GIM_Try, /*On fail goto*//*Label 4095*/ GIMT_Encode4(185529), // Rule ID 5530 //
65675 /* 185507 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
65676 /* 185510 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65677 /* 185514 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65678 /* 185518 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65679 /* 185522 */ // (smin:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMINSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
65680 /* 185522 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSWZ256rr),
65681 /* 185527 */ GIR_RootConstrainSelectedInstOperands,
65682 /* 185528 */ // GIR_Coverage, 5530,
65683 /* 185528 */ GIR_Done,
65684 /* 185529 */ // Label 4095: @185529
65685 /* 185529 */ GIM_Reject,
65686 /* 185530 */ // Label 4089: @185530
65687 /* 185530 */ GIM_Reject,
65688 /* 185531 */ // Label 4039: @185531
65689 /* 185531 */ GIM_Try, /*On fail goto*//*Label 4096*/ GIMT_Encode4(185686),
65690 /* 185536 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
65691 /* 185539 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
65692 /* 185542 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65693 /* 185546 */ GIM_Try, /*On fail goto*//*Label 4097*/ GIMT_Encode4(185604), // Rule ID 24047 //
65694 /* 185551 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
65695 /* 185554 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65696 /* 185558 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65697 /* 185562 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65698 /* 185565 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65699 /* 185569 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65700 /* 185573 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65701 /* 185577 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65702 /* 185579 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65703 /* 185586 */ // (smin:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPMINSDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65704 /* 185586 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDZrm),
65705 /* 185589 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65706 /* 185591 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65707 /* 185593 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65708 /* 185597 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65709 /* 185602 */ GIR_RootConstrainSelectedInstOperands,
65710 /* 185603 */ // GIR_Coverage, 24047,
65711 /* 185603 */ GIR_EraseRootFromParent_Done,
65712 /* 185604 */ // Label 4097: @185604
65713 /* 185604 */ GIM_Try, /*On fail goto*//*Label 4098*/ GIMT_Encode4(185662), // Rule ID 5545 //
65714 /* 185609 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
65715 /* 185612 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65716 /* 185616 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65717 /* 185620 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65718 /* 185624 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65719 /* 185627 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65720 /* 185631 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65721 /* 185635 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65722 /* 185637 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65723 /* 185644 */ // (smin:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65724 /* 185644 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDZrm),
65725 /* 185647 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65726 /* 185649 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65727 /* 185651 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65728 /* 185655 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65729 /* 185660 */ GIR_RootConstrainSelectedInstOperands,
65730 /* 185661 */ // GIR_Coverage, 5545,
65731 /* 185661 */ GIR_EraseRootFromParent_Done,
65732 /* 185662 */ // Label 4098: @185662
65733 /* 185662 */ GIM_Try, /*On fail goto*//*Label 4099*/ GIMT_Encode4(185685), // Rule ID 5542 //
65734 /* 185667 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
65735 /* 185670 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65736 /* 185674 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65737 /* 185678 */ // (smin:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPMINSDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
65738 /* 185678 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSDZrr),
65739 /* 185683 */ GIR_RootConstrainSelectedInstOperands,
65740 /* 185684 */ // GIR_Coverage, 5542,
65741 /* 185684 */ GIR_Done,
65742 /* 185685 */ // Label 4099: @185685
65743 /* 185685 */ GIM_Reject,
65744 /* 185686 */ // Label 4096: @185686
65745 /* 185686 */ GIM_Reject,
65746 /* 185687 */ // Label 4040: @185687
65747 /* 185687 */ GIM_Try, /*On fail goto*//*Label 4100*/ GIMT_Encode4(186001),
65748 /* 185692 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
65749 /* 185695 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
65750 /* 185698 */ GIM_Try, /*On fail goto*//*Label 4101*/ GIMT_Encode4(185760), // Rule ID 23515 //
65751 /* 185703 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
65752 /* 185706 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65753 /* 185710 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65754 /* 185714 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65755 /* 185718 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65756 /* 185721 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65757 /* 185725 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65758 /* 185729 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65759 /* 185733 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65760 /* 185735 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65761 /* 185742 */ // (smin:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPMINSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
65762 /* 185742 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBYrm),
65763 /* 185745 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65764 /* 185747 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65765 /* 185749 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65766 /* 185753 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65767 /* 185758 */ GIR_RootConstrainSelectedInstOperands,
65768 /* 185759 */ // GIR_Coverage, 23515,
65769 /* 185759 */ GIR_EraseRootFromParent_Done,
65770 /* 185760 */ // Label 4101: @185760
65771 /* 185760 */ GIM_Try, /*On fail goto*//*Label 4102*/ GIMT_Encode4(185822), // Rule ID 24032 //
65772 /* 185765 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
65773 /* 185768 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65774 /* 185772 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65775 /* 185776 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65776 /* 185780 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65777 /* 185783 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65778 /* 185787 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65779 /* 185791 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65780 /* 185795 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65781 /* 185797 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65782 /* 185804 */ // (smin:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPMINSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
65783 /* 185804 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBZ256rm),
65784 /* 185807 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65785 /* 185809 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65786 /* 185811 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65787 /* 185815 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65788 /* 185820 */ GIR_RootConstrainSelectedInstOperands,
65789 /* 185821 */ // GIR_Coverage, 24032,
65790 /* 185821 */ GIR_EraseRootFromParent_Done,
65791 /* 185822 */ // Label 4102: @185822
65792 /* 185822 */ GIM_Try, /*On fail goto*//*Label 4103*/ GIMT_Encode4(185884), // Rule ID 3214 //
65793 /* 185827 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
65794 /* 185830 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65795 /* 185834 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65796 /* 185838 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65797 /* 185842 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65798 /* 185846 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65799 /* 185849 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65800 /* 185853 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65801 /* 185857 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65802 /* 185859 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65803 /* 185866 */ // (smin:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
65804 /* 185866 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBYrm),
65805 /* 185869 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65806 /* 185871 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65807 /* 185873 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65808 /* 185877 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65809 /* 185882 */ GIR_RootConstrainSelectedInstOperands,
65810 /* 185883 */ // GIR_Coverage, 3214,
65811 /* 185883 */ GIR_EraseRootFromParent_Done,
65812 /* 185884 */ // Label 4103: @185884
65813 /* 185884 */ GIM_Try, /*On fail goto*//*Label 4104*/ GIMT_Encode4(185946), // Rule ID 5515 //
65814 /* 185889 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
65815 /* 185892 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65816 /* 185896 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65817 /* 185900 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65818 /* 185904 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65819 /* 185908 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65820 /* 185911 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65821 /* 185915 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65822 /* 185919 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65823 /* 185921 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65824 /* 185928 */ // (smin:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
65825 /* 185928 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBZ256rm),
65826 /* 185931 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65827 /* 185933 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65828 /* 185935 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65829 /* 185939 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65830 /* 185944 */ GIR_RootConstrainSelectedInstOperands,
65831 /* 185945 */ // GIR_Coverage, 5515,
65832 /* 185945 */ GIR_EraseRootFromParent_Done,
65833 /* 185946 */ // Label 4104: @185946
65834 /* 185946 */ GIM_Try, /*On fail goto*//*Label 4105*/ GIMT_Encode4(185973), // Rule ID 3213 //
65835 /* 185951 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
65836 /* 185954 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65837 /* 185958 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65838 /* 185962 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65839 /* 185966 */ // (smin:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPMINSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
65840 /* 185966 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSBYrr),
65841 /* 185971 */ GIR_RootConstrainSelectedInstOperands,
65842 /* 185972 */ // GIR_Coverage, 3213,
65843 /* 185972 */ GIR_Done,
65844 /* 185973 */ // Label 4105: @185973
65845 /* 185973 */ GIM_Try, /*On fail goto*//*Label 4106*/ GIMT_Encode4(186000), // Rule ID 5512 //
65846 /* 185978 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
65847 /* 185981 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65848 /* 185985 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65849 /* 185989 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65850 /* 185993 */ // (smin:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPMINSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
65851 /* 185993 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSBZ256rr),
65852 /* 185998 */ GIR_RootConstrainSelectedInstOperands,
65853 /* 185999 */ // GIR_Coverage, 5512,
65854 /* 185999 */ GIR_Done,
65855 /* 186000 */ // Label 4106: @186000
65856 /* 186000 */ GIM_Reject,
65857 /* 186001 */ // Label 4100: @186001
65858 /* 186001 */ GIM_Reject,
65859 /* 186002 */ // Label 4041: @186002
65860 /* 186002 */ GIM_Try, /*On fail goto*//*Label 4107*/ GIMT_Encode4(186157),
65861 /* 186007 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
65862 /* 186010 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
65863 /* 186013 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65864 /* 186017 */ GIM_Try, /*On fail goto*//*Label 4108*/ GIMT_Encode4(186075), // Rule ID 24038 //
65865 /* 186022 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
65866 /* 186025 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65867 /* 186029 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65868 /* 186033 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65869 /* 186036 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65870 /* 186040 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65871 /* 186044 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65872 /* 186048 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65873 /* 186050 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65874 /* 186057 */ // (smin:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMINSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65875 /* 186057 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWZrm),
65876 /* 186060 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65877 /* 186062 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65878 /* 186064 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65879 /* 186068 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65880 /* 186073 */ GIR_RootConstrainSelectedInstOperands,
65881 /* 186074 */ // GIR_Coverage, 24038,
65882 /* 186074 */ GIR_EraseRootFromParent_Done,
65883 /* 186075 */ // Label 4108: @186075
65884 /* 186075 */ GIM_Try, /*On fail goto*//*Label 4109*/ GIMT_Encode4(186133), // Rule ID 5527 //
65885 /* 186080 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
65886 /* 186083 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65887 /* 186087 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65888 /* 186091 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65889 /* 186095 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65890 /* 186098 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65891 /* 186102 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65892 /* 186106 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65893 /* 186108 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65894 /* 186115 */ // (smin:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65895 /* 186115 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWZrm),
65896 /* 186118 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65897 /* 186120 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65898 /* 186122 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65899 /* 186126 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65900 /* 186131 */ GIR_RootConstrainSelectedInstOperands,
65901 /* 186132 */ // GIR_Coverage, 5527,
65902 /* 186132 */ GIR_EraseRootFromParent_Done,
65903 /* 186133 */ // Label 4109: @186133
65904 /* 186133 */ GIM_Try, /*On fail goto*//*Label 4110*/ GIMT_Encode4(186156), // Rule ID 5524 //
65905 /* 186138 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
65906 /* 186141 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65907 /* 186145 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65908 /* 186149 */ // (smin:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMINSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
65909 /* 186149 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSWZrr),
65910 /* 186154 */ GIR_RootConstrainSelectedInstOperands,
65911 /* 186155 */ // GIR_Coverage, 5524,
65912 /* 186155 */ GIR_Done,
65913 /* 186156 */ // Label 4110: @186156
65914 /* 186156 */ GIM_Reject,
65915 /* 186157 */ // Label 4107: @186157
65916 /* 186157 */ GIM_Reject,
65917 /* 186158 */ // Label 4042: @186158
65918 /* 186158 */ GIM_Try, /*On fail goto*//*Label 4111*/ GIMT_Encode4(186313),
65919 /* 186163 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
65920 /* 186166 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
65921 /* 186169 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65922 /* 186173 */ GIM_Try, /*On fail goto*//*Label 4112*/ GIMT_Encode4(186231), // Rule ID 24029 //
65923 /* 186178 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
65924 /* 186181 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65925 /* 186185 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65926 /* 186189 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65927 /* 186192 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65928 /* 186196 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65929 /* 186200 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65930 /* 186204 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65931 /* 186206 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65932 /* 186213 */ // (smin:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPMINSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
65933 /* 186213 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBZrm),
65934 /* 186216 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65935 /* 186218 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65936 /* 186220 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65937 /* 186224 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65938 /* 186229 */ GIR_RootConstrainSelectedInstOperands,
65939 /* 186230 */ // GIR_Coverage, 24029,
65940 /* 186230 */ GIR_EraseRootFromParent_Done,
65941 /* 186231 */ // Label 4112: @186231
65942 /* 186231 */ GIM_Try, /*On fail goto*//*Label 4113*/ GIMT_Encode4(186289), // Rule ID 5509 //
65943 /* 186236 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
65944 /* 186239 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65945 /* 186243 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65946 /* 186247 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65947 /* 186251 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65948 /* 186254 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65949 /* 186258 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65950 /* 186262 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65951 /* 186264 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65952 /* 186271 */ // (smin:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
65953 /* 186271 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBZrm),
65954 /* 186274 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65955 /* 186276 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65956 /* 186278 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65957 /* 186282 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65958 /* 186287 */ GIR_RootConstrainSelectedInstOperands,
65959 /* 186288 */ // GIR_Coverage, 5509,
65960 /* 186288 */ GIR_EraseRootFromParent_Done,
65961 /* 186289 */ // Label 4113: @186289
65962 /* 186289 */ GIM_Try, /*On fail goto*//*Label 4114*/ GIMT_Encode4(186312), // Rule ID 5506 //
65963 /* 186294 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
65964 /* 186297 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65965 /* 186301 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65966 /* 186305 */ // (smin:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPMINSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
65967 /* 186305 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSBZrr),
65968 /* 186310 */ GIR_RootConstrainSelectedInstOperands,
65969 /* 186311 */ // GIR_Coverage, 5506,
65970 /* 186311 */ GIR_Done,
65971 /* 186312 */ // Label 4114: @186312
65972 /* 186312 */ GIM_Reject,
65973 /* 186313 */ // Label 4111: @186313
65974 /* 186313 */ GIM_Reject,
65975 /* 186314 */ // Label 4043: @186314
65976 /* 186314 */ GIM_Reject,
65977 /* 186315 */ // Label 55: @186315
65978 /* 186315 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(8), GIMT_Encode2(25), /*)*//*default:*//*Label 4127*/ GIMT_Encode4(189635),
65979 /* 186326 */ /*GILLT_v2s64*//*Label 4115*/ GIMT_Encode4(186394), GIMT_Encode4(0),
65980 /* 186334 */ /*GILLT_v4s32*//*Label 4116*/ GIMT_Encode4(186723),
65981 /* 186338 */ /*GILLT_v4s64*//*Label 4117*/ GIMT_Encode4(187065), GIMT_Encode4(0),
65982 /* 186346 */ /*GILLT_v8s16*//*Label 4118*/ GIMT_Encode4(187382),
65983 /* 186350 */ /*GILLT_v8s32*//*Label 4119*/ GIMT_Encode4(187724),
65984 /* 186354 */ /*GILLT_v8s64*//*Label 4120*/ GIMT_Encode4(188039), GIMT_Encode4(0),
65985 /* 186362 */ /*GILLT_v16s8*//*Label 4121*/ GIMT_Encode4(188195),
65986 /* 186366 */ /*GILLT_v16s16*//*Label 4122*/ GIMT_Encode4(188537),
65987 /* 186370 */ /*GILLT_v16s32*//*Label 4123*/ GIMT_Encode4(188852), GIMT_Encode4(0),
65988 /* 186378 */ /*GILLT_v32s8*//*Label 4124*/ GIMT_Encode4(189008),
65989 /* 186382 */ /*GILLT_v32s16*//*Label 4125*/ GIMT_Encode4(189323), GIMT_Encode4(0),
65990 /* 186390 */ /*GILLT_v64s8*//*Label 4126*/ GIMT_Encode4(189479),
65991 /* 186394 */ // Label 4115: @186394
65992 /* 186394 */ GIM_Try, /*On fail goto*//*Label 4128*/ GIMT_Encode4(186722),
65993 /* 186399 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
65994 /* 186402 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
65995 /* 186405 */ GIM_Try, /*On fail goto*//*Label 4129*/ GIMT_Encode4(186467), // Rule ID 23969 //
65996 /* 186410 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
65997 /* 186413 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65998 /* 186417 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65999 /* 186421 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66000 /* 186425 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66001 /* 186428 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66002 /* 186432 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66003 /* 186436 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66004 /* 186440 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66005 /* 186442 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66006 /* 186449 */ // (smax:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPMAXSQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
66007 /* 186449 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZ128rm),
66008 /* 186452 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66009 /* 186454 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66010 /* 186456 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66011 /* 186460 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66012 /* 186465 */ GIR_RootConstrainSelectedInstOperands,
66013 /* 186466 */ // GIR_Coverage, 23969,
66014 /* 186466 */ GIR_EraseRootFromParent_Done,
66015 /* 186467 */ // Label 4129: @186467
66016 /* 186467 */ GIM_Try, /*On fail goto*//*Label 4130*/ GIMT_Encode4(186529), // Rule ID 5410 //
66017 /* 186472 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66018 /* 186475 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66019 /* 186479 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66020 /* 186483 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66021 /* 186487 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66022 /* 186491 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66023 /* 186494 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66024 /* 186498 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66025 /* 186502 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66026 /* 186504 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66027 /* 186511 */ // (smax:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
66028 /* 186511 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZ128rm),
66029 /* 186514 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66030 /* 186516 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66031 /* 186518 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66032 /* 186522 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66033 /* 186527 */ GIR_RootConstrainSelectedInstOperands,
66034 /* 186528 */ // GIR_Coverage, 5410,
66035 /* 186528 */ GIR_EraseRootFromParent_Done,
66036 /* 186529 */ // Label 4130: @186529
66037 /* 186529 */ GIM_Try, /*On fail goto*//*Label 4131*/ GIMT_Encode4(186556), // Rule ID 5407 //
66038 /* 186534 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66039 /* 186537 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66040 /* 186541 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66041 /* 186545 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66042 /* 186549 */ // (smax:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPMAXSQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
66043 /* 186549 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZ128rr),
66044 /* 186554 */ GIR_RootConstrainSelectedInstOperands,
66045 /* 186555 */ // GIR_Coverage, 5407,
66046 /* 186555 */ GIR_Done,
66047 /* 186556 */ // Label 4131: @186556
66048 /* 186556 */ GIM_Try, /*On fail goto*//*Label 4132*/ GIMT_Encode4(186721), // Rule ID 20010 //
66049 /* 186561 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
66050 /* 186564 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
66051 /* 186568 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66052 /* 186572 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66053 /* 186576 */ // (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] })
66054 /* 186576 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
66055 /* 186579 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
66056 /* 186583 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
66057 /* 186588 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
66058 /* 186590 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
66059 /* 186593 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
66060 /* 186597 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
66061 /* 186602 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
66062 /* 186605 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
66063 /* 186609 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/11,
66064 /* 186612 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
66065 /* 186617 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
66066 /* 186622 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
66067 /* 186627 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
66068 /* 186630 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
66069 /* 186634 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
66070 /* 186639 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
66071 /* 186641 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
66072 /* 186644 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
66073 /* 186648 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
66074 /* 186653 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
66075 /* 186656 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
66076 /* 186660 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/11,
66077 /* 186663 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
66078 /* 186668 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
66079 /* 186673 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
66080 /* 186678 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
66081 /* 186681 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZrr),
66082 /* 186685 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
66083 /* 186690 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
66084 /* 186693 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
66085 /* 186696 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
66086 /* 186698 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
66087 /* 186701 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66088 /* 186703 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
66089 /* 186710 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
66090 /* 186715 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
66091 /* 186720 */ // GIR_Coverage, 20010,
66092 /* 186720 */ GIR_EraseRootFromParent_Done,
66093 /* 186721 */ // Label 4132: @186721
66094 /* 186721 */ GIM_Reject,
66095 /* 186722 */ // Label 4128: @186722
66096 /* 186722 */ GIM_Reject,
66097 /* 186723 */ // Label 4116: @186723
66098 /* 186723 */ GIM_Try, /*On fail goto*//*Label 4133*/ GIMT_Encode4(187064),
66099 /* 186728 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
66100 /* 186731 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
66101 /* 186734 */ GIM_Try, /*On fail goto*//*Label 4134*/ GIMT_Encode4(186796), // Rule ID 23503 //
66102 /* 186739 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
66103 /* 186742 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66104 /* 186746 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66105 /* 186750 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66106 /* 186754 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66107 /* 186757 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66108 /* 186761 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66109 /* 186765 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66110 /* 186769 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66111 /* 186771 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66112 /* 186778 */ // (smax:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPMAXSDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66113 /* 186778 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDrm),
66114 /* 186781 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66115 /* 186783 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66116 /* 186785 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66117 /* 186789 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66118 /* 186794 */ GIR_RootConstrainSelectedInstOperands,
66119 /* 186795 */ // GIR_Coverage, 23503,
66120 /* 186795 */ GIR_EraseRootFromParent_Done,
66121 /* 186796 */ // Label 4134: @186796
66122 /* 186796 */ GIM_Try, /*On fail goto*//*Label 4135*/ GIMT_Encode4(186858), // Rule ID 23951 //
66123 /* 186801 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66124 /* 186804 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66125 /* 186808 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66126 /* 186812 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66127 /* 186816 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66128 /* 186819 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66129 /* 186823 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66130 /* 186827 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66131 /* 186831 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66132 /* 186833 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66133 /* 186840 */ // (smax:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPMAXSDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66134 /* 186840 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZ128rm),
66135 /* 186843 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66136 /* 186845 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66137 /* 186847 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66138 /* 186851 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66139 /* 186856 */ GIR_RootConstrainSelectedInstOperands,
66140 /* 186857 */ // GIR_Coverage, 23951,
66141 /* 186857 */ GIR_EraseRootFromParent_Done,
66142 /* 186858 */ // Label 4135: @186858
66143 /* 186858 */ GIM_Try, /*On fail goto*//*Label 4136*/ GIMT_Encode4(186920), // Rule ID 3190 //
66144 /* 186863 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
66145 /* 186866 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66146 /* 186870 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66147 /* 186874 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66148 /* 186878 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66149 /* 186882 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66150 /* 186885 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66151 /* 186889 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66152 /* 186893 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66153 /* 186895 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66154 /* 186902 */ // (smax:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66155 /* 186902 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDrm),
66156 /* 186905 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66157 /* 186907 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66158 /* 186909 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66159 /* 186913 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66160 /* 186918 */ GIR_RootConstrainSelectedInstOperands,
66161 /* 186919 */ // GIR_Coverage, 3190,
66162 /* 186919 */ GIR_EraseRootFromParent_Done,
66163 /* 186920 */ // Label 4136: @186920
66164 /* 186920 */ GIM_Try, /*On fail goto*//*Label 4137*/ GIMT_Encode4(186982), // Rule ID 5383 //
66165 /* 186925 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66166 /* 186928 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66167 /* 186932 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66168 /* 186936 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66169 /* 186940 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66170 /* 186944 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66171 /* 186947 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66172 /* 186951 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66173 /* 186955 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66174 /* 186957 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66175 /* 186964 */ // (smax:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66176 /* 186964 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZ128rm),
66177 /* 186967 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66178 /* 186969 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66179 /* 186971 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66180 /* 186975 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66181 /* 186980 */ GIR_RootConstrainSelectedInstOperands,
66182 /* 186981 */ // GIR_Coverage, 5383,
66183 /* 186981 */ GIR_EraseRootFromParent_Done,
66184 /* 186982 */ // Label 4137: @186982
66185 /* 186982 */ GIM_Try, /*On fail goto*//*Label 4138*/ GIMT_Encode4(187009), // Rule ID 3189 //
66186 /* 186987 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
66187 /* 186990 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66188 /* 186994 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66189 /* 186998 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66190 /* 187002 */ // (smax:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPMAXSDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
66191 /* 187002 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSDrr),
66192 /* 187007 */ GIR_RootConstrainSelectedInstOperands,
66193 /* 187008 */ // GIR_Coverage, 3189,
66194 /* 187008 */ GIR_Done,
66195 /* 187009 */ // Label 4138: @187009
66196 /* 187009 */ GIM_Try, /*On fail goto*//*Label 4139*/ GIMT_Encode4(187036), // Rule ID 3231 //
66197 /* 187014 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
66198 /* 187017 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66199 /* 187021 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66200 /* 187025 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66201 /* 187029 */ // (smax:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PMAXSDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
66202 /* 187029 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMAXSDrr),
66203 /* 187034 */ GIR_RootConstrainSelectedInstOperands,
66204 /* 187035 */ // GIR_Coverage, 3231,
66205 /* 187035 */ GIR_Done,
66206 /* 187036 */ // Label 4139: @187036
66207 /* 187036 */ GIM_Try, /*On fail goto*//*Label 4140*/ GIMT_Encode4(187063), // Rule ID 5380 //
66208 /* 187041 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66209 /* 187044 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66210 /* 187048 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66211 /* 187052 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66212 /* 187056 */ // (smax:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPMAXSDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
66213 /* 187056 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZ128rr),
66214 /* 187061 */ GIR_RootConstrainSelectedInstOperands,
66215 /* 187062 */ // GIR_Coverage, 5380,
66216 /* 187062 */ GIR_Done,
66217 /* 187063 */ // Label 4140: @187063
66218 /* 187063 */ GIM_Reject,
66219 /* 187064 */ // Label 4133: @187064
66220 /* 187064 */ GIM_Reject,
66221 /* 187065 */ // Label 4117: @187065
66222 /* 187065 */ GIM_Try, /*On fail goto*//*Label 4141*/ GIMT_Encode4(187381),
66223 /* 187070 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
66224 /* 187073 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
66225 /* 187076 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66226 /* 187080 */ GIM_Try, /*On fail goto*//*Label 4142*/ GIMT_Encode4(187138), // Rule ID 23963 //
66227 /* 187085 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66228 /* 187088 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66229 /* 187092 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66230 /* 187096 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66231 /* 187099 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66232 /* 187103 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66233 /* 187107 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66234 /* 187111 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66235 /* 187113 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66236 /* 187120 */ // (smax:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPMAXSQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
66237 /* 187120 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZ256rm),
66238 /* 187123 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66239 /* 187125 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66240 /* 187127 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66241 /* 187131 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66242 /* 187136 */ GIR_RootConstrainSelectedInstOperands,
66243 /* 187137 */ // GIR_Coverage, 23963,
66244 /* 187137 */ GIR_EraseRootFromParent_Done,
66245 /* 187138 */ // Label 4142: @187138
66246 /* 187138 */ GIM_Try, /*On fail goto*//*Label 4143*/ GIMT_Encode4(187196), // Rule ID 5401 //
66247 /* 187143 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66248 /* 187146 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66249 /* 187150 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66250 /* 187154 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66251 /* 187158 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66252 /* 187161 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66253 /* 187165 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66254 /* 187169 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66255 /* 187171 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66256 /* 187178 */ // (smax:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
66257 /* 187178 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZ256rm),
66258 /* 187181 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66259 /* 187183 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66260 /* 187185 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66261 /* 187189 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66262 /* 187194 */ GIR_RootConstrainSelectedInstOperands,
66263 /* 187195 */ // GIR_Coverage, 5401,
66264 /* 187195 */ GIR_EraseRootFromParent_Done,
66265 /* 187196 */ // Label 4143: @187196
66266 /* 187196 */ GIM_Try, /*On fail goto*//*Label 4144*/ GIMT_Encode4(187219), // Rule ID 5398 //
66267 /* 187201 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66268 /* 187204 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66269 /* 187208 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66270 /* 187212 */ // (smax:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPMAXSQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
66271 /* 187212 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZ256rr),
66272 /* 187217 */ GIR_RootConstrainSelectedInstOperands,
66273 /* 187218 */ // GIR_Coverage, 5398,
66274 /* 187218 */ GIR_Done,
66275 /* 187219 */ // Label 4144: @187219
66276 /* 187219 */ GIM_Try, /*On fail goto*//*Label 4145*/ GIMT_Encode4(187380), // Rule ID 20008 //
66277 /* 187224 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
66278 /* 187227 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66279 /* 187231 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66280 /* 187235 */ // (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] })
66281 /* 187235 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
66282 /* 187238 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
66283 /* 187242 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
66284 /* 187247 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
66285 /* 187249 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
66286 /* 187252 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
66287 /* 187256 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
66288 /* 187261 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
66289 /* 187264 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
66290 /* 187268 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/12,
66291 /* 187271 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
66292 /* 187276 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
66293 /* 187281 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
66294 /* 187286 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
66295 /* 187289 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
66296 /* 187293 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
66297 /* 187298 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
66298 /* 187300 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
66299 /* 187303 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
66300 /* 187307 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
66301 /* 187312 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
66302 /* 187315 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
66303 /* 187319 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/12,
66304 /* 187322 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
66305 /* 187327 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
66306 /* 187332 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
66307 /* 187337 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
66308 /* 187340 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZrr),
66309 /* 187344 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
66310 /* 187349 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
66311 /* 187352 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
66312 /* 187355 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
66313 /* 187357 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
66314 /* 187360 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66315 /* 187362 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
66316 /* 187369 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
66317 /* 187374 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
66318 /* 187379 */ // GIR_Coverage, 20008,
66319 /* 187379 */ GIR_EraseRootFromParent_Done,
66320 /* 187380 */ // Label 4145: @187380
66321 /* 187380 */ GIM_Reject,
66322 /* 187381 */ // Label 4141: @187381
66323 /* 187381 */ GIM_Reject,
66324 /* 187382 */ // Label 4118: @187382
66325 /* 187382 */ GIM_Try, /*On fail goto*//*Label 4146*/ GIMT_Encode4(187723),
66326 /* 187387 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
66327 /* 187390 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
66328 /* 187393 */ GIM_Try, /*On fail goto*//*Label 4147*/ GIMT_Encode4(187455), // Rule ID 23471 //
66329 /* 187398 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
66330 /* 187401 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66331 /* 187405 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66332 /* 187409 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66333 /* 187413 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66334 /* 187416 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66335 /* 187420 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66336 /* 187424 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66337 /* 187428 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66338 /* 187430 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66339 /* 187437 */ // (smax:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMAXSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66340 /* 187437 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWrm),
66341 /* 187440 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66342 /* 187442 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66343 /* 187444 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66344 /* 187448 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66345 /* 187453 */ GIR_RootConstrainSelectedInstOperands,
66346 /* 187454 */ // GIR_Coverage, 23471,
66347 /* 187454 */ GIR_EraseRootFromParent_Done,
66348 /* 187455 */ // Label 4147: @187455
66349 /* 187455 */ GIM_Try, /*On fail goto*//*Label 4148*/ GIMT_Encode4(187517), // Rule ID 23936 //
66350 /* 187460 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
66351 /* 187463 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66352 /* 187467 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66353 /* 187471 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66354 /* 187475 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66355 /* 187478 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66356 /* 187482 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66357 /* 187486 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66358 /* 187490 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66359 /* 187492 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66360 /* 187499 */ // (smax:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMAXSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66361 /* 187499 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZ128rm),
66362 /* 187502 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66363 /* 187504 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66364 /* 187506 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66365 /* 187510 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66366 /* 187515 */ GIR_RootConstrainSelectedInstOperands,
66367 /* 187516 */ // GIR_Coverage, 23936,
66368 /* 187516 */ GIR_EraseRootFromParent_Done,
66369 /* 187517 */ // Label 4148: @187517
66370 /* 187517 */ GIM_Try, /*On fail goto*//*Label 4149*/ GIMT_Encode4(187579), // Rule ID 2655 //
66371 /* 187522 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
66372 /* 187525 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66373 /* 187529 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66374 /* 187533 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66375 /* 187537 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66376 /* 187541 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66377 /* 187544 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66378 /* 187548 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66379 /* 187552 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66380 /* 187554 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66381 /* 187561 */ // (smax:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66382 /* 187561 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWrm),
66383 /* 187564 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66384 /* 187566 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66385 /* 187568 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66386 /* 187572 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66387 /* 187577 */ GIR_RootConstrainSelectedInstOperands,
66388 /* 187578 */ // GIR_Coverage, 2655,
66389 /* 187578 */ GIR_EraseRootFromParent_Done,
66390 /* 187579 */ // Label 4149: @187579
66391 /* 187579 */ GIM_Try, /*On fail goto*//*Label 4150*/ GIMT_Encode4(187641), // Rule ID 5359 //
66392 /* 187584 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
66393 /* 187587 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66394 /* 187591 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66395 /* 187595 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66396 /* 187599 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66397 /* 187603 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66398 /* 187606 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66399 /* 187610 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66400 /* 187614 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66401 /* 187616 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66402 /* 187623 */ // (smax:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66403 /* 187623 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZ128rm),
66404 /* 187626 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66405 /* 187628 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66406 /* 187630 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66407 /* 187634 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66408 /* 187639 */ GIR_RootConstrainSelectedInstOperands,
66409 /* 187640 */ // GIR_Coverage, 5359,
66410 /* 187640 */ GIR_EraseRootFromParent_Done,
66411 /* 187641 */ // Label 4150: @187641
66412 /* 187641 */ GIM_Try, /*On fail goto*//*Label 4151*/ GIMT_Encode4(187668), // Rule ID 2654 //
66413 /* 187646 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
66414 /* 187649 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66415 /* 187653 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66416 /* 187657 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66417 /* 187661 */ // (smax:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMAXSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
66418 /* 187661 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSWrr),
66419 /* 187666 */ GIR_RootConstrainSelectedInstOperands,
66420 /* 187667 */ // GIR_Coverage, 2654,
66421 /* 187667 */ GIR_Done,
66422 /* 187668 */ // Label 4151: @187668
66423 /* 187668 */ GIM_Try, /*On fail goto*//*Label 4152*/ GIMT_Encode4(187695), // Rule ID 2656 //
66424 /* 187673 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
66425 /* 187676 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66426 /* 187680 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66427 /* 187684 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66428 /* 187688 */ // (smax:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMAXSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
66429 /* 187688 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMAXSWrr),
66430 /* 187693 */ GIR_RootConstrainSelectedInstOperands,
66431 /* 187694 */ // GIR_Coverage, 2656,
66432 /* 187694 */ GIR_Done,
66433 /* 187695 */ // Label 4152: @187695
66434 /* 187695 */ GIM_Try, /*On fail goto*//*Label 4153*/ GIMT_Encode4(187722), // Rule ID 5356 //
66435 /* 187700 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
66436 /* 187703 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66437 /* 187707 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66438 /* 187711 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66439 /* 187715 */ // (smax:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMAXSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
66440 /* 187715 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZ128rr),
66441 /* 187720 */ GIR_RootConstrainSelectedInstOperands,
66442 /* 187721 */ // GIR_Coverage, 5356,
66443 /* 187721 */ GIR_Done,
66444 /* 187722 */ // Label 4153: @187722
66445 /* 187722 */ GIM_Reject,
66446 /* 187723 */ // Label 4146: @187723
66447 /* 187723 */ GIM_Reject,
66448 /* 187724 */ // Label 4119: @187724
66449 /* 187724 */ GIM_Try, /*On fail goto*//*Label 4154*/ GIMT_Encode4(188038),
66450 /* 187729 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
66451 /* 187732 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
66452 /* 187735 */ GIM_Try, /*On fail goto*//*Label 4155*/ GIMT_Encode4(187797), // Rule ID 23512 //
66453 /* 187740 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
66454 /* 187743 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66455 /* 187747 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66456 /* 187751 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66457 /* 187755 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66458 /* 187758 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66459 /* 187762 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66460 /* 187766 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66461 /* 187770 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66462 /* 187772 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66463 /* 187779 */ // (smax:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPMAXSDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66464 /* 187779 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDYrm),
66465 /* 187782 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66466 /* 187784 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66467 /* 187786 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66468 /* 187790 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66469 /* 187795 */ GIR_RootConstrainSelectedInstOperands,
66470 /* 187796 */ // GIR_Coverage, 23512,
66471 /* 187796 */ GIR_EraseRootFromParent_Done,
66472 /* 187797 */ // Label 4155: @187797
66473 /* 187797 */ GIM_Try, /*On fail goto*//*Label 4156*/ GIMT_Encode4(187859), // Rule ID 23945 //
66474 /* 187802 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66475 /* 187805 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66476 /* 187809 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66477 /* 187813 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66478 /* 187817 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66479 /* 187820 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66480 /* 187824 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66481 /* 187828 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66482 /* 187832 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66483 /* 187834 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66484 /* 187841 */ // (smax:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPMAXSDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66485 /* 187841 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZ256rm),
66486 /* 187844 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66487 /* 187846 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66488 /* 187848 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66489 /* 187852 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66490 /* 187857 */ GIR_RootConstrainSelectedInstOperands,
66491 /* 187858 */ // GIR_Coverage, 23945,
66492 /* 187858 */ GIR_EraseRootFromParent_Done,
66493 /* 187859 */ // Label 4156: @187859
66494 /* 187859 */ GIM_Try, /*On fail goto*//*Label 4157*/ GIMT_Encode4(187921), // Rule ID 3208 //
66495 /* 187864 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
66496 /* 187867 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66497 /* 187871 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66498 /* 187875 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66499 /* 187879 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66500 /* 187883 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66501 /* 187886 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66502 /* 187890 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66503 /* 187894 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66504 /* 187896 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66505 /* 187903 */ // (smax:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66506 /* 187903 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDYrm),
66507 /* 187906 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66508 /* 187908 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66509 /* 187910 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66510 /* 187914 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66511 /* 187919 */ GIR_RootConstrainSelectedInstOperands,
66512 /* 187920 */ // GIR_Coverage, 3208,
66513 /* 187920 */ GIR_EraseRootFromParent_Done,
66514 /* 187921 */ // Label 4157: @187921
66515 /* 187921 */ GIM_Try, /*On fail goto*//*Label 4158*/ GIMT_Encode4(187983), // Rule ID 5374 //
66516 /* 187926 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66517 /* 187929 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66518 /* 187933 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66519 /* 187937 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66520 /* 187941 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66521 /* 187945 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66522 /* 187948 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66523 /* 187952 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66524 /* 187956 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66525 /* 187958 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66526 /* 187965 */ // (smax:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66527 /* 187965 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZ256rm),
66528 /* 187968 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66529 /* 187970 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66530 /* 187972 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66531 /* 187976 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66532 /* 187981 */ GIR_RootConstrainSelectedInstOperands,
66533 /* 187982 */ // GIR_Coverage, 5374,
66534 /* 187982 */ GIR_EraseRootFromParent_Done,
66535 /* 187983 */ // Label 4158: @187983
66536 /* 187983 */ GIM_Try, /*On fail goto*//*Label 4159*/ GIMT_Encode4(188010), // Rule ID 3207 //
66537 /* 187988 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
66538 /* 187991 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66539 /* 187995 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66540 /* 187999 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66541 /* 188003 */ // (smax:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPMAXSDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
66542 /* 188003 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSDYrr),
66543 /* 188008 */ GIR_RootConstrainSelectedInstOperands,
66544 /* 188009 */ // GIR_Coverage, 3207,
66545 /* 188009 */ GIR_Done,
66546 /* 188010 */ // Label 4159: @188010
66547 /* 188010 */ GIM_Try, /*On fail goto*//*Label 4160*/ GIMT_Encode4(188037), // Rule ID 5371 //
66548 /* 188015 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66549 /* 188018 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66550 /* 188022 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66551 /* 188026 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66552 /* 188030 */ // (smax:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPMAXSDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
66553 /* 188030 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZ256rr),
66554 /* 188035 */ GIR_RootConstrainSelectedInstOperands,
66555 /* 188036 */ // GIR_Coverage, 5371,
66556 /* 188036 */ GIR_Done,
66557 /* 188037 */ // Label 4160: @188037
66558 /* 188037 */ GIM_Reject,
66559 /* 188038 */ // Label 4154: @188038
66560 /* 188038 */ GIM_Reject,
66561 /* 188039 */ // Label 4120: @188039
66562 /* 188039 */ GIM_Try, /*On fail goto*//*Label 4161*/ GIMT_Encode4(188194),
66563 /* 188044 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
66564 /* 188047 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
66565 /* 188050 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66566 /* 188054 */ GIM_Try, /*On fail goto*//*Label 4162*/ GIMT_Encode4(188112), // Rule ID 23957 //
66567 /* 188059 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
66568 /* 188062 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66569 /* 188066 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66570 /* 188070 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66571 /* 188073 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66572 /* 188077 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66573 /* 188081 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66574 /* 188085 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66575 /* 188087 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66576 /* 188094 */ // (smax:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPMAXSQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
66577 /* 188094 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZrm),
66578 /* 188097 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66579 /* 188099 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66580 /* 188101 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66581 /* 188105 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66582 /* 188110 */ GIR_RootConstrainSelectedInstOperands,
66583 /* 188111 */ // GIR_Coverage, 23957,
66584 /* 188111 */ GIR_EraseRootFromParent_Done,
66585 /* 188112 */ // Label 4162: @188112
66586 /* 188112 */ GIM_Try, /*On fail goto*//*Label 4163*/ GIMT_Encode4(188170), // Rule ID 5392 //
66587 /* 188117 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
66588 /* 188120 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66589 /* 188124 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66590 /* 188128 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66591 /* 188132 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66592 /* 188135 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66593 /* 188139 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66594 /* 188143 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66595 /* 188145 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66596 /* 188152 */ // (smax:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
66597 /* 188152 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZrm),
66598 /* 188155 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66599 /* 188157 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66600 /* 188159 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66601 /* 188163 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66602 /* 188168 */ GIR_RootConstrainSelectedInstOperands,
66603 /* 188169 */ // GIR_Coverage, 5392,
66604 /* 188169 */ GIR_EraseRootFromParent_Done,
66605 /* 188170 */ // Label 4163: @188170
66606 /* 188170 */ GIM_Try, /*On fail goto*//*Label 4164*/ GIMT_Encode4(188193), // Rule ID 5389 //
66607 /* 188175 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
66608 /* 188178 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66609 /* 188182 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66610 /* 188186 */ // (smax:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPMAXSQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
66611 /* 188186 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZrr),
66612 /* 188191 */ GIR_RootConstrainSelectedInstOperands,
66613 /* 188192 */ // GIR_Coverage, 5389,
66614 /* 188192 */ GIR_Done,
66615 /* 188193 */ // Label 4164: @188193
66616 /* 188193 */ GIM_Reject,
66617 /* 188194 */ // Label 4161: @188194
66618 /* 188194 */ GIM_Reject,
66619 /* 188195 */ // Label 4121: @188195
66620 /* 188195 */ GIM_Try, /*On fail goto*//*Label 4165*/ GIMT_Encode4(188536),
66621 /* 188200 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
66622 /* 188203 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
66623 /* 188206 */ GIM_Try, /*On fail goto*//*Label 4166*/ GIMT_Encode4(188268), // Rule ID 23508 //
66624 /* 188211 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
66625 /* 188214 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66626 /* 188218 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66627 /* 188222 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66628 /* 188226 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66629 /* 188229 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66630 /* 188233 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66631 /* 188237 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66632 /* 188241 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66633 /* 188243 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66634 /* 188250 */ // (smax:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPMAXSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66635 /* 188250 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBrm),
66636 /* 188253 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66637 /* 188255 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66638 /* 188257 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66639 /* 188261 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66640 /* 188266 */ GIR_RootConstrainSelectedInstOperands,
66641 /* 188267 */ // GIR_Coverage, 23508,
66642 /* 188267 */ GIR_EraseRootFromParent_Done,
66643 /* 188268 */ // Label 4166: @188268
66644 /* 188268 */ GIM_Try, /*On fail goto*//*Label 4167*/ GIMT_Encode4(188330), // Rule ID 23927 //
66645 /* 188273 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
66646 /* 188276 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66647 /* 188280 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66648 /* 188284 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66649 /* 188288 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66650 /* 188291 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66651 /* 188295 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66652 /* 188299 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66653 /* 188303 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66654 /* 188305 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66655 /* 188312 */ // (smax:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPMAXSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66656 /* 188312 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZ128rm),
66657 /* 188315 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66658 /* 188317 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66659 /* 188319 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66660 /* 188323 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66661 /* 188328 */ GIR_RootConstrainSelectedInstOperands,
66662 /* 188329 */ // GIR_Coverage, 23927,
66663 /* 188329 */ GIR_EraseRootFromParent_Done,
66664 /* 188330 */ // Label 4167: @188330
66665 /* 188330 */ GIM_Try, /*On fail goto*//*Label 4168*/ GIMT_Encode4(188392), // Rule ID 3200 //
66666 /* 188335 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
66667 /* 188338 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66668 /* 188342 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66669 /* 188346 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66670 /* 188350 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66671 /* 188354 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66672 /* 188357 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66673 /* 188361 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66674 /* 188365 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66675 /* 188367 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66676 /* 188374 */ // (smax:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66677 /* 188374 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBrm),
66678 /* 188377 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66679 /* 188379 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66680 /* 188381 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66681 /* 188385 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66682 /* 188390 */ GIR_RootConstrainSelectedInstOperands,
66683 /* 188391 */ // GIR_Coverage, 3200,
66684 /* 188391 */ GIR_EraseRootFromParent_Done,
66685 /* 188392 */ // Label 4168: @188392
66686 /* 188392 */ GIM_Try, /*On fail goto*//*Label 4169*/ GIMT_Encode4(188454), // Rule ID 5341 //
66687 /* 188397 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
66688 /* 188400 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66689 /* 188404 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66690 /* 188408 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66691 /* 188412 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66692 /* 188416 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66693 /* 188419 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66694 /* 188423 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66695 /* 188427 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66696 /* 188429 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66697 /* 188436 */ // (smax:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66698 /* 188436 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZ128rm),
66699 /* 188439 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66700 /* 188441 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66701 /* 188443 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66702 /* 188447 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66703 /* 188452 */ GIR_RootConstrainSelectedInstOperands,
66704 /* 188453 */ // GIR_Coverage, 5341,
66705 /* 188453 */ GIR_EraseRootFromParent_Done,
66706 /* 188454 */ // Label 4169: @188454
66707 /* 188454 */ GIM_Try, /*On fail goto*//*Label 4170*/ GIMT_Encode4(188481), // Rule ID 3199 //
66708 /* 188459 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
66709 /* 188462 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66710 /* 188466 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66711 /* 188470 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66712 /* 188474 */ // (smax:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPMAXSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
66713 /* 188474 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSBrr),
66714 /* 188479 */ GIR_RootConstrainSelectedInstOperands,
66715 /* 188480 */ // GIR_Coverage, 3199,
66716 /* 188480 */ GIR_Done,
66717 /* 188481 */ // Label 4170: @188481
66718 /* 188481 */ GIM_Try, /*On fail goto*//*Label 4171*/ GIMT_Encode4(188508), // Rule ID 3229 //
66719 /* 188486 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
66720 /* 188489 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66721 /* 188493 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66722 /* 188497 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66723 /* 188501 */ // (smax:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PMAXSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
66724 /* 188501 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMAXSBrr),
66725 /* 188506 */ GIR_RootConstrainSelectedInstOperands,
66726 /* 188507 */ // GIR_Coverage, 3229,
66727 /* 188507 */ GIR_Done,
66728 /* 188508 */ // Label 4171: @188508
66729 /* 188508 */ GIM_Try, /*On fail goto*//*Label 4172*/ GIMT_Encode4(188535), // Rule ID 5338 //
66730 /* 188513 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
66731 /* 188516 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66732 /* 188520 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66733 /* 188524 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66734 /* 188528 */ // (smax:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPMAXSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
66735 /* 188528 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZ128rr),
66736 /* 188533 */ GIR_RootConstrainSelectedInstOperands,
66737 /* 188534 */ // GIR_Coverage, 5338,
66738 /* 188534 */ GIR_Done,
66739 /* 188535 */ // Label 4172: @188535
66740 /* 188535 */ GIM_Reject,
66741 /* 188536 */ // Label 4165: @188536
66742 /* 188536 */ GIM_Reject,
66743 /* 188537 */ // Label 4122: @188537
66744 /* 188537 */ GIM_Try, /*On fail goto*//*Label 4173*/ GIMT_Encode4(188851),
66745 /* 188542 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
66746 /* 188545 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
66747 /* 188548 */ GIM_Try, /*On fail goto*//*Label 4174*/ GIMT_Encode4(188610), // Rule ID 23473 //
66748 /* 188553 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
66749 /* 188556 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66750 /* 188560 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66751 /* 188564 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66752 /* 188568 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66753 /* 188571 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66754 /* 188575 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66755 /* 188579 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66756 /* 188583 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66757 /* 188585 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66758 /* 188592 */ // (smax:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMAXSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66759 /* 188592 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWYrm),
66760 /* 188595 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66761 /* 188597 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66762 /* 188599 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66763 /* 188603 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66764 /* 188608 */ GIR_RootConstrainSelectedInstOperands,
66765 /* 188609 */ // GIR_Coverage, 23473,
66766 /* 188609 */ GIR_EraseRootFromParent_Done,
66767 /* 188610 */ // Label 4174: @188610
66768 /* 188610 */ GIM_Try, /*On fail goto*//*Label 4175*/ GIMT_Encode4(188672), // Rule ID 23933 //
66769 /* 188615 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
66770 /* 188618 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66771 /* 188622 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66772 /* 188626 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66773 /* 188630 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66774 /* 188633 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66775 /* 188637 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66776 /* 188641 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66777 /* 188645 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66778 /* 188647 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66779 /* 188654 */ // (smax:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMAXSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66780 /* 188654 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZ256rm),
66781 /* 188657 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66782 /* 188659 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66783 /* 188661 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66784 /* 188665 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66785 /* 188670 */ GIR_RootConstrainSelectedInstOperands,
66786 /* 188671 */ // GIR_Coverage, 23933,
66787 /* 188671 */ GIR_EraseRootFromParent_Done,
66788 /* 188672 */ // Label 4175: @188672
66789 /* 188672 */ GIM_Try, /*On fail goto*//*Label 4176*/ GIMT_Encode4(188734), // Rule ID 2659 //
66790 /* 188677 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
66791 /* 188680 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66792 /* 188684 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66793 /* 188688 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66794 /* 188692 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66795 /* 188696 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66796 /* 188699 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66797 /* 188703 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66798 /* 188707 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66799 /* 188709 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66800 /* 188716 */ // (smax:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66801 /* 188716 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWYrm),
66802 /* 188719 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66803 /* 188721 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66804 /* 188723 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66805 /* 188727 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66806 /* 188732 */ GIR_RootConstrainSelectedInstOperands,
66807 /* 188733 */ // GIR_Coverage, 2659,
66808 /* 188733 */ GIR_EraseRootFromParent_Done,
66809 /* 188734 */ // Label 4176: @188734
66810 /* 188734 */ GIM_Try, /*On fail goto*//*Label 4177*/ GIMT_Encode4(188796), // Rule ID 5353 //
66811 /* 188739 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
66812 /* 188742 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66813 /* 188746 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66814 /* 188750 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66815 /* 188754 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66816 /* 188758 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66817 /* 188761 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66818 /* 188765 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66819 /* 188769 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66820 /* 188771 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66821 /* 188778 */ // (smax:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66822 /* 188778 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZ256rm),
66823 /* 188781 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66824 /* 188783 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66825 /* 188785 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66826 /* 188789 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66827 /* 188794 */ GIR_RootConstrainSelectedInstOperands,
66828 /* 188795 */ // GIR_Coverage, 5353,
66829 /* 188795 */ GIR_EraseRootFromParent_Done,
66830 /* 188796 */ // Label 4177: @188796
66831 /* 188796 */ GIM_Try, /*On fail goto*//*Label 4178*/ GIMT_Encode4(188823), // Rule ID 2658 //
66832 /* 188801 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
66833 /* 188804 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66834 /* 188808 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66835 /* 188812 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66836 /* 188816 */ // (smax:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMAXSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
66837 /* 188816 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSWYrr),
66838 /* 188821 */ GIR_RootConstrainSelectedInstOperands,
66839 /* 188822 */ // GIR_Coverage, 2658,
66840 /* 188822 */ GIR_Done,
66841 /* 188823 */ // Label 4178: @188823
66842 /* 188823 */ GIM_Try, /*On fail goto*//*Label 4179*/ GIMT_Encode4(188850), // Rule ID 5350 //
66843 /* 188828 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
66844 /* 188831 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66845 /* 188835 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66846 /* 188839 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66847 /* 188843 */ // (smax:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMAXSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
66848 /* 188843 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZ256rr),
66849 /* 188848 */ GIR_RootConstrainSelectedInstOperands,
66850 /* 188849 */ // GIR_Coverage, 5350,
66851 /* 188849 */ GIR_Done,
66852 /* 188850 */ // Label 4179: @188850
66853 /* 188850 */ GIM_Reject,
66854 /* 188851 */ // Label 4173: @188851
66855 /* 188851 */ GIM_Reject,
66856 /* 188852 */ // Label 4123: @188852
66857 /* 188852 */ GIM_Try, /*On fail goto*//*Label 4180*/ GIMT_Encode4(189007),
66858 /* 188857 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
66859 /* 188860 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
66860 /* 188863 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66861 /* 188867 */ GIM_Try, /*On fail goto*//*Label 4181*/ GIMT_Encode4(188925), // Rule ID 23939 //
66862 /* 188872 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
66863 /* 188875 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66864 /* 188879 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66865 /* 188883 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66866 /* 188886 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66867 /* 188890 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66868 /* 188894 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66869 /* 188898 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66870 /* 188900 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66871 /* 188907 */ // (smax:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPMAXSDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66872 /* 188907 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZrm),
66873 /* 188910 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66874 /* 188912 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66875 /* 188914 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66876 /* 188918 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66877 /* 188923 */ GIR_RootConstrainSelectedInstOperands,
66878 /* 188924 */ // GIR_Coverage, 23939,
66879 /* 188924 */ GIR_EraseRootFromParent_Done,
66880 /* 188925 */ // Label 4181: @188925
66881 /* 188925 */ GIM_Try, /*On fail goto*//*Label 4182*/ GIMT_Encode4(188983), // Rule ID 5365 //
66882 /* 188930 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
66883 /* 188933 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66884 /* 188937 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66885 /* 188941 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66886 /* 188945 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66887 /* 188948 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66888 /* 188952 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66889 /* 188956 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66890 /* 188958 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66891 /* 188965 */ // (smax:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66892 /* 188965 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZrm),
66893 /* 188968 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66894 /* 188970 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66895 /* 188972 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66896 /* 188976 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66897 /* 188981 */ GIR_RootConstrainSelectedInstOperands,
66898 /* 188982 */ // GIR_Coverage, 5365,
66899 /* 188982 */ GIR_EraseRootFromParent_Done,
66900 /* 188983 */ // Label 4182: @188983
66901 /* 188983 */ GIM_Try, /*On fail goto*//*Label 4183*/ GIMT_Encode4(189006), // Rule ID 5362 //
66902 /* 188988 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
66903 /* 188991 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66904 /* 188995 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66905 /* 188999 */ // (smax:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPMAXSDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
66906 /* 188999 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZrr),
66907 /* 189004 */ GIR_RootConstrainSelectedInstOperands,
66908 /* 189005 */ // GIR_Coverage, 5362,
66909 /* 189005 */ GIR_Done,
66910 /* 189006 */ // Label 4183: @189006
66911 /* 189006 */ GIM_Reject,
66912 /* 189007 */ // Label 4180: @189007
66913 /* 189007 */ GIM_Reject,
66914 /* 189008 */ // Label 4124: @189008
66915 /* 189008 */ GIM_Try, /*On fail goto*//*Label 4184*/ GIMT_Encode4(189322),
66916 /* 189013 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
66917 /* 189016 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
66918 /* 189019 */ GIM_Try, /*On fail goto*//*Label 4185*/ GIMT_Encode4(189081), // Rule ID 23517 //
66919 /* 189024 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
66920 /* 189027 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66921 /* 189031 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66922 /* 189035 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66923 /* 189039 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66924 /* 189042 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66925 /* 189046 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66926 /* 189050 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66927 /* 189054 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66928 /* 189056 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66929 /* 189063 */ // (smax:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPMAXSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66930 /* 189063 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBYrm),
66931 /* 189066 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66932 /* 189068 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66933 /* 189070 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66934 /* 189074 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66935 /* 189079 */ GIR_RootConstrainSelectedInstOperands,
66936 /* 189080 */ // GIR_Coverage, 23517,
66937 /* 189080 */ GIR_EraseRootFromParent_Done,
66938 /* 189081 */ // Label 4185: @189081
66939 /* 189081 */ GIM_Try, /*On fail goto*//*Label 4186*/ GIMT_Encode4(189143), // Rule ID 23924 //
66940 /* 189086 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
66941 /* 189089 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66942 /* 189093 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66943 /* 189097 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66944 /* 189101 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66945 /* 189104 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66946 /* 189108 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66947 /* 189112 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66948 /* 189116 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66949 /* 189118 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66950 /* 189125 */ // (smax:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPMAXSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66951 /* 189125 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZ256rm),
66952 /* 189128 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66953 /* 189130 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66954 /* 189132 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66955 /* 189136 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66956 /* 189141 */ GIR_RootConstrainSelectedInstOperands,
66957 /* 189142 */ // GIR_Coverage, 23924,
66958 /* 189142 */ GIR_EraseRootFromParent_Done,
66959 /* 189143 */ // Label 4186: @189143
66960 /* 189143 */ GIM_Try, /*On fail goto*//*Label 4187*/ GIMT_Encode4(189205), // Rule ID 3218 //
66961 /* 189148 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
66962 /* 189151 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66963 /* 189155 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66964 /* 189159 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66965 /* 189163 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66966 /* 189167 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66967 /* 189170 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66968 /* 189174 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66969 /* 189178 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66970 /* 189180 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66971 /* 189187 */ // (smax:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66972 /* 189187 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBYrm),
66973 /* 189190 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66974 /* 189192 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66975 /* 189194 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66976 /* 189198 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66977 /* 189203 */ GIR_RootConstrainSelectedInstOperands,
66978 /* 189204 */ // GIR_Coverage, 3218,
66979 /* 189204 */ GIR_EraseRootFromParent_Done,
66980 /* 189205 */ // Label 4187: @189205
66981 /* 189205 */ GIM_Try, /*On fail goto*//*Label 4188*/ GIMT_Encode4(189267), // Rule ID 5335 //
66982 /* 189210 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
66983 /* 189213 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66984 /* 189217 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66985 /* 189221 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66986 /* 189225 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66987 /* 189229 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66988 /* 189232 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66989 /* 189236 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66990 /* 189240 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66991 /* 189242 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66992 /* 189249 */ // (smax:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66993 /* 189249 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZ256rm),
66994 /* 189252 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66995 /* 189254 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66996 /* 189256 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66997 /* 189260 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66998 /* 189265 */ GIR_RootConstrainSelectedInstOperands,
66999 /* 189266 */ // GIR_Coverage, 5335,
67000 /* 189266 */ GIR_EraseRootFromParent_Done,
67001 /* 189267 */ // Label 4188: @189267
67002 /* 189267 */ GIM_Try, /*On fail goto*//*Label 4189*/ GIMT_Encode4(189294), // Rule ID 3217 //
67003 /* 189272 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
67004 /* 189275 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67005 /* 189279 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67006 /* 189283 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67007 /* 189287 */ // (smax:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPMAXSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
67008 /* 189287 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSBYrr),
67009 /* 189292 */ GIR_RootConstrainSelectedInstOperands,
67010 /* 189293 */ // GIR_Coverage, 3217,
67011 /* 189293 */ GIR_Done,
67012 /* 189294 */ // Label 4189: @189294
67013 /* 189294 */ GIM_Try, /*On fail goto*//*Label 4190*/ GIMT_Encode4(189321), // Rule ID 5332 //
67014 /* 189299 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67015 /* 189302 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67016 /* 189306 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67017 /* 189310 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67018 /* 189314 */ // (smax:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPMAXSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
67019 /* 189314 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZ256rr),
67020 /* 189319 */ GIR_RootConstrainSelectedInstOperands,
67021 /* 189320 */ // GIR_Coverage, 5332,
67022 /* 189320 */ GIR_Done,
67023 /* 189321 */ // Label 4190: @189321
67024 /* 189321 */ GIM_Reject,
67025 /* 189322 */ // Label 4184: @189322
67026 /* 189322 */ GIM_Reject,
67027 /* 189323 */ // Label 4125: @189323
67028 /* 189323 */ GIM_Try, /*On fail goto*//*Label 4191*/ GIMT_Encode4(189478),
67029 /* 189328 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
67030 /* 189331 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
67031 /* 189334 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67032 /* 189338 */ GIM_Try, /*On fail goto*//*Label 4192*/ GIMT_Encode4(189396), // Rule ID 23930 //
67033 /* 189343 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
67034 /* 189346 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67035 /* 189350 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67036 /* 189354 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67037 /* 189357 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67038 /* 189361 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67039 /* 189365 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67040 /* 189369 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67041 /* 189371 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67042 /* 189378 */ // (smax:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMAXSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67043 /* 189378 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZrm),
67044 /* 189381 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67045 /* 189383 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67046 /* 189385 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67047 /* 189389 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67048 /* 189394 */ GIR_RootConstrainSelectedInstOperands,
67049 /* 189395 */ // GIR_Coverage, 23930,
67050 /* 189395 */ GIR_EraseRootFromParent_Done,
67051 /* 189396 */ // Label 4192: @189396
67052 /* 189396 */ GIM_Try, /*On fail goto*//*Label 4193*/ GIMT_Encode4(189454), // Rule ID 5347 //
67053 /* 189401 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
67054 /* 189404 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67055 /* 189408 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67056 /* 189412 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67057 /* 189416 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67058 /* 189419 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67059 /* 189423 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67060 /* 189427 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67061 /* 189429 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67062 /* 189436 */ // (smax:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67063 /* 189436 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZrm),
67064 /* 189439 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67065 /* 189441 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67066 /* 189443 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67067 /* 189447 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67068 /* 189452 */ GIR_RootConstrainSelectedInstOperands,
67069 /* 189453 */ // GIR_Coverage, 5347,
67070 /* 189453 */ GIR_EraseRootFromParent_Done,
67071 /* 189454 */ // Label 4193: @189454
67072 /* 189454 */ GIM_Try, /*On fail goto*//*Label 4194*/ GIMT_Encode4(189477), // Rule ID 5344 //
67073 /* 189459 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
67074 /* 189462 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67075 /* 189466 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67076 /* 189470 */ // (smax:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMAXSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
67077 /* 189470 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZrr),
67078 /* 189475 */ GIR_RootConstrainSelectedInstOperands,
67079 /* 189476 */ // GIR_Coverage, 5344,
67080 /* 189476 */ GIR_Done,
67081 /* 189477 */ // Label 4194: @189477
67082 /* 189477 */ GIM_Reject,
67083 /* 189478 */ // Label 4191: @189478
67084 /* 189478 */ GIM_Reject,
67085 /* 189479 */ // Label 4126: @189479
67086 /* 189479 */ GIM_Try, /*On fail goto*//*Label 4195*/ GIMT_Encode4(189634),
67087 /* 189484 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
67088 /* 189487 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
67089 /* 189490 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67090 /* 189494 */ GIM_Try, /*On fail goto*//*Label 4196*/ GIMT_Encode4(189552), // Rule ID 23921 //
67091 /* 189499 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
67092 /* 189502 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67093 /* 189506 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67094 /* 189510 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67095 /* 189513 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67096 /* 189517 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67097 /* 189521 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67098 /* 189525 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67099 /* 189527 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67100 /* 189534 */ // (smax:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPMAXSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67101 /* 189534 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZrm),
67102 /* 189537 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67103 /* 189539 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67104 /* 189541 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67105 /* 189545 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67106 /* 189550 */ GIR_RootConstrainSelectedInstOperands,
67107 /* 189551 */ // GIR_Coverage, 23921,
67108 /* 189551 */ GIR_EraseRootFromParent_Done,
67109 /* 189552 */ // Label 4196: @189552
67110 /* 189552 */ GIM_Try, /*On fail goto*//*Label 4197*/ GIMT_Encode4(189610), // Rule ID 5329 //
67111 /* 189557 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
67112 /* 189560 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67113 /* 189564 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67114 /* 189568 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67115 /* 189572 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67116 /* 189575 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67117 /* 189579 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67118 /* 189583 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67119 /* 189585 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67120 /* 189592 */ // (smax:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67121 /* 189592 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZrm),
67122 /* 189595 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67123 /* 189597 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67124 /* 189599 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67125 /* 189603 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67126 /* 189608 */ GIR_RootConstrainSelectedInstOperands,
67127 /* 189609 */ // GIR_Coverage, 5329,
67128 /* 189609 */ GIR_EraseRootFromParent_Done,
67129 /* 189610 */ // Label 4197: @189610
67130 /* 189610 */ GIM_Try, /*On fail goto*//*Label 4198*/ GIMT_Encode4(189633), // Rule ID 5326 //
67131 /* 189615 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
67132 /* 189618 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67133 /* 189622 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67134 /* 189626 */ // (smax:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPMAXSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
67135 /* 189626 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZrr),
67136 /* 189631 */ GIR_RootConstrainSelectedInstOperands,
67137 /* 189632 */ // GIR_Coverage, 5326,
67138 /* 189632 */ GIR_Done,
67139 /* 189633 */ // Label 4198: @189633
67140 /* 189633 */ GIM_Reject,
67141 /* 189634 */ // Label 4195: @189634
67142 /* 189634 */ GIM_Reject,
67143 /* 189635 */ // Label 4127: @189635
67144 /* 189635 */ GIM_Reject,
67145 /* 189636 */ // Label 56: @189636
67146 /* 189636 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(8), GIMT_Encode2(25), /*)*//*default:*//*Label 4211*/ GIMT_Encode4(192956),
67147 /* 189647 */ /*GILLT_v2s64*//*Label 4199*/ GIMT_Encode4(189715), GIMT_Encode4(0),
67148 /* 189655 */ /*GILLT_v4s32*//*Label 4200*/ GIMT_Encode4(190044),
67149 /* 189659 */ /*GILLT_v4s64*//*Label 4201*/ GIMT_Encode4(190386), GIMT_Encode4(0),
67150 /* 189667 */ /*GILLT_v8s16*//*Label 4202*/ GIMT_Encode4(190703),
67151 /* 189671 */ /*GILLT_v8s32*//*Label 4203*/ GIMT_Encode4(191045),
67152 /* 189675 */ /*GILLT_v8s64*//*Label 4204*/ GIMT_Encode4(191360), GIMT_Encode4(0),
67153 /* 189683 */ /*GILLT_v16s8*//*Label 4205*/ GIMT_Encode4(191516),
67154 /* 189687 */ /*GILLT_v16s16*//*Label 4206*/ GIMT_Encode4(191858),
67155 /* 189691 */ /*GILLT_v16s32*//*Label 4207*/ GIMT_Encode4(192173), GIMT_Encode4(0),
67156 /* 189699 */ /*GILLT_v32s8*//*Label 4208*/ GIMT_Encode4(192329),
67157 /* 189703 */ /*GILLT_v32s16*//*Label 4209*/ GIMT_Encode4(192644), GIMT_Encode4(0),
67158 /* 189711 */ /*GILLT_v64s8*//*Label 4210*/ GIMT_Encode4(192800),
67159 /* 189715 */ // Label 4199: @189715
67160 /* 189715 */ GIM_Try, /*On fail goto*//*Label 4212*/ GIMT_Encode4(190043),
67161 /* 189720 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
67162 /* 189723 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
67163 /* 189726 */ GIM_Try, /*On fail goto*//*Label 4213*/ GIMT_Encode4(189788), // Rule ID 24131 //
67164 /* 189731 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
67165 /* 189734 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67166 /* 189738 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67167 /* 189742 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67168 /* 189746 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67169 /* 189749 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67170 /* 189753 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67171 /* 189757 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67172 /* 189761 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67173 /* 189763 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67174 /* 189770 */ // (umin:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPMINUQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
67175 /* 189770 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUQZ128rm),
67176 /* 189773 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67177 /* 189775 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67178 /* 189777 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67179 /* 189781 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67180 /* 189786 */ GIR_RootConstrainSelectedInstOperands,
67181 /* 189787 */ // GIR_Coverage, 24131,
67182 /* 189787 */ GIR_EraseRootFromParent_Done,
67183 /* 189788 */ // Label 4213: @189788
67184 /* 189788 */ GIM_Try, /*On fail goto*//*Label 4214*/ GIMT_Encode4(189850), // Rule ID 5680 //
67185 /* 189793 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
67186 /* 189796 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67187 /* 189800 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67188 /* 189804 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67189 /* 189808 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67190 /* 189812 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67191 /* 189815 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67192 /* 189819 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67193 /* 189823 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67194 /* 189825 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67195 /* 189832 */ // (umin:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
67196 /* 189832 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUQZ128rm),
67197 /* 189835 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67198 /* 189837 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67199 /* 189839 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67200 /* 189843 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67201 /* 189848 */ GIR_RootConstrainSelectedInstOperands,
67202 /* 189849 */ // GIR_Coverage, 5680,
67203 /* 189849 */ GIR_EraseRootFromParent_Done,
67204 /* 189850 */ // Label 4214: @189850
67205 /* 189850 */ GIM_Try, /*On fail goto*//*Label 4215*/ GIMT_Encode4(189877), // Rule ID 5677 //
67206 /* 189855 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
67207 /* 189858 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67208 /* 189862 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67209 /* 189866 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67210 /* 189870 */ // (umin:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPMINUQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
67211 /* 189870 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUQZ128rr),
67212 /* 189875 */ GIR_RootConstrainSelectedInstOperands,
67213 /* 189876 */ // GIR_Coverage, 5677,
67214 /* 189876 */ GIR_Done,
67215 /* 189877 */ // Label 4215: @189877
67216 /* 189877 */ GIM_Try, /*On fail goto*//*Label 4216*/ GIMT_Encode4(190042), // Rule ID 20006 //
67217 /* 189882 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
67218 /* 189885 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
67219 /* 189889 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67220 /* 189893 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67221 /* 189897 */ // (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] })
67222 /* 189897 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
67223 /* 189900 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
67224 /* 189904 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
67225 /* 189909 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
67226 /* 189911 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
67227 /* 189914 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
67228 /* 189918 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
67229 /* 189923 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
67230 /* 189926 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
67231 /* 189930 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/11,
67232 /* 189933 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
67233 /* 189938 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
67234 /* 189943 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
67235 /* 189948 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
67236 /* 189951 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
67237 /* 189955 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
67238 /* 189960 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
67239 /* 189962 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
67240 /* 189965 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
67241 /* 189969 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
67242 /* 189974 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
67243 /* 189977 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
67244 /* 189981 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/11,
67245 /* 189984 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
67246 /* 189989 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
67247 /* 189994 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
67248 /* 189999 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
67249 /* 190002 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMINUQZrr),
67250 /* 190006 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
67251 /* 190011 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
67252 /* 190014 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
67253 /* 190017 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
67254 /* 190019 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
67255 /* 190022 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67256 /* 190024 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
67257 /* 190031 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
67258 /* 190036 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
67259 /* 190041 */ // GIR_Coverage, 20006,
67260 /* 190041 */ GIR_EraseRootFromParent_Done,
67261 /* 190042 */ // Label 4216: @190042
67262 /* 190042 */ GIM_Reject,
67263 /* 190043 */ // Label 4212: @190043
67264 /* 190043 */ GIM_Reject,
67265 /* 190044 */ // Label 4200: @190044
67266 /* 190044 */ GIM_Try, /*On fail goto*//*Label 4217*/ GIMT_Encode4(190385),
67267 /* 190049 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
67268 /* 190052 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
67269 /* 190055 */ GIM_Try, /*On fail goto*//*Label 4218*/ GIMT_Encode4(190117), // Rule ID 23502 //
67270 /* 190060 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
67271 /* 190063 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67272 /* 190067 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67273 /* 190071 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67274 /* 190075 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67275 /* 190078 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67276 /* 190082 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67277 /* 190086 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67278 /* 190090 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67279 /* 190092 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67280 /* 190099 */ // (umin:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPMINUDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67281 /* 190099 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDrm),
67282 /* 190102 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67283 /* 190104 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67284 /* 190106 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67285 /* 190110 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67286 /* 190115 */ GIR_RootConstrainSelectedInstOperands,
67287 /* 190116 */ // GIR_Coverage, 23502,
67288 /* 190116 */ GIR_EraseRootFromParent_Done,
67289 /* 190117 */ // Label 4218: @190117
67290 /* 190117 */ GIM_Try, /*On fail goto*//*Label 4219*/ GIMT_Encode4(190179), // Rule ID 24113 //
67291 /* 190122 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
67292 /* 190125 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67293 /* 190129 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67294 /* 190133 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67295 /* 190137 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67296 /* 190140 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67297 /* 190144 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67298 /* 190148 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67299 /* 190152 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67300 /* 190154 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67301 /* 190161 */ // (umin:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPMINUDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67302 /* 190161 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDZ128rm),
67303 /* 190164 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67304 /* 190166 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67305 /* 190168 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67306 /* 190172 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67307 /* 190177 */ GIR_RootConstrainSelectedInstOperands,
67308 /* 190178 */ // GIR_Coverage, 24113,
67309 /* 190178 */ GIR_EraseRootFromParent_Done,
67310 /* 190179 */ // Label 4219: @190179
67311 /* 190179 */ GIM_Try, /*On fail goto*//*Label 4220*/ GIMT_Encode4(190241), // Rule ID 3188 //
67312 /* 190184 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
67313 /* 190187 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67314 /* 190191 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67315 /* 190195 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67316 /* 190199 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67317 /* 190203 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67318 /* 190206 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67319 /* 190210 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67320 /* 190214 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67321 /* 190216 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67322 /* 190223 */ // (umin:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67323 /* 190223 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDrm),
67324 /* 190226 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67325 /* 190228 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67326 /* 190230 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67327 /* 190234 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67328 /* 190239 */ GIR_RootConstrainSelectedInstOperands,
67329 /* 190240 */ // GIR_Coverage, 3188,
67330 /* 190240 */ GIR_EraseRootFromParent_Done,
67331 /* 190241 */ // Label 4220: @190241
67332 /* 190241 */ GIM_Try, /*On fail goto*//*Label 4221*/ GIMT_Encode4(190303), // Rule ID 5653 //
67333 /* 190246 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
67334 /* 190249 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67335 /* 190253 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67336 /* 190257 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67337 /* 190261 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67338 /* 190265 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67339 /* 190268 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67340 /* 190272 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67341 /* 190276 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67342 /* 190278 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67343 /* 190285 */ // (umin:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67344 /* 190285 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDZ128rm),
67345 /* 190288 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67346 /* 190290 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67347 /* 190292 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67348 /* 190296 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67349 /* 190301 */ GIR_RootConstrainSelectedInstOperands,
67350 /* 190302 */ // GIR_Coverage, 5653,
67351 /* 190302 */ GIR_EraseRootFromParent_Done,
67352 /* 190303 */ // Label 4221: @190303
67353 /* 190303 */ GIM_Try, /*On fail goto*//*Label 4222*/ GIMT_Encode4(190330), // Rule ID 3187 //
67354 /* 190308 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
67355 /* 190311 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67356 /* 190315 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67357 /* 190319 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67358 /* 190323 */ // (umin:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPMINUDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
67359 /* 190323 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUDrr),
67360 /* 190328 */ GIR_RootConstrainSelectedInstOperands,
67361 /* 190329 */ // GIR_Coverage, 3187,
67362 /* 190329 */ GIR_Done,
67363 /* 190330 */ // Label 4222: @190330
67364 /* 190330 */ GIM_Try, /*On fail goto*//*Label 4223*/ GIMT_Encode4(190357), // Rule ID 3225 //
67365 /* 190335 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
67366 /* 190338 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67367 /* 190342 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67368 /* 190346 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67369 /* 190350 */ // (umin:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PMINUDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
67370 /* 190350 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMINUDrr),
67371 /* 190355 */ GIR_RootConstrainSelectedInstOperands,
67372 /* 190356 */ // GIR_Coverage, 3225,
67373 /* 190356 */ GIR_Done,
67374 /* 190357 */ // Label 4223: @190357
67375 /* 190357 */ GIM_Try, /*On fail goto*//*Label 4224*/ GIMT_Encode4(190384), // Rule ID 5650 //
67376 /* 190362 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
67377 /* 190365 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67378 /* 190369 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67379 /* 190373 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67380 /* 190377 */ // (umin:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPMINUDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
67381 /* 190377 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUDZ128rr),
67382 /* 190382 */ GIR_RootConstrainSelectedInstOperands,
67383 /* 190383 */ // GIR_Coverage, 5650,
67384 /* 190383 */ GIR_Done,
67385 /* 190384 */ // Label 4224: @190384
67386 /* 190384 */ GIM_Reject,
67387 /* 190385 */ // Label 4217: @190385
67388 /* 190385 */ GIM_Reject,
67389 /* 190386 */ // Label 4201: @190386
67390 /* 190386 */ GIM_Try, /*On fail goto*//*Label 4225*/ GIMT_Encode4(190702),
67391 /* 190391 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
67392 /* 190394 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
67393 /* 190397 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67394 /* 190401 */ GIM_Try, /*On fail goto*//*Label 4226*/ GIMT_Encode4(190459), // Rule ID 24125 //
67395 /* 190406 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
67396 /* 190409 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67397 /* 190413 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67398 /* 190417 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67399 /* 190420 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67400 /* 190424 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67401 /* 190428 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67402 /* 190432 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67403 /* 190434 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67404 /* 190441 */ // (umin:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPMINUQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
67405 /* 190441 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUQZ256rm),
67406 /* 190444 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67407 /* 190446 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67408 /* 190448 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67409 /* 190452 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67410 /* 190457 */ GIR_RootConstrainSelectedInstOperands,
67411 /* 190458 */ // GIR_Coverage, 24125,
67412 /* 190458 */ GIR_EraseRootFromParent_Done,
67413 /* 190459 */ // Label 4226: @190459
67414 /* 190459 */ GIM_Try, /*On fail goto*//*Label 4227*/ GIMT_Encode4(190517), // Rule ID 5671 //
67415 /* 190464 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
67416 /* 190467 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67417 /* 190471 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67418 /* 190475 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67419 /* 190479 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67420 /* 190482 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67421 /* 190486 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67422 /* 190490 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67423 /* 190492 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67424 /* 190499 */ // (umin:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
67425 /* 190499 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUQZ256rm),
67426 /* 190502 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67427 /* 190504 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67428 /* 190506 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67429 /* 190510 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67430 /* 190515 */ GIR_RootConstrainSelectedInstOperands,
67431 /* 190516 */ // GIR_Coverage, 5671,
67432 /* 190516 */ GIR_EraseRootFromParent_Done,
67433 /* 190517 */ // Label 4227: @190517
67434 /* 190517 */ GIM_Try, /*On fail goto*//*Label 4228*/ GIMT_Encode4(190540), // Rule ID 5668 //
67435 /* 190522 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
67436 /* 190525 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67437 /* 190529 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67438 /* 190533 */ // (umin:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPMINUQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
67439 /* 190533 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUQZ256rr),
67440 /* 190538 */ GIR_RootConstrainSelectedInstOperands,
67441 /* 190539 */ // GIR_Coverage, 5668,
67442 /* 190539 */ GIR_Done,
67443 /* 190540 */ // Label 4228: @190540
67444 /* 190540 */ GIM_Try, /*On fail goto*//*Label 4229*/ GIMT_Encode4(190701), // Rule ID 20004 //
67445 /* 190545 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
67446 /* 190548 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67447 /* 190552 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67448 /* 190556 */ // (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] })
67449 /* 190556 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
67450 /* 190559 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
67451 /* 190563 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
67452 /* 190568 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
67453 /* 190570 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
67454 /* 190573 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
67455 /* 190577 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
67456 /* 190582 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
67457 /* 190585 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
67458 /* 190589 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/12,
67459 /* 190592 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
67460 /* 190597 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
67461 /* 190602 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
67462 /* 190607 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
67463 /* 190610 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
67464 /* 190614 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
67465 /* 190619 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
67466 /* 190621 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
67467 /* 190624 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
67468 /* 190628 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
67469 /* 190633 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
67470 /* 190636 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
67471 /* 190640 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/12,
67472 /* 190643 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
67473 /* 190648 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
67474 /* 190653 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
67475 /* 190658 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
67476 /* 190661 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMINUQZrr),
67477 /* 190665 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
67478 /* 190670 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
67479 /* 190673 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
67480 /* 190676 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
67481 /* 190678 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
67482 /* 190681 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67483 /* 190683 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
67484 /* 190690 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
67485 /* 190695 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
67486 /* 190700 */ // GIR_Coverage, 20004,
67487 /* 190700 */ GIR_EraseRootFromParent_Done,
67488 /* 190701 */ // Label 4229: @190701
67489 /* 190701 */ GIM_Reject,
67490 /* 190702 */ // Label 4225: @190702
67491 /* 190702 */ GIM_Reject,
67492 /* 190703 */ // Label 4202: @190703
67493 /* 190703 */ GIM_Try, /*On fail goto*//*Label 4230*/ GIMT_Encode4(191044),
67494 /* 190708 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
67495 /* 190711 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
67496 /* 190714 */ GIM_Try, /*On fail goto*//*Label 4231*/ GIMT_Encode4(190776), // Rule ID 23507 //
67497 /* 190719 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
67498 /* 190722 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67499 /* 190726 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67500 /* 190730 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67501 /* 190734 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67502 /* 190737 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67503 /* 190741 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67504 /* 190745 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67505 /* 190749 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67506 /* 190751 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67507 /* 190758 */ // (umin:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMINUWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67508 /* 190758 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWrm),
67509 /* 190761 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67510 /* 190763 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67511 /* 190765 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67512 /* 190769 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67513 /* 190774 */ GIR_RootConstrainSelectedInstOperands,
67514 /* 190775 */ // GIR_Coverage, 23507,
67515 /* 190775 */ GIR_EraseRootFromParent_Done,
67516 /* 190776 */ // Label 4231: @190776
67517 /* 190776 */ GIM_Try, /*On fail goto*//*Label 4232*/ GIMT_Encode4(190838), // Rule ID 24098 //
67518 /* 190781 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67519 /* 190784 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67520 /* 190788 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67521 /* 190792 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67522 /* 190796 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67523 /* 190799 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67524 /* 190803 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67525 /* 190807 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67526 /* 190811 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67527 /* 190813 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67528 /* 190820 */ // (umin:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMINUWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67529 /* 190820 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWZ128rm),
67530 /* 190823 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67531 /* 190825 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67532 /* 190827 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67533 /* 190831 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67534 /* 190836 */ GIR_RootConstrainSelectedInstOperands,
67535 /* 190837 */ // GIR_Coverage, 24098,
67536 /* 190837 */ GIR_EraseRootFromParent_Done,
67537 /* 190838 */ // Label 4232: @190838
67538 /* 190838 */ GIM_Try, /*On fail goto*//*Label 4233*/ GIMT_Encode4(190900), // Rule ID 3198 //
67539 /* 190843 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
67540 /* 190846 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67541 /* 190850 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67542 /* 190854 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67543 /* 190858 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67544 /* 190862 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67545 /* 190865 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67546 /* 190869 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67547 /* 190873 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67548 /* 190875 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67549 /* 190882 */ // (umin:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67550 /* 190882 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWrm),
67551 /* 190885 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67552 /* 190887 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67553 /* 190889 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67554 /* 190893 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67555 /* 190898 */ GIR_RootConstrainSelectedInstOperands,
67556 /* 190899 */ // GIR_Coverage, 3198,
67557 /* 190899 */ GIR_EraseRootFromParent_Done,
67558 /* 190900 */ // Label 4233: @190900
67559 /* 190900 */ GIM_Try, /*On fail goto*//*Label 4234*/ GIMT_Encode4(190962), // Rule ID 5629 //
67560 /* 190905 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67561 /* 190908 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67562 /* 190912 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67563 /* 190916 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67564 /* 190920 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67565 /* 190924 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67566 /* 190927 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67567 /* 190931 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67568 /* 190935 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67569 /* 190937 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67570 /* 190944 */ // (umin:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67571 /* 190944 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWZ128rm),
67572 /* 190947 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67573 /* 190949 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67574 /* 190951 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67575 /* 190955 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67576 /* 190960 */ GIR_RootConstrainSelectedInstOperands,
67577 /* 190961 */ // GIR_Coverage, 5629,
67578 /* 190961 */ GIR_EraseRootFromParent_Done,
67579 /* 190962 */ // Label 4234: @190962
67580 /* 190962 */ GIM_Try, /*On fail goto*//*Label 4235*/ GIMT_Encode4(190989), // Rule ID 3197 //
67581 /* 190967 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
67582 /* 190970 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67583 /* 190974 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67584 /* 190978 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67585 /* 190982 */ // (umin:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMINUWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
67586 /* 190982 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUWrr),
67587 /* 190987 */ GIR_RootConstrainSelectedInstOperands,
67588 /* 190988 */ // GIR_Coverage, 3197,
67589 /* 190988 */ GIR_Done,
67590 /* 190989 */ // Label 4235: @190989
67591 /* 190989 */ GIM_Try, /*On fail goto*//*Label 4236*/ GIMT_Encode4(191016), // Rule ID 3227 //
67592 /* 190994 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
67593 /* 190997 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67594 /* 191001 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67595 /* 191005 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67596 /* 191009 */ // (umin:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMINUWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
67597 /* 191009 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMINUWrr),
67598 /* 191014 */ GIR_RootConstrainSelectedInstOperands,
67599 /* 191015 */ // GIR_Coverage, 3227,
67600 /* 191015 */ GIR_Done,
67601 /* 191016 */ // Label 4236: @191016
67602 /* 191016 */ GIM_Try, /*On fail goto*//*Label 4237*/ GIMT_Encode4(191043), // Rule ID 5626 //
67603 /* 191021 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67604 /* 191024 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67605 /* 191028 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67606 /* 191032 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67607 /* 191036 */ // (umin:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMINUWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
67608 /* 191036 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUWZ128rr),
67609 /* 191041 */ GIR_RootConstrainSelectedInstOperands,
67610 /* 191042 */ // GIR_Coverage, 5626,
67611 /* 191042 */ GIR_Done,
67612 /* 191043 */ // Label 4237: @191043
67613 /* 191043 */ GIM_Reject,
67614 /* 191044 */ // Label 4230: @191044
67615 /* 191044 */ GIM_Reject,
67616 /* 191045 */ // Label 4203: @191045
67617 /* 191045 */ GIM_Try, /*On fail goto*//*Label 4238*/ GIMT_Encode4(191359),
67618 /* 191050 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
67619 /* 191053 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
67620 /* 191056 */ GIM_Try, /*On fail goto*//*Label 4239*/ GIMT_Encode4(191118), // Rule ID 23511 //
67621 /* 191061 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
67622 /* 191064 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67623 /* 191068 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67624 /* 191072 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67625 /* 191076 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67626 /* 191079 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67627 /* 191083 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67628 /* 191087 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67629 /* 191091 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67630 /* 191093 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67631 /* 191100 */ // (umin:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPMINUDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67632 /* 191100 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDYrm),
67633 /* 191103 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67634 /* 191105 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67635 /* 191107 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67636 /* 191111 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67637 /* 191116 */ GIR_RootConstrainSelectedInstOperands,
67638 /* 191117 */ // GIR_Coverage, 23511,
67639 /* 191117 */ GIR_EraseRootFromParent_Done,
67640 /* 191118 */ // Label 4239: @191118
67641 /* 191118 */ GIM_Try, /*On fail goto*//*Label 4240*/ GIMT_Encode4(191180), // Rule ID 24107 //
67642 /* 191123 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
67643 /* 191126 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67644 /* 191130 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67645 /* 191134 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67646 /* 191138 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67647 /* 191141 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67648 /* 191145 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67649 /* 191149 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67650 /* 191153 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67651 /* 191155 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67652 /* 191162 */ // (umin:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPMINUDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67653 /* 191162 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDZ256rm),
67654 /* 191165 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67655 /* 191167 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67656 /* 191169 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67657 /* 191173 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67658 /* 191178 */ GIR_RootConstrainSelectedInstOperands,
67659 /* 191179 */ // GIR_Coverage, 24107,
67660 /* 191179 */ GIR_EraseRootFromParent_Done,
67661 /* 191180 */ // Label 4240: @191180
67662 /* 191180 */ GIM_Try, /*On fail goto*//*Label 4241*/ GIMT_Encode4(191242), // Rule ID 3206 //
67663 /* 191185 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
67664 /* 191188 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67665 /* 191192 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67666 /* 191196 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67667 /* 191200 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67668 /* 191204 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67669 /* 191207 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67670 /* 191211 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67671 /* 191215 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67672 /* 191217 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67673 /* 191224 */ // (umin:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67674 /* 191224 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDYrm),
67675 /* 191227 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67676 /* 191229 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67677 /* 191231 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67678 /* 191235 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67679 /* 191240 */ GIR_RootConstrainSelectedInstOperands,
67680 /* 191241 */ // GIR_Coverage, 3206,
67681 /* 191241 */ GIR_EraseRootFromParent_Done,
67682 /* 191242 */ // Label 4241: @191242
67683 /* 191242 */ GIM_Try, /*On fail goto*//*Label 4242*/ GIMT_Encode4(191304), // Rule ID 5644 //
67684 /* 191247 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
67685 /* 191250 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67686 /* 191254 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67687 /* 191258 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67688 /* 191262 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67689 /* 191266 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67690 /* 191269 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67691 /* 191273 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67692 /* 191277 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67693 /* 191279 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67694 /* 191286 */ // (umin:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67695 /* 191286 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDZ256rm),
67696 /* 191289 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67697 /* 191291 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67698 /* 191293 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67699 /* 191297 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67700 /* 191302 */ GIR_RootConstrainSelectedInstOperands,
67701 /* 191303 */ // GIR_Coverage, 5644,
67702 /* 191303 */ GIR_EraseRootFromParent_Done,
67703 /* 191304 */ // Label 4242: @191304
67704 /* 191304 */ GIM_Try, /*On fail goto*//*Label 4243*/ GIMT_Encode4(191331), // Rule ID 3205 //
67705 /* 191309 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
67706 /* 191312 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67707 /* 191316 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67708 /* 191320 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67709 /* 191324 */ // (umin:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPMINUDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
67710 /* 191324 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUDYrr),
67711 /* 191329 */ GIR_RootConstrainSelectedInstOperands,
67712 /* 191330 */ // GIR_Coverage, 3205,
67713 /* 191330 */ GIR_Done,
67714 /* 191331 */ // Label 4243: @191331
67715 /* 191331 */ GIM_Try, /*On fail goto*//*Label 4244*/ GIMT_Encode4(191358), // Rule ID 5641 //
67716 /* 191336 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
67717 /* 191339 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67718 /* 191343 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67719 /* 191347 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67720 /* 191351 */ // (umin:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPMINUDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
67721 /* 191351 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUDZ256rr),
67722 /* 191356 */ GIR_RootConstrainSelectedInstOperands,
67723 /* 191357 */ // GIR_Coverage, 5641,
67724 /* 191357 */ GIR_Done,
67725 /* 191358 */ // Label 4244: @191358
67726 /* 191358 */ GIM_Reject,
67727 /* 191359 */ // Label 4238: @191359
67728 /* 191359 */ GIM_Reject,
67729 /* 191360 */ // Label 4204: @191360
67730 /* 191360 */ GIM_Try, /*On fail goto*//*Label 4245*/ GIMT_Encode4(191515),
67731 /* 191365 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
67732 /* 191368 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
67733 /* 191371 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67734 /* 191375 */ GIM_Try, /*On fail goto*//*Label 4246*/ GIMT_Encode4(191433), // Rule ID 24119 //
67735 /* 191380 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
67736 /* 191383 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67737 /* 191387 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67738 /* 191391 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67739 /* 191394 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67740 /* 191398 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67741 /* 191402 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67742 /* 191406 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67743 /* 191408 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67744 /* 191415 */ // (umin:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPMINUQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
67745 /* 191415 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUQZrm),
67746 /* 191418 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67747 /* 191420 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67748 /* 191422 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67749 /* 191426 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67750 /* 191431 */ GIR_RootConstrainSelectedInstOperands,
67751 /* 191432 */ // GIR_Coverage, 24119,
67752 /* 191432 */ GIR_EraseRootFromParent_Done,
67753 /* 191433 */ // Label 4246: @191433
67754 /* 191433 */ GIM_Try, /*On fail goto*//*Label 4247*/ GIMT_Encode4(191491), // Rule ID 5662 //
67755 /* 191438 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
67756 /* 191441 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67757 /* 191445 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67758 /* 191449 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67759 /* 191453 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67760 /* 191456 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67761 /* 191460 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67762 /* 191464 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67763 /* 191466 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67764 /* 191473 */ // (umin:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
67765 /* 191473 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUQZrm),
67766 /* 191476 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67767 /* 191478 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67768 /* 191480 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67769 /* 191484 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67770 /* 191489 */ GIR_RootConstrainSelectedInstOperands,
67771 /* 191490 */ // GIR_Coverage, 5662,
67772 /* 191490 */ GIR_EraseRootFromParent_Done,
67773 /* 191491 */ // Label 4247: @191491
67774 /* 191491 */ GIM_Try, /*On fail goto*//*Label 4248*/ GIMT_Encode4(191514), // Rule ID 5659 //
67775 /* 191496 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
67776 /* 191499 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67777 /* 191503 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67778 /* 191507 */ // (umin:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPMINUQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
67779 /* 191507 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUQZrr),
67780 /* 191512 */ GIR_RootConstrainSelectedInstOperands,
67781 /* 191513 */ // GIR_Coverage, 5659,
67782 /* 191513 */ GIR_Done,
67783 /* 191514 */ // Label 4248: @191514
67784 /* 191514 */ GIM_Reject,
67785 /* 191515 */ // Label 4245: @191515
67786 /* 191515 */ GIM_Reject,
67787 /* 191516 */ // Label 4205: @191516
67788 /* 191516 */ GIM_Try, /*On fail goto*//*Label 4249*/ GIMT_Encode4(191857),
67789 /* 191521 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
67790 /* 191524 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
67791 /* 191527 */ GIM_Try, /*On fail goto*//*Label 4250*/ GIMT_Encode4(191589), // Rule ID 23462 //
67792 /* 191532 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
67793 /* 191535 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67794 /* 191539 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67795 /* 191543 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67796 /* 191547 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67797 /* 191550 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67798 /* 191554 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67799 /* 191558 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67800 /* 191562 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67801 /* 191564 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67802 /* 191571 */ // (umin:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPMINUBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67803 /* 191571 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBrm),
67804 /* 191574 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67805 /* 191576 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67806 /* 191578 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67807 /* 191582 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67808 /* 191587 */ GIR_RootConstrainSelectedInstOperands,
67809 /* 191588 */ // GIR_Coverage, 23462,
67810 /* 191588 */ GIR_EraseRootFromParent_Done,
67811 /* 191589 */ // Label 4250: @191589
67812 /* 191589 */ GIM_Try, /*On fail goto*//*Label 4251*/ GIMT_Encode4(191651), // Rule ID 24089 //
67813 /* 191594 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67814 /* 191597 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67815 /* 191601 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67816 /* 191605 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67817 /* 191609 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67818 /* 191612 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67819 /* 191616 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67820 /* 191620 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67821 /* 191624 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67822 /* 191626 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67823 /* 191633 */ // (umin:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPMINUBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67824 /* 191633 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBZ128rm),
67825 /* 191636 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67826 /* 191638 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67827 /* 191640 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67828 /* 191644 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67829 /* 191649 */ GIR_RootConstrainSelectedInstOperands,
67830 /* 191650 */ // GIR_Coverage, 24089,
67831 /* 191650 */ GIR_EraseRootFromParent_Done,
67832 /* 191651 */ // Label 4251: @191651
67833 /* 191651 */ GIM_Try, /*On fail goto*//*Label 4252*/ GIMT_Encode4(191713), // Rule ID 2637 //
67834 /* 191656 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
67835 /* 191659 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67836 /* 191663 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67837 /* 191667 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67838 /* 191671 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67839 /* 191675 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67840 /* 191678 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67841 /* 191682 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67842 /* 191686 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67843 /* 191688 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67844 /* 191695 */ // (umin:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67845 /* 191695 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBrm),
67846 /* 191698 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67847 /* 191700 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67848 /* 191702 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67849 /* 191706 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67850 /* 191711 */ GIR_RootConstrainSelectedInstOperands,
67851 /* 191712 */ // GIR_Coverage, 2637,
67852 /* 191712 */ GIR_EraseRootFromParent_Done,
67853 /* 191713 */ // Label 4252: @191713
67854 /* 191713 */ GIM_Try, /*On fail goto*//*Label 4253*/ GIMT_Encode4(191775), // Rule ID 5611 //
67855 /* 191718 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67856 /* 191721 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67857 /* 191725 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67858 /* 191729 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67859 /* 191733 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67860 /* 191737 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67861 /* 191740 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67862 /* 191744 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67863 /* 191748 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67864 /* 191750 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67865 /* 191757 */ // (umin:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67866 /* 191757 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBZ128rm),
67867 /* 191760 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67868 /* 191762 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67869 /* 191764 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67870 /* 191768 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67871 /* 191773 */ GIR_RootConstrainSelectedInstOperands,
67872 /* 191774 */ // GIR_Coverage, 5611,
67873 /* 191774 */ GIR_EraseRootFromParent_Done,
67874 /* 191775 */ // Label 4253: @191775
67875 /* 191775 */ GIM_Try, /*On fail goto*//*Label 4254*/ GIMT_Encode4(191802), // Rule ID 2636 //
67876 /* 191780 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
67877 /* 191783 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67878 /* 191787 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67879 /* 191791 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67880 /* 191795 */ // (umin:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPMINUBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
67881 /* 191795 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUBrr),
67882 /* 191800 */ GIR_RootConstrainSelectedInstOperands,
67883 /* 191801 */ // GIR_Coverage, 2636,
67884 /* 191801 */ GIR_Done,
67885 /* 191802 */ // Label 4254: @191802
67886 /* 191802 */ GIM_Try, /*On fail goto*//*Label 4255*/ GIMT_Encode4(191829), // Rule ID 2638 //
67887 /* 191807 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
67888 /* 191810 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67889 /* 191814 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67890 /* 191818 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67891 /* 191822 */ // (umin:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PMINUBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
67892 /* 191822 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMINUBrr),
67893 /* 191827 */ GIR_RootConstrainSelectedInstOperands,
67894 /* 191828 */ // GIR_Coverage, 2638,
67895 /* 191828 */ GIR_Done,
67896 /* 191829 */ // Label 4255: @191829
67897 /* 191829 */ GIM_Try, /*On fail goto*//*Label 4256*/ GIMT_Encode4(191856), // Rule ID 5608 //
67898 /* 191834 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67899 /* 191837 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67900 /* 191841 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67901 /* 191845 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67902 /* 191849 */ // (umin:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPMINUBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
67903 /* 191849 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUBZ128rr),
67904 /* 191854 */ GIR_RootConstrainSelectedInstOperands,
67905 /* 191855 */ // GIR_Coverage, 5608,
67906 /* 191855 */ GIR_Done,
67907 /* 191856 */ // Label 4256: @191856
67908 /* 191856 */ GIM_Reject,
67909 /* 191857 */ // Label 4249: @191857
67910 /* 191857 */ GIM_Reject,
67911 /* 191858 */ // Label 4206: @191858
67912 /* 191858 */ GIM_Try, /*On fail goto*//*Label 4257*/ GIMT_Encode4(192172),
67913 /* 191863 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
67914 /* 191866 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
67915 /* 191869 */ GIM_Try, /*On fail goto*//*Label 4258*/ GIMT_Encode4(191931), // Rule ID 23516 //
67916 /* 191874 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
67917 /* 191877 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67918 /* 191881 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67919 /* 191885 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67920 /* 191889 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67921 /* 191892 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67922 /* 191896 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67923 /* 191900 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67924 /* 191904 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67925 /* 191906 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67926 /* 191913 */ // (umin:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMINUWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67927 /* 191913 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWYrm),
67928 /* 191916 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67929 /* 191918 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67930 /* 191920 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67931 /* 191924 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67932 /* 191929 */ GIR_RootConstrainSelectedInstOperands,
67933 /* 191930 */ // GIR_Coverage, 23516,
67934 /* 191930 */ GIR_EraseRootFromParent_Done,
67935 /* 191931 */ // Label 4258: @191931
67936 /* 191931 */ GIM_Try, /*On fail goto*//*Label 4259*/ GIMT_Encode4(191993), // Rule ID 24095 //
67937 /* 191936 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67938 /* 191939 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67939 /* 191943 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67940 /* 191947 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67941 /* 191951 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67942 /* 191954 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67943 /* 191958 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67944 /* 191962 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67945 /* 191966 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67946 /* 191968 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67947 /* 191975 */ // (umin:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMINUWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67948 /* 191975 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWZ256rm),
67949 /* 191978 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67950 /* 191980 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67951 /* 191982 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67952 /* 191986 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67953 /* 191991 */ GIR_RootConstrainSelectedInstOperands,
67954 /* 191992 */ // GIR_Coverage, 24095,
67955 /* 191992 */ GIR_EraseRootFromParent_Done,
67956 /* 191993 */ // Label 4259: @191993
67957 /* 191993 */ GIM_Try, /*On fail goto*//*Label 4260*/ GIMT_Encode4(192055), // Rule ID 3216 //
67958 /* 191998 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
67959 /* 192001 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67960 /* 192005 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67961 /* 192009 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67962 /* 192013 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67963 /* 192017 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67964 /* 192020 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67965 /* 192024 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67966 /* 192028 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67967 /* 192030 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67968 /* 192037 */ // (umin:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67969 /* 192037 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWYrm),
67970 /* 192040 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67971 /* 192042 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67972 /* 192044 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67973 /* 192048 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67974 /* 192053 */ GIR_RootConstrainSelectedInstOperands,
67975 /* 192054 */ // GIR_Coverage, 3216,
67976 /* 192054 */ GIR_EraseRootFromParent_Done,
67977 /* 192055 */ // Label 4260: @192055
67978 /* 192055 */ GIM_Try, /*On fail goto*//*Label 4261*/ GIMT_Encode4(192117), // Rule ID 5623 //
67979 /* 192060 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67980 /* 192063 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67981 /* 192067 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67982 /* 192071 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67983 /* 192075 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67984 /* 192079 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67985 /* 192082 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67986 /* 192086 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67987 /* 192090 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67988 /* 192092 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67989 /* 192099 */ // (umin:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67990 /* 192099 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWZ256rm),
67991 /* 192102 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67992 /* 192104 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67993 /* 192106 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67994 /* 192110 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67995 /* 192115 */ GIR_RootConstrainSelectedInstOperands,
67996 /* 192116 */ // GIR_Coverage, 5623,
67997 /* 192116 */ GIR_EraseRootFromParent_Done,
67998 /* 192117 */ // Label 4261: @192117
67999 /* 192117 */ GIM_Try, /*On fail goto*//*Label 4262*/ GIMT_Encode4(192144), // Rule ID 3215 //
68000 /* 192122 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
68001 /* 192125 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68002 /* 192129 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68003 /* 192133 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68004 /* 192137 */ // (umin:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMINUWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
68005 /* 192137 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUWYrr),
68006 /* 192142 */ GIR_RootConstrainSelectedInstOperands,
68007 /* 192143 */ // GIR_Coverage, 3215,
68008 /* 192143 */ GIR_Done,
68009 /* 192144 */ // Label 4262: @192144
68010 /* 192144 */ GIM_Try, /*On fail goto*//*Label 4263*/ GIMT_Encode4(192171), // Rule ID 5620 //
68011 /* 192149 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68012 /* 192152 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68013 /* 192156 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68014 /* 192160 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68015 /* 192164 */ // (umin:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMINUWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
68016 /* 192164 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUWZ256rr),
68017 /* 192169 */ GIR_RootConstrainSelectedInstOperands,
68018 /* 192170 */ // GIR_Coverage, 5620,
68019 /* 192170 */ GIR_Done,
68020 /* 192171 */ // Label 4263: @192171
68021 /* 192171 */ GIM_Reject,
68022 /* 192172 */ // Label 4257: @192172
68023 /* 192172 */ GIM_Reject,
68024 /* 192173 */ // Label 4207: @192173
68025 /* 192173 */ GIM_Try, /*On fail goto*//*Label 4264*/ GIMT_Encode4(192328),
68026 /* 192178 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
68027 /* 192181 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
68028 /* 192184 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68029 /* 192188 */ GIM_Try, /*On fail goto*//*Label 4265*/ GIMT_Encode4(192246), // Rule ID 24101 //
68030 /* 192193 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
68031 /* 192196 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68032 /* 192200 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68033 /* 192204 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68034 /* 192207 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68035 /* 192211 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68036 /* 192215 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68037 /* 192219 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68038 /* 192221 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68039 /* 192228 */ // (umin:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPMINUDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
68040 /* 192228 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDZrm),
68041 /* 192231 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68042 /* 192233 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68043 /* 192235 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68044 /* 192239 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68045 /* 192244 */ GIR_RootConstrainSelectedInstOperands,
68046 /* 192245 */ // GIR_Coverage, 24101,
68047 /* 192245 */ GIR_EraseRootFromParent_Done,
68048 /* 192246 */ // Label 4265: @192246
68049 /* 192246 */ GIM_Try, /*On fail goto*//*Label 4266*/ GIMT_Encode4(192304), // Rule ID 5635 //
68050 /* 192251 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
68051 /* 192254 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68052 /* 192258 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68053 /* 192262 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68054 /* 192266 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68055 /* 192269 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68056 /* 192273 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68057 /* 192277 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68058 /* 192279 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68059 /* 192286 */ // (umin:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
68060 /* 192286 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDZrm),
68061 /* 192289 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68062 /* 192291 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68063 /* 192293 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68064 /* 192297 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68065 /* 192302 */ GIR_RootConstrainSelectedInstOperands,
68066 /* 192303 */ // GIR_Coverage, 5635,
68067 /* 192303 */ GIR_EraseRootFromParent_Done,
68068 /* 192304 */ // Label 4266: @192304
68069 /* 192304 */ GIM_Try, /*On fail goto*//*Label 4267*/ GIMT_Encode4(192327), // Rule ID 5632 //
68070 /* 192309 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
68071 /* 192312 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68072 /* 192316 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68073 /* 192320 */ // (umin:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPMINUDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
68074 /* 192320 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUDZrr),
68075 /* 192325 */ GIR_RootConstrainSelectedInstOperands,
68076 /* 192326 */ // GIR_Coverage, 5632,
68077 /* 192326 */ GIR_Done,
68078 /* 192327 */ // Label 4267: @192327
68079 /* 192327 */ GIM_Reject,
68080 /* 192328 */ // Label 4264: @192328
68081 /* 192328 */ GIM_Reject,
68082 /* 192329 */ // Label 4208: @192329
68083 /* 192329 */ GIM_Try, /*On fail goto*//*Label 4268*/ GIMT_Encode4(192643),
68084 /* 192334 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
68085 /* 192337 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
68086 /* 192340 */ GIM_Try, /*On fail goto*//*Label 4269*/ GIMT_Encode4(192402), // Rule ID 23464 //
68087 /* 192345 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
68088 /* 192348 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68089 /* 192352 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68090 /* 192356 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68091 /* 192360 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68092 /* 192363 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68093 /* 192367 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68094 /* 192371 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68095 /* 192375 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68096 /* 192377 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68097 /* 192384 */ // (umin:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPMINUBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
68098 /* 192384 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBYrm),
68099 /* 192387 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68100 /* 192389 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68101 /* 192391 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68102 /* 192395 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68103 /* 192400 */ GIR_RootConstrainSelectedInstOperands,
68104 /* 192401 */ // GIR_Coverage, 23464,
68105 /* 192401 */ GIR_EraseRootFromParent_Done,
68106 /* 192402 */ // Label 4269: @192402
68107 /* 192402 */ GIM_Try, /*On fail goto*//*Label 4270*/ GIMT_Encode4(192464), // Rule ID 24086 //
68108 /* 192407 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68109 /* 192410 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68110 /* 192414 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68111 /* 192418 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68112 /* 192422 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68113 /* 192425 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68114 /* 192429 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68115 /* 192433 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68116 /* 192437 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68117 /* 192439 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68118 /* 192446 */ // (umin:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPMINUBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
68119 /* 192446 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBZ256rm),
68120 /* 192449 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68121 /* 192451 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68122 /* 192453 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68123 /* 192457 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68124 /* 192462 */ GIR_RootConstrainSelectedInstOperands,
68125 /* 192463 */ // GIR_Coverage, 24086,
68126 /* 192463 */ GIR_EraseRootFromParent_Done,
68127 /* 192464 */ // Label 4270: @192464
68128 /* 192464 */ GIM_Try, /*On fail goto*//*Label 4271*/ GIMT_Encode4(192526), // Rule ID 2641 //
68129 /* 192469 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
68130 /* 192472 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68131 /* 192476 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68132 /* 192480 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68133 /* 192484 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68134 /* 192488 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68135 /* 192491 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68136 /* 192495 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68137 /* 192499 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68138 /* 192501 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68139 /* 192508 */ // (umin:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
68140 /* 192508 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBYrm),
68141 /* 192511 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68142 /* 192513 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68143 /* 192515 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68144 /* 192519 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68145 /* 192524 */ GIR_RootConstrainSelectedInstOperands,
68146 /* 192525 */ // GIR_Coverage, 2641,
68147 /* 192525 */ GIR_EraseRootFromParent_Done,
68148 /* 192526 */ // Label 4271: @192526
68149 /* 192526 */ GIM_Try, /*On fail goto*//*Label 4272*/ GIMT_Encode4(192588), // Rule ID 5605 //
68150 /* 192531 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68151 /* 192534 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68152 /* 192538 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68153 /* 192542 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68154 /* 192546 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68155 /* 192550 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68156 /* 192553 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68157 /* 192557 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68158 /* 192561 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68159 /* 192563 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68160 /* 192570 */ // (umin:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
68161 /* 192570 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBZ256rm),
68162 /* 192573 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68163 /* 192575 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68164 /* 192577 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68165 /* 192581 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68166 /* 192586 */ GIR_RootConstrainSelectedInstOperands,
68167 /* 192587 */ // GIR_Coverage, 5605,
68168 /* 192587 */ GIR_EraseRootFromParent_Done,
68169 /* 192588 */ // Label 4272: @192588
68170 /* 192588 */ GIM_Try, /*On fail goto*//*Label 4273*/ GIMT_Encode4(192615), // Rule ID 2640 //
68171 /* 192593 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
68172 /* 192596 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68173 /* 192600 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68174 /* 192604 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68175 /* 192608 */ // (umin:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPMINUBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
68176 /* 192608 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUBYrr),
68177 /* 192613 */ GIR_RootConstrainSelectedInstOperands,
68178 /* 192614 */ // GIR_Coverage, 2640,
68179 /* 192614 */ GIR_Done,
68180 /* 192615 */ // Label 4273: @192615
68181 /* 192615 */ GIM_Try, /*On fail goto*//*Label 4274*/ GIMT_Encode4(192642), // Rule ID 5602 //
68182 /* 192620 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68183 /* 192623 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68184 /* 192627 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68185 /* 192631 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68186 /* 192635 */ // (umin:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPMINUBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
68187 /* 192635 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUBZ256rr),
68188 /* 192640 */ GIR_RootConstrainSelectedInstOperands,
68189 /* 192641 */ // GIR_Coverage, 5602,
68190 /* 192641 */ GIR_Done,
68191 /* 192642 */ // Label 4274: @192642
68192 /* 192642 */ GIM_Reject,
68193 /* 192643 */ // Label 4268: @192643
68194 /* 192643 */ GIM_Reject,
68195 /* 192644 */ // Label 4209: @192644
68196 /* 192644 */ GIM_Try, /*On fail goto*//*Label 4275*/ GIMT_Encode4(192799),
68197 /* 192649 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
68198 /* 192652 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
68199 /* 192655 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68200 /* 192659 */ GIM_Try, /*On fail goto*//*Label 4276*/ GIMT_Encode4(192717), // Rule ID 24092 //
68201 /* 192664 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
68202 /* 192667 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68203 /* 192671 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68204 /* 192675 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68205 /* 192678 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68206 /* 192682 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68207 /* 192686 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68208 /* 192690 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68209 /* 192692 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68210 /* 192699 */ // (umin:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMINUWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
68211 /* 192699 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWZrm),
68212 /* 192702 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68213 /* 192704 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68214 /* 192706 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68215 /* 192710 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68216 /* 192715 */ GIR_RootConstrainSelectedInstOperands,
68217 /* 192716 */ // GIR_Coverage, 24092,
68218 /* 192716 */ GIR_EraseRootFromParent_Done,
68219 /* 192717 */ // Label 4276: @192717
68220 /* 192717 */ GIM_Try, /*On fail goto*//*Label 4277*/ GIMT_Encode4(192775), // Rule ID 5617 //
68221 /* 192722 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
68222 /* 192725 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68223 /* 192729 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68224 /* 192733 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68225 /* 192737 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68226 /* 192740 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68227 /* 192744 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68228 /* 192748 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68229 /* 192750 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68230 /* 192757 */ // (umin:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
68231 /* 192757 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWZrm),
68232 /* 192760 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68233 /* 192762 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68234 /* 192764 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68235 /* 192768 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68236 /* 192773 */ GIR_RootConstrainSelectedInstOperands,
68237 /* 192774 */ // GIR_Coverage, 5617,
68238 /* 192774 */ GIR_EraseRootFromParent_Done,
68239 /* 192775 */ // Label 4277: @192775
68240 /* 192775 */ GIM_Try, /*On fail goto*//*Label 4278*/ GIMT_Encode4(192798), // Rule ID 5614 //
68241 /* 192780 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
68242 /* 192783 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68243 /* 192787 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68244 /* 192791 */ // (umin:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMINUWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
68245 /* 192791 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUWZrr),
68246 /* 192796 */ GIR_RootConstrainSelectedInstOperands,
68247 /* 192797 */ // GIR_Coverage, 5614,
68248 /* 192797 */ GIR_Done,
68249 /* 192798 */ // Label 4278: @192798
68250 /* 192798 */ GIM_Reject,
68251 /* 192799 */ // Label 4275: @192799
68252 /* 192799 */ GIM_Reject,
68253 /* 192800 */ // Label 4210: @192800
68254 /* 192800 */ GIM_Try, /*On fail goto*//*Label 4279*/ GIMT_Encode4(192955),
68255 /* 192805 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
68256 /* 192808 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
68257 /* 192811 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68258 /* 192815 */ GIM_Try, /*On fail goto*//*Label 4280*/ GIMT_Encode4(192873), // Rule ID 24083 //
68259 /* 192820 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
68260 /* 192823 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68261 /* 192827 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68262 /* 192831 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68263 /* 192834 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68264 /* 192838 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68265 /* 192842 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68266 /* 192846 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68267 /* 192848 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68268 /* 192855 */ // (umin:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPMINUBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
68269 /* 192855 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBZrm),
68270 /* 192858 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68271 /* 192860 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68272 /* 192862 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68273 /* 192866 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68274 /* 192871 */ GIR_RootConstrainSelectedInstOperands,
68275 /* 192872 */ // GIR_Coverage, 24083,
68276 /* 192872 */ GIR_EraseRootFromParent_Done,
68277 /* 192873 */ // Label 4280: @192873
68278 /* 192873 */ GIM_Try, /*On fail goto*//*Label 4281*/ GIMT_Encode4(192931), // Rule ID 5599 //
68279 /* 192878 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
68280 /* 192881 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68281 /* 192885 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68282 /* 192889 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68283 /* 192893 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68284 /* 192896 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68285 /* 192900 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68286 /* 192904 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68287 /* 192906 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68288 /* 192913 */ // (umin:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
68289 /* 192913 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBZrm),
68290 /* 192916 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68291 /* 192918 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68292 /* 192920 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68293 /* 192924 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68294 /* 192929 */ GIR_RootConstrainSelectedInstOperands,
68295 /* 192930 */ // GIR_Coverage, 5599,
68296 /* 192930 */ GIR_EraseRootFromParent_Done,
68297 /* 192931 */ // Label 4281: @192931
68298 /* 192931 */ GIM_Try, /*On fail goto*//*Label 4282*/ GIMT_Encode4(192954), // Rule ID 5596 //
68299 /* 192936 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
68300 /* 192939 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68301 /* 192943 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68302 /* 192947 */ // (umin:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPMINUBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
68303 /* 192947 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUBZrr),
68304 /* 192952 */ GIR_RootConstrainSelectedInstOperands,
68305 /* 192953 */ // GIR_Coverage, 5596,
68306 /* 192953 */ GIR_Done,
68307 /* 192954 */ // Label 4282: @192954
68308 /* 192954 */ GIM_Reject,
68309 /* 192955 */ // Label 4279: @192955
68310 /* 192955 */ GIM_Reject,
68311 /* 192956 */ // Label 4211: @192956
68312 /* 192956 */ GIM_Reject,
68313 /* 192957 */ // Label 57: @192957
68314 /* 192957 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(8), GIMT_Encode2(25), /*)*//*default:*//*Label 4295*/ GIMT_Encode4(196277),
68315 /* 192968 */ /*GILLT_v2s64*//*Label 4283*/ GIMT_Encode4(193036), GIMT_Encode4(0),
68316 /* 192976 */ /*GILLT_v4s32*//*Label 4284*/ GIMT_Encode4(193365),
68317 /* 192980 */ /*GILLT_v4s64*//*Label 4285*/ GIMT_Encode4(193707), GIMT_Encode4(0),
68318 /* 192988 */ /*GILLT_v8s16*//*Label 4286*/ GIMT_Encode4(194024),
68319 /* 192992 */ /*GILLT_v8s32*//*Label 4287*/ GIMT_Encode4(194366),
68320 /* 192996 */ /*GILLT_v8s64*//*Label 4288*/ GIMT_Encode4(194681), GIMT_Encode4(0),
68321 /* 193004 */ /*GILLT_v16s8*//*Label 4289*/ GIMT_Encode4(194837),
68322 /* 193008 */ /*GILLT_v16s16*//*Label 4290*/ GIMT_Encode4(195179),
68323 /* 193012 */ /*GILLT_v16s32*//*Label 4291*/ GIMT_Encode4(195494), GIMT_Encode4(0),
68324 /* 193020 */ /*GILLT_v32s8*//*Label 4292*/ GIMT_Encode4(195650),
68325 /* 193024 */ /*GILLT_v32s16*//*Label 4293*/ GIMT_Encode4(195965), GIMT_Encode4(0),
68326 /* 193032 */ /*GILLT_v64s8*//*Label 4294*/ GIMT_Encode4(196121),
68327 /* 193036 */ // Label 4283: @193036
68328 /* 193036 */ GIM_Try, /*On fail goto*//*Label 4296*/ GIMT_Encode4(193364),
68329 /* 193041 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
68330 /* 193044 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
68331 /* 193047 */ GIM_Try, /*On fail goto*//*Label 4297*/ GIMT_Encode4(193109), // Rule ID 24023 //
68332 /* 193052 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
68333 /* 193055 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68334 /* 193059 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68335 /* 193063 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68336 /* 193067 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68337 /* 193070 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68338 /* 193074 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68339 /* 193078 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68340 /* 193082 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68341 /* 193084 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68342 /* 193091 */ // (umax:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPMAXUQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
68343 /* 193091 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZ128rm),
68344 /* 193094 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68345 /* 193096 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68346 /* 193098 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68347 /* 193102 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68348 /* 193107 */ GIR_RootConstrainSelectedInstOperands,
68349 /* 193108 */ // GIR_Coverage, 24023,
68350 /* 193108 */ GIR_EraseRootFromParent_Done,
68351 /* 193109 */ // Label 4297: @193109
68352 /* 193109 */ GIM_Try, /*On fail goto*//*Label 4298*/ GIMT_Encode4(193171), // Rule ID 5500 //
68353 /* 193114 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
68354 /* 193117 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68355 /* 193121 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68356 /* 193125 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68357 /* 193129 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68358 /* 193133 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68359 /* 193136 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68360 /* 193140 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68361 /* 193144 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68362 /* 193146 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68363 /* 193153 */ // (umax:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
68364 /* 193153 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZ128rm),
68365 /* 193156 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68366 /* 193158 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68367 /* 193160 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68368 /* 193164 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68369 /* 193169 */ GIR_RootConstrainSelectedInstOperands,
68370 /* 193170 */ // GIR_Coverage, 5500,
68371 /* 193170 */ GIR_EraseRootFromParent_Done,
68372 /* 193171 */ // Label 4298: @193171
68373 /* 193171 */ GIM_Try, /*On fail goto*//*Label 4299*/ GIMT_Encode4(193198), // Rule ID 5497 //
68374 /* 193176 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
68375 /* 193179 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68376 /* 193183 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68377 /* 193187 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68378 /* 193191 */ // (umax:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPMAXUQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
68379 /* 193191 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZ128rr),
68380 /* 193196 */ GIR_RootConstrainSelectedInstOperands,
68381 /* 193197 */ // GIR_Coverage, 5497,
68382 /* 193197 */ GIR_Done,
68383 /* 193198 */ // Label 4299: @193198
68384 /* 193198 */ GIM_Try, /*On fail goto*//*Label 4300*/ GIMT_Encode4(193363), // Rule ID 20002 //
68385 /* 193203 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
68386 /* 193206 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
68387 /* 193210 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68388 /* 193214 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68389 /* 193218 */ // (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] })
68390 /* 193218 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
68391 /* 193221 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
68392 /* 193225 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
68393 /* 193230 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
68394 /* 193232 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
68395 /* 193235 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
68396 /* 193239 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
68397 /* 193244 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
68398 /* 193247 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
68399 /* 193251 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/11,
68400 /* 193254 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
68401 /* 193259 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
68402 /* 193264 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
68403 /* 193269 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
68404 /* 193272 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
68405 /* 193276 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
68406 /* 193281 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
68407 /* 193283 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
68408 /* 193286 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
68409 /* 193290 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
68410 /* 193295 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
68411 /* 193298 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
68412 /* 193302 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/11,
68413 /* 193305 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
68414 /* 193310 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
68415 /* 193315 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
68416 /* 193320 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
68417 /* 193323 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZrr),
68418 /* 193327 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
68419 /* 193332 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
68420 /* 193335 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
68421 /* 193338 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
68422 /* 193340 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
68423 /* 193343 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68424 /* 193345 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
68425 /* 193352 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
68426 /* 193357 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
68427 /* 193362 */ // GIR_Coverage, 20002,
68428 /* 193362 */ GIR_EraseRootFromParent_Done,
68429 /* 193363 */ // Label 4300: @193363
68430 /* 193363 */ GIM_Reject,
68431 /* 193364 */ // Label 4296: @193364
68432 /* 193364 */ GIM_Reject,
68433 /* 193365 */ // Label 4284: @193365
68434 /* 193365 */ GIM_Try, /*On fail goto*//*Label 4301*/ GIMT_Encode4(193706),
68435 /* 193370 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
68436 /* 193373 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
68437 /* 193376 */ GIM_Try, /*On fail goto*//*Label 4302*/ GIMT_Encode4(193438), // Rule ID 23504 //
68438 /* 193381 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
68439 /* 193384 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68440 /* 193388 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68441 /* 193392 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68442 /* 193396 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68443 /* 193399 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68444 /* 193403 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68445 /* 193407 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68446 /* 193411 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68447 /* 193413 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68448 /* 193420 */ // (umax:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPMAXUDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
68449 /* 193420 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDrm),
68450 /* 193423 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68451 /* 193425 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68452 /* 193427 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68453 /* 193431 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68454 /* 193436 */ GIR_RootConstrainSelectedInstOperands,
68455 /* 193437 */ // GIR_Coverage, 23504,
68456 /* 193437 */ GIR_EraseRootFromParent_Done,
68457 /* 193438 */ // Label 4302: @193438
68458 /* 193438 */ GIM_Try, /*On fail goto*//*Label 4303*/ GIMT_Encode4(193500), // Rule ID 24005 //
68459 /* 193443 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
68460 /* 193446 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68461 /* 193450 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68462 /* 193454 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68463 /* 193458 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68464 /* 193461 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68465 /* 193465 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68466 /* 193469 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68467 /* 193473 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68468 /* 193475 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68469 /* 193482 */ // (umax:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPMAXUDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
68470 /* 193482 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZ128rm),
68471 /* 193485 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68472 /* 193487 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68473 /* 193489 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68474 /* 193493 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68475 /* 193498 */ GIR_RootConstrainSelectedInstOperands,
68476 /* 193499 */ // GIR_Coverage, 24005,
68477 /* 193499 */ GIR_EraseRootFromParent_Done,
68478 /* 193500 */ // Label 4303: @193500
68479 /* 193500 */ GIM_Try, /*On fail goto*//*Label 4304*/ GIMT_Encode4(193562), // Rule ID 3192 //
68480 /* 193505 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
68481 /* 193508 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68482 /* 193512 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68483 /* 193516 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68484 /* 193520 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68485 /* 193524 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68486 /* 193527 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68487 /* 193531 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68488 /* 193535 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68489 /* 193537 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68490 /* 193544 */ // (umax:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
68491 /* 193544 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDrm),
68492 /* 193547 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68493 /* 193549 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68494 /* 193551 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68495 /* 193555 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68496 /* 193560 */ GIR_RootConstrainSelectedInstOperands,
68497 /* 193561 */ // GIR_Coverage, 3192,
68498 /* 193561 */ GIR_EraseRootFromParent_Done,
68499 /* 193562 */ // Label 4304: @193562
68500 /* 193562 */ GIM_Try, /*On fail goto*//*Label 4305*/ GIMT_Encode4(193624), // Rule ID 5473 //
68501 /* 193567 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
68502 /* 193570 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68503 /* 193574 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68504 /* 193578 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68505 /* 193582 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68506 /* 193586 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68507 /* 193589 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68508 /* 193593 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68509 /* 193597 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68510 /* 193599 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68511 /* 193606 */ // (umax:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
68512 /* 193606 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZ128rm),
68513 /* 193609 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68514 /* 193611 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68515 /* 193613 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68516 /* 193617 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68517 /* 193622 */ GIR_RootConstrainSelectedInstOperands,
68518 /* 193623 */ // GIR_Coverage, 5473,
68519 /* 193623 */ GIR_EraseRootFromParent_Done,
68520 /* 193624 */ // Label 4305: @193624
68521 /* 193624 */ GIM_Try, /*On fail goto*//*Label 4306*/ GIMT_Encode4(193651), // Rule ID 3191 //
68522 /* 193629 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
68523 /* 193632 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68524 /* 193636 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68525 /* 193640 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68526 /* 193644 */ // (umax:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPMAXUDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
68527 /* 193644 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUDrr),
68528 /* 193649 */ GIR_RootConstrainSelectedInstOperands,
68529 /* 193650 */ // GIR_Coverage, 3191,
68530 /* 193650 */ GIR_Done,
68531 /* 193651 */ // Label 4306: @193651
68532 /* 193651 */ GIM_Try, /*On fail goto*//*Label 4307*/ GIMT_Encode4(193678), // Rule ID 3233 //
68533 /* 193656 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
68534 /* 193659 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68535 /* 193663 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68536 /* 193667 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68537 /* 193671 */ // (umax:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PMAXUDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
68538 /* 193671 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMAXUDrr),
68539 /* 193676 */ GIR_RootConstrainSelectedInstOperands,
68540 /* 193677 */ // GIR_Coverage, 3233,
68541 /* 193677 */ GIR_Done,
68542 /* 193678 */ // Label 4307: @193678
68543 /* 193678 */ GIM_Try, /*On fail goto*//*Label 4308*/ GIMT_Encode4(193705), // Rule ID 5470 //
68544 /* 193683 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
68545 /* 193686 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68546 /* 193690 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68547 /* 193694 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68548 /* 193698 */ // (umax:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPMAXUDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
68549 /* 193698 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZ128rr),
68550 /* 193703 */ GIR_RootConstrainSelectedInstOperands,
68551 /* 193704 */ // GIR_Coverage, 5470,
68552 /* 193704 */ GIR_Done,
68553 /* 193705 */ // Label 4308: @193705
68554 /* 193705 */ GIM_Reject,
68555 /* 193706 */ // Label 4301: @193706
68556 /* 193706 */ GIM_Reject,
68557 /* 193707 */ // Label 4285: @193707
68558 /* 193707 */ GIM_Try, /*On fail goto*//*Label 4309*/ GIMT_Encode4(194023),
68559 /* 193712 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
68560 /* 193715 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
68561 /* 193718 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68562 /* 193722 */ GIM_Try, /*On fail goto*//*Label 4310*/ GIMT_Encode4(193780), // Rule ID 24017 //
68563 /* 193727 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
68564 /* 193730 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68565 /* 193734 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68566 /* 193738 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68567 /* 193741 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68568 /* 193745 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68569 /* 193749 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68570 /* 193753 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68571 /* 193755 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68572 /* 193762 */ // (umax:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPMAXUQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
68573 /* 193762 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZ256rm),
68574 /* 193765 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68575 /* 193767 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68576 /* 193769 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68577 /* 193773 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68578 /* 193778 */ GIR_RootConstrainSelectedInstOperands,
68579 /* 193779 */ // GIR_Coverage, 24017,
68580 /* 193779 */ GIR_EraseRootFromParent_Done,
68581 /* 193780 */ // Label 4310: @193780
68582 /* 193780 */ GIM_Try, /*On fail goto*//*Label 4311*/ GIMT_Encode4(193838), // Rule ID 5491 //
68583 /* 193785 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
68584 /* 193788 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68585 /* 193792 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68586 /* 193796 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68587 /* 193800 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68588 /* 193803 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68589 /* 193807 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68590 /* 193811 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68591 /* 193813 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68592 /* 193820 */ // (umax:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
68593 /* 193820 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZ256rm),
68594 /* 193823 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68595 /* 193825 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68596 /* 193827 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68597 /* 193831 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68598 /* 193836 */ GIR_RootConstrainSelectedInstOperands,
68599 /* 193837 */ // GIR_Coverage, 5491,
68600 /* 193837 */ GIR_EraseRootFromParent_Done,
68601 /* 193838 */ // Label 4311: @193838
68602 /* 193838 */ GIM_Try, /*On fail goto*//*Label 4312*/ GIMT_Encode4(193861), // Rule ID 5488 //
68603 /* 193843 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
68604 /* 193846 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68605 /* 193850 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68606 /* 193854 */ // (umax:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPMAXUQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
68607 /* 193854 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZ256rr),
68608 /* 193859 */ GIR_RootConstrainSelectedInstOperands,
68609 /* 193860 */ // GIR_Coverage, 5488,
68610 /* 193860 */ GIR_Done,
68611 /* 193861 */ // Label 4312: @193861
68612 /* 193861 */ GIM_Try, /*On fail goto*//*Label 4313*/ GIMT_Encode4(194022), // Rule ID 20000 //
68613 /* 193866 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
68614 /* 193869 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68615 /* 193873 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68616 /* 193877 */ // (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] })
68617 /* 193877 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
68618 /* 193880 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
68619 /* 193884 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
68620 /* 193889 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
68621 /* 193891 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
68622 /* 193894 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
68623 /* 193898 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
68624 /* 193903 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
68625 /* 193906 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
68626 /* 193910 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/12,
68627 /* 193913 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
68628 /* 193918 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
68629 /* 193923 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
68630 /* 193928 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
68631 /* 193931 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
68632 /* 193935 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
68633 /* 193940 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
68634 /* 193942 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
68635 /* 193945 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
68636 /* 193949 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
68637 /* 193954 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
68638 /* 193957 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
68639 /* 193961 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/12,
68640 /* 193964 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
68641 /* 193969 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
68642 /* 193974 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
68643 /* 193979 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
68644 /* 193982 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZrr),
68645 /* 193986 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
68646 /* 193991 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
68647 /* 193994 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
68648 /* 193997 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
68649 /* 193999 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
68650 /* 194002 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68651 /* 194004 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
68652 /* 194011 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
68653 /* 194016 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
68654 /* 194021 */ // GIR_Coverage, 20000,
68655 /* 194021 */ GIR_EraseRootFromParent_Done,
68656 /* 194022 */ // Label 4313: @194022
68657 /* 194022 */ GIM_Reject,
68658 /* 194023 */ // Label 4309: @194023
68659 /* 194023 */ GIM_Reject,
68660 /* 194024 */ // Label 4286: @194024
68661 /* 194024 */ GIM_Try, /*On fail goto*//*Label 4314*/ GIMT_Encode4(194365),
68662 /* 194029 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
68663 /* 194032 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
68664 /* 194035 */ GIM_Try, /*On fail goto*//*Label 4315*/ GIMT_Encode4(194097), // Rule ID 23509 //
68665 /* 194040 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
68666 /* 194043 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68667 /* 194047 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68668 /* 194051 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68669 /* 194055 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68670 /* 194058 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68671 /* 194062 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68672 /* 194066 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68673 /* 194070 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68674 /* 194072 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68675 /* 194079 */ // (umax:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMAXUWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
68676 /* 194079 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWrm),
68677 /* 194082 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68678 /* 194084 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68679 /* 194086 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68680 /* 194090 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68681 /* 194095 */ GIR_RootConstrainSelectedInstOperands,
68682 /* 194096 */ // GIR_Coverage, 23509,
68683 /* 194096 */ GIR_EraseRootFromParent_Done,
68684 /* 194097 */ // Label 4315: @194097
68685 /* 194097 */ GIM_Try, /*On fail goto*//*Label 4316*/ GIMT_Encode4(194159), // Rule ID 23990 //
68686 /* 194102 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68687 /* 194105 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68688 /* 194109 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68689 /* 194113 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68690 /* 194117 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68691 /* 194120 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68692 /* 194124 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68693 /* 194128 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68694 /* 194132 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68695 /* 194134 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68696 /* 194141 */ // (umax:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMAXUWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
68697 /* 194141 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZ128rm),
68698 /* 194144 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68699 /* 194146 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68700 /* 194148 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68701 /* 194152 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68702 /* 194157 */ GIR_RootConstrainSelectedInstOperands,
68703 /* 194158 */ // GIR_Coverage, 23990,
68704 /* 194158 */ GIR_EraseRootFromParent_Done,
68705 /* 194159 */ // Label 4316: @194159
68706 /* 194159 */ GIM_Try, /*On fail goto*//*Label 4317*/ GIMT_Encode4(194221), // Rule ID 3202 //
68707 /* 194164 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
68708 /* 194167 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68709 /* 194171 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68710 /* 194175 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68711 /* 194179 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68712 /* 194183 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68713 /* 194186 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68714 /* 194190 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68715 /* 194194 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68716 /* 194196 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68717 /* 194203 */ // (umax:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
68718 /* 194203 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWrm),
68719 /* 194206 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68720 /* 194208 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68721 /* 194210 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68722 /* 194214 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68723 /* 194219 */ GIR_RootConstrainSelectedInstOperands,
68724 /* 194220 */ // GIR_Coverage, 3202,
68725 /* 194220 */ GIR_EraseRootFromParent_Done,
68726 /* 194221 */ // Label 4317: @194221
68727 /* 194221 */ GIM_Try, /*On fail goto*//*Label 4318*/ GIMT_Encode4(194283), // Rule ID 5449 //
68728 /* 194226 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68729 /* 194229 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68730 /* 194233 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68731 /* 194237 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68732 /* 194241 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68733 /* 194245 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68734 /* 194248 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68735 /* 194252 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68736 /* 194256 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68737 /* 194258 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68738 /* 194265 */ // (umax:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
68739 /* 194265 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZ128rm),
68740 /* 194268 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68741 /* 194270 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68742 /* 194272 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68743 /* 194276 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68744 /* 194281 */ GIR_RootConstrainSelectedInstOperands,
68745 /* 194282 */ // GIR_Coverage, 5449,
68746 /* 194282 */ GIR_EraseRootFromParent_Done,
68747 /* 194283 */ // Label 4318: @194283
68748 /* 194283 */ GIM_Try, /*On fail goto*//*Label 4319*/ GIMT_Encode4(194310), // Rule ID 3201 //
68749 /* 194288 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
68750 /* 194291 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68751 /* 194295 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68752 /* 194299 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68753 /* 194303 */ // (umax:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMAXUWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
68754 /* 194303 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUWrr),
68755 /* 194308 */ GIR_RootConstrainSelectedInstOperands,
68756 /* 194309 */ // GIR_Coverage, 3201,
68757 /* 194309 */ GIR_Done,
68758 /* 194310 */ // Label 4319: @194310
68759 /* 194310 */ GIM_Try, /*On fail goto*//*Label 4320*/ GIMT_Encode4(194337), // Rule ID 3235 //
68760 /* 194315 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
68761 /* 194318 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68762 /* 194322 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68763 /* 194326 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68764 /* 194330 */ // (umax:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMAXUWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
68765 /* 194330 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMAXUWrr),
68766 /* 194335 */ GIR_RootConstrainSelectedInstOperands,
68767 /* 194336 */ // GIR_Coverage, 3235,
68768 /* 194336 */ GIR_Done,
68769 /* 194337 */ // Label 4320: @194337
68770 /* 194337 */ GIM_Try, /*On fail goto*//*Label 4321*/ GIMT_Encode4(194364), // Rule ID 5446 //
68771 /* 194342 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68772 /* 194345 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68773 /* 194349 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68774 /* 194353 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68775 /* 194357 */ // (umax:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMAXUWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
68776 /* 194357 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZ128rr),
68777 /* 194362 */ GIR_RootConstrainSelectedInstOperands,
68778 /* 194363 */ // GIR_Coverage, 5446,
68779 /* 194363 */ GIR_Done,
68780 /* 194364 */ // Label 4321: @194364
68781 /* 194364 */ GIM_Reject,
68782 /* 194365 */ // Label 4314: @194365
68783 /* 194365 */ GIM_Reject,
68784 /* 194366 */ // Label 4287: @194366
68785 /* 194366 */ GIM_Try, /*On fail goto*//*Label 4322*/ GIMT_Encode4(194680),
68786 /* 194371 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
68787 /* 194374 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
68788 /* 194377 */ GIM_Try, /*On fail goto*//*Label 4323*/ GIMT_Encode4(194439), // Rule ID 23513 //
68789 /* 194382 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
68790 /* 194385 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68791 /* 194389 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68792 /* 194393 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68793 /* 194397 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68794 /* 194400 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68795 /* 194404 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68796 /* 194408 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68797 /* 194412 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68798 /* 194414 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68799 /* 194421 */ // (umax:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPMAXUDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
68800 /* 194421 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDYrm),
68801 /* 194424 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68802 /* 194426 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68803 /* 194428 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68804 /* 194432 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68805 /* 194437 */ GIR_RootConstrainSelectedInstOperands,
68806 /* 194438 */ // GIR_Coverage, 23513,
68807 /* 194438 */ GIR_EraseRootFromParent_Done,
68808 /* 194439 */ // Label 4323: @194439
68809 /* 194439 */ GIM_Try, /*On fail goto*//*Label 4324*/ GIMT_Encode4(194501), // Rule ID 23999 //
68810 /* 194444 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
68811 /* 194447 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68812 /* 194451 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68813 /* 194455 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68814 /* 194459 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68815 /* 194462 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68816 /* 194466 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68817 /* 194470 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68818 /* 194474 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68819 /* 194476 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68820 /* 194483 */ // (umax:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPMAXUDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
68821 /* 194483 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZ256rm),
68822 /* 194486 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68823 /* 194488 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68824 /* 194490 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68825 /* 194494 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68826 /* 194499 */ GIR_RootConstrainSelectedInstOperands,
68827 /* 194500 */ // GIR_Coverage, 23999,
68828 /* 194500 */ GIR_EraseRootFromParent_Done,
68829 /* 194501 */ // Label 4324: @194501
68830 /* 194501 */ GIM_Try, /*On fail goto*//*Label 4325*/ GIMT_Encode4(194563), // Rule ID 3210 //
68831 /* 194506 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
68832 /* 194509 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68833 /* 194513 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68834 /* 194517 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68835 /* 194521 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68836 /* 194525 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68837 /* 194528 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68838 /* 194532 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68839 /* 194536 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68840 /* 194538 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68841 /* 194545 */ // (umax:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
68842 /* 194545 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDYrm),
68843 /* 194548 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68844 /* 194550 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68845 /* 194552 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68846 /* 194556 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68847 /* 194561 */ GIR_RootConstrainSelectedInstOperands,
68848 /* 194562 */ // GIR_Coverage, 3210,
68849 /* 194562 */ GIR_EraseRootFromParent_Done,
68850 /* 194563 */ // Label 4325: @194563
68851 /* 194563 */ GIM_Try, /*On fail goto*//*Label 4326*/ GIMT_Encode4(194625), // Rule ID 5464 //
68852 /* 194568 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
68853 /* 194571 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68854 /* 194575 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68855 /* 194579 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68856 /* 194583 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68857 /* 194587 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68858 /* 194590 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68859 /* 194594 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68860 /* 194598 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68861 /* 194600 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68862 /* 194607 */ // (umax:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
68863 /* 194607 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZ256rm),
68864 /* 194610 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68865 /* 194612 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68866 /* 194614 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68867 /* 194618 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68868 /* 194623 */ GIR_RootConstrainSelectedInstOperands,
68869 /* 194624 */ // GIR_Coverage, 5464,
68870 /* 194624 */ GIR_EraseRootFromParent_Done,
68871 /* 194625 */ // Label 4326: @194625
68872 /* 194625 */ GIM_Try, /*On fail goto*//*Label 4327*/ GIMT_Encode4(194652), // Rule ID 3209 //
68873 /* 194630 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
68874 /* 194633 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68875 /* 194637 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68876 /* 194641 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68877 /* 194645 */ // (umax:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPMAXUDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
68878 /* 194645 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUDYrr),
68879 /* 194650 */ GIR_RootConstrainSelectedInstOperands,
68880 /* 194651 */ // GIR_Coverage, 3209,
68881 /* 194651 */ GIR_Done,
68882 /* 194652 */ // Label 4327: @194652
68883 /* 194652 */ GIM_Try, /*On fail goto*//*Label 4328*/ GIMT_Encode4(194679), // Rule ID 5461 //
68884 /* 194657 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
68885 /* 194660 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68886 /* 194664 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68887 /* 194668 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68888 /* 194672 */ // (umax:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPMAXUDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
68889 /* 194672 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZ256rr),
68890 /* 194677 */ GIR_RootConstrainSelectedInstOperands,
68891 /* 194678 */ // GIR_Coverage, 5461,
68892 /* 194678 */ GIR_Done,
68893 /* 194679 */ // Label 4328: @194679
68894 /* 194679 */ GIM_Reject,
68895 /* 194680 */ // Label 4322: @194680
68896 /* 194680 */ GIM_Reject,
68897 /* 194681 */ // Label 4288: @194681
68898 /* 194681 */ GIM_Try, /*On fail goto*//*Label 4329*/ GIMT_Encode4(194836),
68899 /* 194686 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
68900 /* 194689 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
68901 /* 194692 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68902 /* 194696 */ GIM_Try, /*On fail goto*//*Label 4330*/ GIMT_Encode4(194754), // Rule ID 24011 //
68903 /* 194701 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
68904 /* 194704 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68905 /* 194708 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68906 /* 194712 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68907 /* 194715 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68908 /* 194719 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68909 /* 194723 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68910 /* 194727 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68911 /* 194729 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68912 /* 194736 */ // (umax:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPMAXUQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
68913 /* 194736 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZrm),
68914 /* 194739 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68915 /* 194741 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68916 /* 194743 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68917 /* 194747 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68918 /* 194752 */ GIR_RootConstrainSelectedInstOperands,
68919 /* 194753 */ // GIR_Coverage, 24011,
68920 /* 194753 */ GIR_EraseRootFromParent_Done,
68921 /* 194754 */ // Label 4330: @194754
68922 /* 194754 */ GIM_Try, /*On fail goto*//*Label 4331*/ GIMT_Encode4(194812), // Rule ID 5482 //
68923 /* 194759 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
68924 /* 194762 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68925 /* 194766 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68926 /* 194770 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68927 /* 194774 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68928 /* 194777 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68929 /* 194781 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68930 /* 194785 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68931 /* 194787 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68932 /* 194794 */ // (umax:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
68933 /* 194794 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZrm),
68934 /* 194797 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68935 /* 194799 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68936 /* 194801 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68937 /* 194805 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68938 /* 194810 */ GIR_RootConstrainSelectedInstOperands,
68939 /* 194811 */ // GIR_Coverage, 5482,
68940 /* 194811 */ GIR_EraseRootFromParent_Done,
68941 /* 194812 */ // Label 4331: @194812
68942 /* 194812 */ GIM_Try, /*On fail goto*//*Label 4332*/ GIMT_Encode4(194835), // Rule ID 5479 //
68943 /* 194817 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
68944 /* 194820 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68945 /* 194824 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68946 /* 194828 */ // (umax:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPMAXUQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
68947 /* 194828 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZrr),
68948 /* 194833 */ GIR_RootConstrainSelectedInstOperands,
68949 /* 194834 */ // GIR_Coverage, 5479,
68950 /* 194834 */ GIR_Done,
68951 /* 194835 */ // Label 4332: @194835
68952 /* 194835 */ GIM_Reject,
68953 /* 194836 */ // Label 4329: @194836
68954 /* 194836 */ GIM_Reject,
68955 /* 194837 */ // Label 4289: @194837
68956 /* 194837 */ GIM_Try, /*On fail goto*//*Label 4333*/ GIMT_Encode4(195178),
68957 /* 194842 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
68958 /* 194845 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
68959 /* 194848 */ GIM_Try, /*On fail goto*//*Label 4334*/ GIMT_Encode4(194910), // Rule ID 23468 //
68960 /* 194853 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
68961 /* 194856 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68962 /* 194860 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68963 /* 194864 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68964 /* 194868 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68965 /* 194871 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68966 /* 194875 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68967 /* 194879 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68968 /* 194883 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68969 /* 194885 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68970 /* 194892 */ // (umax:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPMAXUBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
68971 /* 194892 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBrm),
68972 /* 194895 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68973 /* 194897 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68974 /* 194899 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68975 /* 194903 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68976 /* 194908 */ GIR_RootConstrainSelectedInstOperands,
68977 /* 194909 */ // GIR_Coverage, 23468,
68978 /* 194909 */ GIR_EraseRootFromParent_Done,
68979 /* 194910 */ // Label 4334: @194910
68980 /* 194910 */ GIM_Try, /*On fail goto*//*Label 4335*/ GIMT_Encode4(194972), // Rule ID 23981 //
68981 /* 194915 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68982 /* 194918 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68983 /* 194922 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68984 /* 194926 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68985 /* 194930 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68986 /* 194933 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68987 /* 194937 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68988 /* 194941 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68989 /* 194945 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68990 /* 194947 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68991 /* 194954 */ // (umax:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPMAXUBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
68992 /* 194954 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZ128rm),
68993 /* 194957 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68994 /* 194959 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68995 /* 194961 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68996 /* 194965 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68997 /* 194970 */ GIR_RootConstrainSelectedInstOperands,
68998 /* 194971 */ // GIR_Coverage, 23981,
68999 /* 194971 */ GIR_EraseRootFromParent_Done,
69000 /* 194972 */ // Label 4335: @194972
69001 /* 194972 */ GIM_Try, /*On fail goto*//*Label 4336*/ GIMT_Encode4(195034), // Rule ID 2649 //
69002 /* 194977 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
69003 /* 194980 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69004 /* 194984 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69005 /* 194988 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
69006 /* 194992 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69007 /* 194996 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69008 /* 194999 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69009 /* 195003 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69010 /* 195007 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69011 /* 195009 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69012 /* 195016 */ // (umax:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
69013 /* 195016 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBrm),
69014 /* 195019 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69015 /* 195021 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
69016 /* 195023 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69017 /* 195027 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69018 /* 195032 */ GIR_RootConstrainSelectedInstOperands,
69019 /* 195033 */ // GIR_Coverage, 2649,
69020 /* 195033 */ GIR_EraseRootFromParent_Done,
69021 /* 195034 */ // Label 4336: @195034
69022 /* 195034 */ GIM_Try, /*On fail goto*//*Label 4337*/ GIMT_Encode4(195096), // Rule ID 5431 //
69023 /* 195039 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
69024 /* 195042 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69025 /* 195046 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69026 /* 195050 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
69027 /* 195054 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69028 /* 195058 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69029 /* 195061 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69030 /* 195065 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69031 /* 195069 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69032 /* 195071 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69033 /* 195078 */ // (umax:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
69034 /* 195078 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZ128rm),
69035 /* 195081 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69036 /* 195083 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
69037 /* 195085 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69038 /* 195089 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69039 /* 195094 */ GIR_RootConstrainSelectedInstOperands,
69040 /* 195095 */ // GIR_Coverage, 5431,
69041 /* 195095 */ GIR_EraseRootFromParent_Done,
69042 /* 195096 */ // Label 4337: @195096
69043 /* 195096 */ GIM_Try, /*On fail goto*//*Label 4338*/ GIMT_Encode4(195123), // Rule ID 2648 //
69044 /* 195101 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
69045 /* 195104 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69046 /* 195108 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69047 /* 195112 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69048 /* 195116 */ // (umax:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPMAXUBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
69049 /* 195116 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUBrr),
69050 /* 195121 */ GIR_RootConstrainSelectedInstOperands,
69051 /* 195122 */ // GIR_Coverage, 2648,
69052 /* 195122 */ GIR_Done,
69053 /* 195123 */ // Label 4338: @195123
69054 /* 195123 */ GIM_Try, /*On fail goto*//*Label 4339*/ GIMT_Encode4(195150), // Rule ID 2650 //
69055 /* 195128 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
69056 /* 195131 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69057 /* 195135 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69058 /* 195139 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69059 /* 195143 */ // (umax:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PMAXUBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
69060 /* 195143 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMAXUBrr),
69061 /* 195148 */ GIR_RootConstrainSelectedInstOperands,
69062 /* 195149 */ // GIR_Coverage, 2650,
69063 /* 195149 */ GIR_Done,
69064 /* 195150 */ // Label 4339: @195150
69065 /* 195150 */ GIM_Try, /*On fail goto*//*Label 4340*/ GIMT_Encode4(195177), // Rule ID 5428 //
69066 /* 195155 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
69067 /* 195158 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69068 /* 195162 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69069 /* 195166 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69070 /* 195170 */ // (umax:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPMAXUBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
69071 /* 195170 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZ128rr),
69072 /* 195175 */ GIR_RootConstrainSelectedInstOperands,
69073 /* 195176 */ // GIR_Coverage, 5428,
69074 /* 195176 */ GIR_Done,
69075 /* 195177 */ // Label 4340: @195177
69076 /* 195177 */ GIM_Reject,
69077 /* 195178 */ // Label 4333: @195178
69078 /* 195178 */ GIM_Reject,
69079 /* 195179 */ // Label 4290: @195179
69080 /* 195179 */ GIM_Try, /*On fail goto*//*Label 4341*/ GIMT_Encode4(195493),
69081 /* 195184 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
69082 /* 195187 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
69083 /* 195190 */ GIM_Try, /*On fail goto*//*Label 4342*/ GIMT_Encode4(195252), // Rule ID 23518 //
69084 /* 195195 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
69085 /* 195198 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69086 /* 195202 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69087 /* 195206 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69088 /* 195210 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69089 /* 195213 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69090 /* 195217 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69091 /* 195221 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69092 /* 195225 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69093 /* 195227 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69094 /* 195234 */ // (umax:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMAXUWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
69095 /* 195234 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWYrm),
69096 /* 195237 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69097 /* 195239 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
69098 /* 195241 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69099 /* 195245 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69100 /* 195250 */ GIR_RootConstrainSelectedInstOperands,
69101 /* 195251 */ // GIR_Coverage, 23518,
69102 /* 195251 */ GIR_EraseRootFromParent_Done,
69103 /* 195252 */ // Label 4342: @195252
69104 /* 195252 */ GIM_Try, /*On fail goto*//*Label 4343*/ GIMT_Encode4(195314), // Rule ID 23987 //
69105 /* 195257 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
69106 /* 195260 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69107 /* 195264 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69108 /* 195268 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69109 /* 195272 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69110 /* 195275 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69111 /* 195279 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69112 /* 195283 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69113 /* 195287 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69114 /* 195289 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69115 /* 195296 */ // (umax:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMAXUWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
69116 /* 195296 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZ256rm),
69117 /* 195299 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69118 /* 195301 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
69119 /* 195303 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69120 /* 195307 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69121 /* 195312 */ GIR_RootConstrainSelectedInstOperands,
69122 /* 195313 */ // GIR_Coverage, 23987,
69123 /* 195313 */ GIR_EraseRootFromParent_Done,
69124 /* 195314 */ // Label 4343: @195314
69125 /* 195314 */ GIM_Try, /*On fail goto*//*Label 4344*/ GIMT_Encode4(195376), // Rule ID 3220 //
69126 /* 195319 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
69127 /* 195322 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69128 /* 195326 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69129 /* 195330 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
69130 /* 195334 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69131 /* 195338 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69132 /* 195341 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69133 /* 195345 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69134 /* 195349 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69135 /* 195351 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69136 /* 195358 */ // (umax:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
69137 /* 195358 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWYrm),
69138 /* 195361 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69139 /* 195363 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
69140 /* 195365 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69141 /* 195369 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69142 /* 195374 */ GIR_RootConstrainSelectedInstOperands,
69143 /* 195375 */ // GIR_Coverage, 3220,
69144 /* 195375 */ GIR_EraseRootFromParent_Done,
69145 /* 195376 */ // Label 4344: @195376
69146 /* 195376 */ GIM_Try, /*On fail goto*//*Label 4345*/ GIMT_Encode4(195438), // Rule ID 5443 //
69147 /* 195381 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
69148 /* 195384 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69149 /* 195388 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69150 /* 195392 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
69151 /* 195396 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69152 /* 195400 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69153 /* 195403 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69154 /* 195407 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69155 /* 195411 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69156 /* 195413 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69157 /* 195420 */ // (umax:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
69158 /* 195420 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZ256rm),
69159 /* 195423 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69160 /* 195425 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
69161 /* 195427 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69162 /* 195431 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69163 /* 195436 */ GIR_RootConstrainSelectedInstOperands,
69164 /* 195437 */ // GIR_Coverage, 5443,
69165 /* 195437 */ GIR_EraseRootFromParent_Done,
69166 /* 195438 */ // Label 4345: @195438
69167 /* 195438 */ GIM_Try, /*On fail goto*//*Label 4346*/ GIMT_Encode4(195465), // Rule ID 3219 //
69168 /* 195443 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
69169 /* 195446 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69170 /* 195450 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69171 /* 195454 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69172 /* 195458 */ // (umax:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMAXUWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
69173 /* 195458 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUWYrr),
69174 /* 195463 */ GIR_RootConstrainSelectedInstOperands,
69175 /* 195464 */ // GIR_Coverage, 3219,
69176 /* 195464 */ GIR_Done,
69177 /* 195465 */ // Label 4346: @195465
69178 /* 195465 */ GIM_Try, /*On fail goto*//*Label 4347*/ GIMT_Encode4(195492), // Rule ID 5440 //
69179 /* 195470 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
69180 /* 195473 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69181 /* 195477 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69182 /* 195481 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69183 /* 195485 */ // (umax:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMAXUWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
69184 /* 195485 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZ256rr),
69185 /* 195490 */ GIR_RootConstrainSelectedInstOperands,
69186 /* 195491 */ // GIR_Coverage, 5440,
69187 /* 195491 */ GIR_Done,
69188 /* 195492 */ // Label 4347: @195492
69189 /* 195492 */ GIM_Reject,
69190 /* 195493 */ // Label 4341: @195493
69191 /* 195493 */ GIM_Reject,
69192 /* 195494 */ // Label 4291: @195494
69193 /* 195494 */ GIM_Try, /*On fail goto*//*Label 4348*/ GIMT_Encode4(195649),
69194 /* 195499 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
69195 /* 195502 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
69196 /* 195505 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69197 /* 195509 */ GIM_Try, /*On fail goto*//*Label 4349*/ GIMT_Encode4(195567), // Rule ID 23993 //
69198 /* 195514 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
69199 /* 195517 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69200 /* 195521 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69201 /* 195525 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69202 /* 195528 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69203 /* 195532 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69204 /* 195536 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69205 /* 195540 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69206 /* 195542 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69207 /* 195549 */ // (umax:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPMAXUDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
69208 /* 195549 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZrm),
69209 /* 195552 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69210 /* 195554 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
69211 /* 195556 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69212 /* 195560 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69213 /* 195565 */ GIR_RootConstrainSelectedInstOperands,
69214 /* 195566 */ // GIR_Coverage, 23993,
69215 /* 195566 */ GIR_EraseRootFromParent_Done,
69216 /* 195567 */ // Label 4349: @195567
69217 /* 195567 */ GIM_Try, /*On fail goto*//*Label 4350*/ GIMT_Encode4(195625), // Rule ID 5455 //
69218 /* 195572 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
69219 /* 195575 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69220 /* 195579 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
69221 /* 195583 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69222 /* 195587 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69223 /* 195590 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69224 /* 195594 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69225 /* 195598 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69226 /* 195600 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69227 /* 195607 */ // (umax:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
69228 /* 195607 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZrm),
69229 /* 195610 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69230 /* 195612 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
69231 /* 195614 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69232 /* 195618 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69233 /* 195623 */ GIR_RootConstrainSelectedInstOperands,
69234 /* 195624 */ // GIR_Coverage, 5455,
69235 /* 195624 */ GIR_EraseRootFromParent_Done,
69236 /* 195625 */ // Label 4350: @195625
69237 /* 195625 */ GIM_Try, /*On fail goto*//*Label 4351*/ GIMT_Encode4(195648), // Rule ID 5452 //
69238 /* 195630 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
69239 /* 195633 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69240 /* 195637 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69241 /* 195641 */ // (umax:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPMAXUDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
69242 /* 195641 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZrr),
69243 /* 195646 */ GIR_RootConstrainSelectedInstOperands,
69244 /* 195647 */ // GIR_Coverage, 5452,
69245 /* 195647 */ GIR_Done,
69246 /* 195648 */ // Label 4351: @195648
69247 /* 195648 */ GIM_Reject,
69248 /* 195649 */ // Label 4348: @195649
69249 /* 195649 */ GIM_Reject,
69250 /* 195650 */ // Label 4292: @195650
69251 /* 195650 */ GIM_Try, /*On fail goto*//*Label 4352*/ GIMT_Encode4(195964),
69252 /* 195655 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
69253 /* 195658 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
69254 /* 195661 */ GIM_Try, /*On fail goto*//*Label 4353*/ GIMT_Encode4(195723), // Rule ID 23470 //
69255 /* 195666 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
69256 /* 195669 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69257 /* 195673 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69258 /* 195677 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69259 /* 195681 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69260 /* 195684 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69261 /* 195688 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69262 /* 195692 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69263 /* 195696 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69264 /* 195698 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69265 /* 195705 */ // (umax:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPMAXUBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
69266 /* 195705 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBYrm),
69267 /* 195708 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69268 /* 195710 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
69269 /* 195712 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69270 /* 195716 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69271 /* 195721 */ GIR_RootConstrainSelectedInstOperands,
69272 /* 195722 */ // GIR_Coverage, 23470,
69273 /* 195722 */ GIR_EraseRootFromParent_Done,
69274 /* 195723 */ // Label 4353: @195723
69275 /* 195723 */ GIM_Try, /*On fail goto*//*Label 4354*/ GIMT_Encode4(195785), // Rule ID 23978 //
69276 /* 195728 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
69277 /* 195731 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69278 /* 195735 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69279 /* 195739 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69280 /* 195743 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69281 /* 195746 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69282 /* 195750 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69283 /* 195754 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69284 /* 195758 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69285 /* 195760 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69286 /* 195767 */ // (umax:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPMAXUBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
69287 /* 195767 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZ256rm),
69288 /* 195770 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69289 /* 195772 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
69290 /* 195774 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69291 /* 195778 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69292 /* 195783 */ GIR_RootConstrainSelectedInstOperands,
69293 /* 195784 */ // GIR_Coverage, 23978,
69294 /* 195784 */ GIR_EraseRootFromParent_Done,
69295 /* 195785 */ // Label 4354: @195785
69296 /* 195785 */ GIM_Try, /*On fail goto*//*Label 4355*/ GIMT_Encode4(195847), // Rule ID 2653 //
69297 /* 195790 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
69298 /* 195793 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69299 /* 195797 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69300 /* 195801 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
69301 /* 195805 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69302 /* 195809 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69303 /* 195812 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69304 /* 195816 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69305 /* 195820 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69306 /* 195822 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69307 /* 195829 */ // (umax:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
69308 /* 195829 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBYrm),
69309 /* 195832 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69310 /* 195834 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
69311 /* 195836 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69312 /* 195840 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69313 /* 195845 */ GIR_RootConstrainSelectedInstOperands,
69314 /* 195846 */ // GIR_Coverage, 2653,
69315 /* 195846 */ GIR_EraseRootFromParent_Done,
69316 /* 195847 */ // Label 4355: @195847
69317 /* 195847 */ GIM_Try, /*On fail goto*//*Label 4356*/ GIMT_Encode4(195909), // Rule ID 5425 //
69318 /* 195852 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
69319 /* 195855 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69320 /* 195859 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69321 /* 195863 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
69322 /* 195867 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69323 /* 195871 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69324 /* 195874 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69325 /* 195878 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69326 /* 195882 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69327 /* 195884 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69328 /* 195891 */ // (umax:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
69329 /* 195891 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZ256rm),
69330 /* 195894 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69331 /* 195896 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
69332 /* 195898 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69333 /* 195902 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69334 /* 195907 */ GIR_RootConstrainSelectedInstOperands,
69335 /* 195908 */ // GIR_Coverage, 5425,
69336 /* 195908 */ GIR_EraseRootFromParent_Done,
69337 /* 195909 */ // Label 4356: @195909
69338 /* 195909 */ GIM_Try, /*On fail goto*//*Label 4357*/ GIMT_Encode4(195936), // Rule ID 2652 //
69339 /* 195914 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
69340 /* 195917 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69341 /* 195921 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69342 /* 195925 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69343 /* 195929 */ // (umax:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPMAXUBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
69344 /* 195929 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUBYrr),
69345 /* 195934 */ GIR_RootConstrainSelectedInstOperands,
69346 /* 195935 */ // GIR_Coverage, 2652,
69347 /* 195935 */ GIR_Done,
69348 /* 195936 */ // Label 4357: @195936
69349 /* 195936 */ GIM_Try, /*On fail goto*//*Label 4358*/ GIMT_Encode4(195963), // Rule ID 5422 //
69350 /* 195941 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
69351 /* 195944 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69352 /* 195948 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69353 /* 195952 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69354 /* 195956 */ // (umax:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPMAXUBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
69355 /* 195956 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZ256rr),
69356 /* 195961 */ GIR_RootConstrainSelectedInstOperands,
69357 /* 195962 */ // GIR_Coverage, 5422,
69358 /* 195962 */ GIR_Done,
69359 /* 195963 */ // Label 4358: @195963
69360 /* 195963 */ GIM_Reject,
69361 /* 195964 */ // Label 4352: @195964
69362 /* 195964 */ GIM_Reject,
69363 /* 195965 */ // Label 4293: @195965
69364 /* 195965 */ GIM_Try, /*On fail goto*//*Label 4359*/ GIMT_Encode4(196120),
69365 /* 195970 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
69366 /* 195973 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
69367 /* 195976 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69368 /* 195980 */ GIM_Try, /*On fail goto*//*Label 4360*/ GIMT_Encode4(196038), // Rule ID 23984 //
69369 /* 195985 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
69370 /* 195988 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69371 /* 195992 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69372 /* 195996 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69373 /* 195999 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69374 /* 196003 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69375 /* 196007 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69376 /* 196011 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69377 /* 196013 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69378 /* 196020 */ // (umax:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMAXUWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
69379 /* 196020 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZrm),
69380 /* 196023 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69381 /* 196025 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
69382 /* 196027 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69383 /* 196031 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69384 /* 196036 */ GIR_RootConstrainSelectedInstOperands,
69385 /* 196037 */ // GIR_Coverage, 23984,
69386 /* 196037 */ GIR_EraseRootFromParent_Done,
69387 /* 196038 */ // Label 4360: @196038
69388 /* 196038 */ GIM_Try, /*On fail goto*//*Label 4361*/ GIMT_Encode4(196096), // Rule ID 5437 //
69389 /* 196043 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
69390 /* 196046 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69391 /* 196050 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
69392 /* 196054 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69393 /* 196058 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69394 /* 196061 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69395 /* 196065 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69396 /* 196069 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69397 /* 196071 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69398 /* 196078 */ // (umax:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
69399 /* 196078 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZrm),
69400 /* 196081 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69401 /* 196083 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
69402 /* 196085 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69403 /* 196089 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69404 /* 196094 */ GIR_RootConstrainSelectedInstOperands,
69405 /* 196095 */ // GIR_Coverage, 5437,
69406 /* 196095 */ GIR_EraseRootFromParent_Done,
69407 /* 196096 */ // Label 4361: @196096
69408 /* 196096 */ GIM_Try, /*On fail goto*//*Label 4362*/ GIMT_Encode4(196119), // Rule ID 5434 //
69409 /* 196101 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
69410 /* 196104 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69411 /* 196108 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69412 /* 196112 */ // (umax:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMAXUWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
69413 /* 196112 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZrr),
69414 /* 196117 */ GIR_RootConstrainSelectedInstOperands,
69415 /* 196118 */ // GIR_Coverage, 5434,
69416 /* 196118 */ GIR_Done,
69417 /* 196119 */ // Label 4362: @196119
69418 /* 196119 */ GIM_Reject,
69419 /* 196120 */ // Label 4359: @196120
69420 /* 196120 */ GIM_Reject,
69421 /* 196121 */ // Label 4294: @196121
69422 /* 196121 */ GIM_Try, /*On fail goto*//*Label 4363*/ GIMT_Encode4(196276),
69423 /* 196126 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
69424 /* 196129 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
69425 /* 196132 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69426 /* 196136 */ GIM_Try, /*On fail goto*//*Label 4364*/ GIMT_Encode4(196194), // Rule ID 23975 //
69427 /* 196141 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
69428 /* 196144 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69429 /* 196148 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69430 /* 196152 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69431 /* 196155 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69432 /* 196159 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69433 /* 196163 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69434 /* 196167 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69435 /* 196169 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69436 /* 196176 */ // (umax:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPMAXUBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
69437 /* 196176 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZrm),
69438 /* 196179 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69439 /* 196181 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
69440 /* 196183 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69441 /* 196187 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69442 /* 196192 */ GIR_RootConstrainSelectedInstOperands,
69443 /* 196193 */ // GIR_Coverage, 23975,
69444 /* 196193 */ GIR_EraseRootFromParent_Done,
69445 /* 196194 */ // Label 4364: @196194
69446 /* 196194 */ GIM_Try, /*On fail goto*//*Label 4365*/ GIMT_Encode4(196252), // Rule ID 5419 //
69447 /* 196199 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
69448 /* 196202 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69449 /* 196206 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
69450 /* 196210 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69451 /* 196214 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69452 /* 196217 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69453 /* 196221 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69454 /* 196225 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69455 /* 196227 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69456 /* 196234 */ // (umax:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
69457 /* 196234 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZrm),
69458 /* 196237 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69459 /* 196239 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
69460 /* 196241 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69461 /* 196245 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69462 /* 196250 */ GIR_RootConstrainSelectedInstOperands,
69463 /* 196251 */ // GIR_Coverage, 5419,
69464 /* 196251 */ GIR_EraseRootFromParent_Done,
69465 /* 196252 */ // Label 4365: @196252
69466 /* 196252 */ GIM_Try, /*On fail goto*//*Label 4366*/ GIMT_Encode4(196275), // Rule ID 5416 //
69467 /* 196257 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
69468 /* 196260 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69469 /* 196264 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69470 /* 196268 */ // (umax:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPMAXUBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
69471 /* 196268 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZrr),
69472 /* 196273 */ GIR_RootConstrainSelectedInstOperands,
69473 /* 196274 */ // GIR_Coverage, 5416,
69474 /* 196274 */ GIR_Done,
69475 /* 196275 */ // Label 4366: @196275
69476 /* 196275 */ GIM_Reject,
69477 /* 196276 */ // Label 4363: @196276
69478 /* 196276 */ GIM_Reject,
69479 /* 196277 */ // Label 4295: @196277
69480 /* 196277 */ GIM_Reject,
69481 /* 196278 */ // Label 58: @196278
69482 /* 196278 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(8), GIMT_Encode2(25), /*)*//*default:*//*Label 4379*/ GIMT_Encode4(198158),
69483 /* 196289 */ /*GILLT_v2s64*//*Label 4367*/ GIMT_Encode4(196357), GIMT_Encode4(0),
69484 /* 196297 */ /*GILLT_v4s32*//*Label 4368*/ GIMT_Encode4(196553),
69485 /* 196301 */ /*GILLT_v4s64*//*Label 4369*/ GIMT_Encode4(196744), GIMT_Encode4(0),
69486 /* 196309 */ /*GILLT_v8s16*//*Label 4370*/ GIMT_Encode4(196932),
69487 /* 196313 */ /*GILLT_v8s32*//*Label 4371*/ GIMT_Encode4(197123),
69488 /* 196317 */ /*GILLT_v8s64*//*Label 4372*/ GIMT_Encode4(197291), GIMT_Encode4(0),
69489 /* 196325 */ /*GILLT_v16s8*//*Label 4373*/ GIMT_Encode4(197376),
69490 /* 196329 */ /*GILLT_v16s16*//*Label 4374*/ GIMT_Encode4(197567),
69491 /* 196333 */ /*GILLT_v16s32*//*Label 4375*/ GIMT_Encode4(197735), GIMT_Encode4(0),
69492 /* 196341 */ /*GILLT_v32s8*//*Label 4376*/ GIMT_Encode4(197820),
69493 /* 196345 */ /*GILLT_v32s16*//*Label 4377*/ GIMT_Encode4(197988), GIMT_Encode4(0),
69494 /* 196353 */ /*GILLT_v64s8*//*Label 4378*/ GIMT_Encode4(198073),
69495 /* 196357 */ // Label 4367: @196357
69496 /* 196357 */ GIM_Try, /*On fail goto*//*Label 4380*/ GIMT_Encode4(196552),
69497 /* 196362 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
69498 /* 196365 */ GIM_Try, /*On fail goto*//*Label 4381*/ GIMT_Encode4(196421), // Rule ID 13267 //
69499 /* 196370 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69500 /* 196373 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69501 /* 196377 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69502 /* 196381 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69503 /* 196385 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69504 /* 196388 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69505 /* 196392 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69506 /* 196396 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69507 /* 196398 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69508 /* 196405 */ // (abs:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSQZ128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)
69509 /* 196405 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSQZ128rm),
69510 /* 196408 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69511 /* 196410 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
69512 /* 196414 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69513 /* 196419 */ GIR_RootConstrainSelectedInstOperands,
69514 /* 196420 */ // GIR_Coverage, 13267,
69515 /* 196420 */ GIR_EraseRootFromParent_Done,
69516 /* 196421 */ // Label 4381: @196421
69517 /* 196421 */ GIM_Try, /*On fail goto*//*Label 4382*/ GIMT_Encode4(196444), // Rule ID 13264 //
69518 /* 196426 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69519 /* 196429 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69520 /* 196433 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69521 /* 196437 */ // (abs:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1) => (VPABSQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1)
69522 /* 196437 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSQZ128rr),
69523 /* 196442 */ GIR_RootConstrainSelectedInstOperands,
69524 /* 196443 */ // GIR_Coverage, 13264,
69525 /* 196443 */ GIR_Done,
69526 /* 196444 */ // Label 4382: @196444
69527 /* 196444 */ GIM_Try, /*On fail goto*//*Label 4383*/ GIMT_Encode4(196551), // Rule ID 21824 //
69528 /* 196449 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
69529 /* 196452 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
69530 /* 196456 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69531 /* 196460 */ // (abs:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src) => (EXTRACT_SUBREG:{ *:[v2i64] } (VPABSQZrr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR128X:{ *:[v2i64] }:$src, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
69532 /* 196460 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
69533 /* 196463 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
69534 /* 196467 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
69535 /* 196472 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
69536 /* 196474 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
69537 /* 196477 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
69538 /* 196481 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
69539 /* 196486 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
69540 /* 196489 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
69541 /* 196493 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/11,
69542 /* 196496 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
69543 /* 196501 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69544 /* 196506 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
69545 /* 196511 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
69546 /* 196514 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPABSQZrr),
69547 /* 196518 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
69548 /* 196523 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
69549 /* 196526 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
69550 /* 196528 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69551 /* 196531 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69552 /* 196533 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
69553 /* 196540 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
69554 /* 196545 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69555 /* 196550 */ // GIR_Coverage, 21824,
69556 /* 196550 */ GIR_EraseRootFromParent_Done,
69557 /* 196551 */ // Label 4383: @196551
69558 /* 196551 */ GIM_Reject,
69559 /* 196552 */ // Label 4380: @196552
69560 /* 196552 */ GIM_Reject,
69561 /* 196553 */ // Label 4368: @196553
69562 /* 196553 */ GIM_Try, /*On fail goto*//*Label 4384*/ GIMT_Encode4(196743),
69563 /* 196558 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
69564 /* 196561 */ GIM_Try, /*On fail goto*//*Label 4385*/ GIMT_Encode4(196617), // Rule ID 2995 //
69565 /* 196566 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
69566 /* 196569 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69567 /* 196573 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69568 /* 196577 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69569 /* 196581 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69570 /* 196584 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69571 /* 196588 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69572 /* 196592 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69573 /* 196594 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69574 /* 196601 */ // (abs:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSDrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
69575 /* 196601 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSDrm),
69576 /* 196604 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69577 /* 196606 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
69578 /* 196610 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69579 /* 196615 */ GIR_RootConstrainSelectedInstOperands,
69580 /* 196616 */ // GIR_Coverage, 2995,
69581 /* 196616 */ GIR_EraseRootFromParent_Done,
69582 /* 196617 */ // Label 4385: @196617
69583 /* 196617 */ GIM_Try, /*On fail goto*//*Label 4386*/ GIMT_Encode4(196673), // Rule ID 13294 //
69584 /* 196622 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69585 /* 196625 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69586 /* 196629 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69587 /* 196633 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69588 /* 196637 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69589 /* 196640 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69590 /* 196644 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69591 /* 196648 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69592 /* 196650 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69593 /* 196657 */ // (abs:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSDZ128rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)
69594 /* 196657 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSDZ128rm),
69595 /* 196660 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69596 /* 196662 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
69597 /* 196666 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69598 /* 196671 */ GIR_RootConstrainSelectedInstOperands,
69599 /* 196672 */ // GIR_Coverage, 13294,
69600 /* 196672 */ GIR_EraseRootFromParent_Done,
69601 /* 196673 */ // Label 4386: @196673
69602 /* 196673 */ GIM_Try, /*On fail goto*//*Label 4387*/ GIMT_Encode4(196696), // Rule ID 2994 //
69603 /* 196678 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
69604 /* 196681 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69605 /* 196685 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69606 /* 196689 */ // (abs:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src) => (VPABSDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src)
69607 /* 196689 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSDrr),
69608 /* 196694 */ GIR_RootConstrainSelectedInstOperands,
69609 /* 196695 */ // GIR_Coverage, 2994,
69610 /* 196695 */ GIR_Done,
69611 /* 196696 */ // Label 4387: @196696
69612 /* 196696 */ GIM_Try, /*On fail goto*//*Label 4388*/ GIMT_Encode4(196719), // Rule ID 3006 //
69613 /* 196701 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSSE3),
69614 /* 196704 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69615 /* 196708 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69616 /* 196712 */ // (abs:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src) => (PABSDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src)
69617 /* 196712 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PABSDrr),
69618 /* 196717 */ GIR_RootConstrainSelectedInstOperands,
69619 /* 196718 */ // GIR_Coverage, 3006,
69620 /* 196718 */ GIR_Done,
69621 /* 196719 */ // Label 4388: @196719
69622 /* 196719 */ GIM_Try, /*On fail goto*//*Label 4389*/ GIMT_Encode4(196742), // Rule ID 13291 //
69623 /* 196724 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69624 /* 196727 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69625 /* 196731 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69626 /* 196735 */ // (abs:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1) => (VPABSDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1)
69627 /* 196735 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSDZ128rr),
69628 /* 196740 */ GIR_RootConstrainSelectedInstOperands,
69629 /* 196741 */ // GIR_Coverage, 13291,
69630 /* 196741 */ GIR_Done,
69631 /* 196742 */ // Label 4389: @196742
69632 /* 196742 */ GIM_Reject,
69633 /* 196743 */ // Label 4384: @196743
69634 /* 196743 */ GIM_Reject,
69635 /* 196744 */ // Label 4369: @196744
69636 /* 196744 */ GIM_Try, /*On fail goto*//*Label 4390*/ GIMT_Encode4(196931),
69637 /* 196749 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
69638 /* 196752 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69639 /* 196756 */ GIM_Try, /*On fail goto*//*Label 4391*/ GIMT_Encode4(196808), // Rule ID 13258 //
69640 /* 196761 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69641 /* 196764 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69642 /* 196768 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69643 /* 196772 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69644 /* 196775 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69645 /* 196779 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69646 /* 196783 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69647 /* 196785 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69648 /* 196792 */ // (abs:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src1)
69649 /* 196792 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSQZ256rm),
69650 /* 196795 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69651 /* 196797 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
69652 /* 196801 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69653 /* 196806 */ GIR_RootConstrainSelectedInstOperands,
69654 /* 196807 */ // GIR_Coverage, 13258,
69655 /* 196807 */ GIR_EraseRootFromParent_Done,
69656 /* 196808 */ // Label 4391: @196808
69657 /* 196808 */ GIM_Try, /*On fail goto*//*Label 4392*/ GIMT_Encode4(196827), // Rule ID 13255 //
69658 /* 196813 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69659 /* 196816 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69660 /* 196820 */ // (abs:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1) => (VPABSQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1)
69661 /* 196820 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSQZ256rr),
69662 /* 196825 */ GIR_RootConstrainSelectedInstOperands,
69663 /* 196826 */ // GIR_Coverage, 13255,
69664 /* 196826 */ GIR_Done,
69665 /* 196827 */ // Label 4392: @196827
69666 /* 196827 */ GIM_Try, /*On fail goto*//*Label 4393*/ GIMT_Encode4(196930), // Rule ID 21823 //
69667 /* 196832 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
69668 /* 196835 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69669 /* 196839 */ // (abs:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src) => (EXTRACT_SUBREG:{ *:[v4i64] } (VPABSQZrr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR256X:{ *:[v4i64] }:$src, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
69670 /* 196839 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
69671 /* 196842 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
69672 /* 196846 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
69673 /* 196851 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
69674 /* 196853 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
69675 /* 196856 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
69676 /* 196860 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
69677 /* 196865 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
69678 /* 196868 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
69679 /* 196872 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/12,
69680 /* 196875 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
69681 /* 196880 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69682 /* 196885 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
69683 /* 196890 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
69684 /* 196893 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPABSQZrr),
69685 /* 196897 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
69686 /* 196902 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
69687 /* 196905 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
69688 /* 196907 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69689 /* 196910 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69690 /* 196912 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
69691 /* 196919 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69692 /* 196924 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69693 /* 196929 */ // GIR_Coverage, 21823,
69694 /* 196929 */ GIR_EraseRootFromParent_Done,
69695 /* 196930 */ // Label 4393: @196930
69696 /* 196930 */ GIM_Reject,
69697 /* 196931 */ // Label 4390: @196931
69698 /* 196931 */ GIM_Reject,
69699 /* 196932 */ // Label 4370: @196932
69700 /* 196932 */ GIM_Try, /*On fail goto*//*Label 4394*/ GIMT_Encode4(197122),
69701 /* 196937 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
69702 /* 196940 */ GIM_Try, /*On fail goto*//*Label 4395*/ GIMT_Encode4(196996), // Rule ID 2993 //
69703 /* 196945 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
69704 /* 196948 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69705 /* 196952 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69706 /* 196956 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69707 /* 196960 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69708 /* 196963 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69709 /* 196967 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69710 /* 196971 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69711 /* 196973 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69712 /* 196980 */ // (abs:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSWrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
69713 /* 196980 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSWrm),
69714 /* 196983 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69715 /* 196985 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
69716 /* 196989 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69717 /* 196994 */ GIR_RootConstrainSelectedInstOperands,
69718 /* 196995 */ // GIR_Coverage, 2993,
69719 /* 196995 */ GIR_EraseRootFromParent_Done,
69720 /* 196996 */ // Label 4395: @196996
69721 /* 196996 */ GIM_Try, /*On fail goto*//*Label 4396*/ GIMT_Encode4(197052), // Rule ID 13315 //
69722 /* 197001 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
69723 /* 197004 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69724 /* 197008 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69725 /* 197012 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69726 /* 197016 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69727 /* 197019 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69728 /* 197023 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69729 /* 197027 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69730 /* 197029 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69731 /* 197036 */ // (abs:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSWZ128rm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src1)
69732 /* 197036 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSWZ128rm),
69733 /* 197039 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69734 /* 197041 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
69735 /* 197045 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69736 /* 197050 */ GIR_RootConstrainSelectedInstOperands,
69737 /* 197051 */ // GIR_Coverage, 13315,
69738 /* 197051 */ GIR_EraseRootFromParent_Done,
69739 /* 197052 */ // Label 4396: @197052
69740 /* 197052 */ GIM_Try, /*On fail goto*//*Label 4397*/ GIMT_Encode4(197075), // Rule ID 2992 //
69741 /* 197057 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
69742 /* 197060 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69743 /* 197064 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69744 /* 197068 */ // (abs:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src) => (VPABSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src)
69745 /* 197068 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSWrr),
69746 /* 197073 */ GIR_RootConstrainSelectedInstOperands,
69747 /* 197074 */ // GIR_Coverage, 2992,
69748 /* 197074 */ GIR_Done,
69749 /* 197075 */ // Label 4397: @197075
69750 /* 197075 */ GIM_Try, /*On fail goto*//*Label 4398*/ GIMT_Encode4(197098), // Rule ID 3004 //
69751 /* 197080 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSSE3),
69752 /* 197083 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69753 /* 197087 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69754 /* 197091 */ // (abs:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src) => (PABSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src)
69755 /* 197091 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PABSWrr),
69756 /* 197096 */ GIR_RootConstrainSelectedInstOperands,
69757 /* 197097 */ // GIR_Coverage, 3004,
69758 /* 197097 */ GIR_Done,
69759 /* 197098 */ // Label 4398: @197098
69760 /* 197098 */ GIM_Try, /*On fail goto*//*Label 4399*/ GIMT_Encode4(197121), // Rule ID 13312 //
69761 /* 197103 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
69762 /* 197106 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69763 /* 197110 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69764 /* 197114 */ // (abs:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1) => (VPABSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1)
69765 /* 197114 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSWZ128rr),
69766 /* 197119 */ GIR_RootConstrainSelectedInstOperands,
69767 /* 197120 */ // GIR_Coverage, 13312,
69768 /* 197120 */ GIR_Done,
69769 /* 197121 */ // Label 4399: @197121
69770 /* 197121 */ GIM_Reject,
69771 /* 197122 */ // Label 4394: @197122
69772 /* 197122 */ GIM_Reject,
69773 /* 197123 */ // Label 4371: @197123
69774 /* 197123 */ GIM_Try, /*On fail goto*//*Label 4400*/ GIMT_Encode4(197290),
69775 /* 197128 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
69776 /* 197131 */ GIM_Try, /*On fail goto*//*Label 4401*/ GIMT_Encode4(197187), // Rule ID 3001 //
69777 /* 197136 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
69778 /* 197139 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69779 /* 197143 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69780 /* 197147 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69781 /* 197151 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69782 /* 197154 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69783 /* 197158 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69784 /* 197162 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69785 /* 197164 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69786 /* 197171 */ // (abs:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSDYrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
69787 /* 197171 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSDYrm),
69788 /* 197174 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69789 /* 197176 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
69790 /* 197180 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69791 /* 197185 */ GIR_RootConstrainSelectedInstOperands,
69792 /* 197186 */ // GIR_Coverage, 3001,
69793 /* 197186 */ GIR_EraseRootFromParent_Done,
69794 /* 197187 */ // Label 4401: @197187
69795 /* 197187 */ GIM_Try, /*On fail goto*//*Label 4402*/ GIMT_Encode4(197243), // Rule ID 13285 //
69796 /* 197192 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69797 /* 197195 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69798 /* 197199 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69799 /* 197203 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69800 /* 197207 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69801 /* 197210 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69802 /* 197214 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69803 /* 197218 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69804 /* 197220 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69805 /* 197227 */ // (abs:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSDZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src1)
69806 /* 197227 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSDZ256rm),
69807 /* 197230 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69808 /* 197232 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
69809 /* 197236 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69810 /* 197241 */ GIR_RootConstrainSelectedInstOperands,
69811 /* 197242 */ // GIR_Coverage, 13285,
69812 /* 197242 */ GIR_EraseRootFromParent_Done,
69813 /* 197243 */ // Label 4402: @197243
69814 /* 197243 */ GIM_Try, /*On fail goto*//*Label 4403*/ GIMT_Encode4(197266), // Rule ID 3000 //
69815 /* 197248 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
69816 /* 197251 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69817 /* 197255 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69818 /* 197259 */ // (abs:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src) => (VPABSDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src)
69819 /* 197259 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSDYrr),
69820 /* 197264 */ GIR_RootConstrainSelectedInstOperands,
69821 /* 197265 */ // GIR_Coverage, 3000,
69822 /* 197265 */ GIR_Done,
69823 /* 197266 */ // Label 4403: @197266
69824 /* 197266 */ GIM_Try, /*On fail goto*//*Label 4404*/ GIMT_Encode4(197289), // Rule ID 13282 //
69825 /* 197271 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69826 /* 197274 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69827 /* 197278 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69828 /* 197282 */ // (abs:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1) => (VPABSDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1)
69829 /* 197282 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSDZ256rr),
69830 /* 197287 */ GIR_RootConstrainSelectedInstOperands,
69831 /* 197288 */ // GIR_Coverage, 13282,
69832 /* 197288 */ GIR_Done,
69833 /* 197289 */ // Label 4404: @197289
69834 /* 197289 */ GIM_Reject,
69835 /* 197290 */ // Label 4400: @197290
69836 /* 197290 */ GIM_Reject,
69837 /* 197291 */ // Label 4372: @197291
69838 /* 197291 */ GIM_Try, /*On fail goto*//*Label 4405*/ GIMT_Encode4(197375),
69839 /* 197296 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
69840 /* 197299 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69841 /* 197303 */ GIM_Try, /*On fail goto*//*Label 4406*/ GIMT_Encode4(197355), // Rule ID 13249 //
69842 /* 197308 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
69843 /* 197311 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69844 /* 197315 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69845 /* 197319 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69846 /* 197322 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69847 /* 197326 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69848 /* 197330 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69849 /* 197332 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69850 /* 197339 */ // (abs:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src1)
69851 /* 197339 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSQZrm),
69852 /* 197342 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69853 /* 197344 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
69854 /* 197348 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69855 /* 197353 */ GIR_RootConstrainSelectedInstOperands,
69856 /* 197354 */ // GIR_Coverage, 13249,
69857 /* 197354 */ GIR_EraseRootFromParent_Done,
69858 /* 197355 */ // Label 4406: @197355
69859 /* 197355 */ GIM_Try, /*On fail goto*//*Label 4407*/ GIMT_Encode4(197374), // Rule ID 13246 //
69860 /* 197360 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
69861 /* 197363 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69862 /* 197367 */ // (abs:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1) => (VPABSQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1)
69863 /* 197367 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSQZrr),
69864 /* 197372 */ GIR_RootConstrainSelectedInstOperands,
69865 /* 197373 */ // GIR_Coverage, 13246,
69866 /* 197373 */ GIR_Done,
69867 /* 197374 */ // Label 4407: @197374
69868 /* 197374 */ GIM_Reject,
69869 /* 197375 */ // Label 4405: @197375
69870 /* 197375 */ GIM_Reject,
69871 /* 197376 */ // Label 4373: @197376
69872 /* 197376 */ GIM_Try, /*On fail goto*//*Label 4408*/ GIMT_Encode4(197566),
69873 /* 197381 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
69874 /* 197384 */ GIM_Try, /*On fail goto*//*Label 4409*/ GIMT_Encode4(197440), // Rule ID 2991 //
69875 /* 197389 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
69876 /* 197392 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69877 /* 197396 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69878 /* 197400 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69879 /* 197404 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69880 /* 197407 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69881 /* 197411 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69882 /* 197415 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69883 /* 197417 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69884 /* 197424 */ // (abs:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSBrm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
69885 /* 197424 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSBrm),
69886 /* 197427 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69887 /* 197429 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
69888 /* 197433 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69889 /* 197438 */ GIR_RootConstrainSelectedInstOperands,
69890 /* 197439 */ // GIR_Coverage, 2991,
69891 /* 197439 */ GIR_EraseRootFromParent_Done,
69892 /* 197440 */ // Label 4409: @197440
69893 /* 197440 */ GIM_Try, /*On fail goto*//*Label 4410*/ GIMT_Encode4(197496), // Rule ID 13333 //
69894 /* 197445 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
69895 /* 197448 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69896 /* 197452 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69897 /* 197456 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69898 /* 197460 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69899 /* 197463 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69900 /* 197467 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69901 /* 197471 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69902 /* 197473 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69903 /* 197480 */ // (abs:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSBZ128rm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src1)
69904 /* 197480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSBZ128rm),
69905 /* 197483 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69906 /* 197485 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
69907 /* 197489 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69908 /* 197494 */ GIR_RootConstrainSelectedInstOperands,
69909 /* 197495 */ // GIR_Coverage, 13333,
69910 /* 197495 */ GIR_EraseRootFromParent_Done,
69911 /* 197496 */ // Label 4410: @197496
69912 /* 197496 */ GIM_Try, /*On fail goto*//*Label 4411*/ GIMT_Encode4(197519), // Rule ID 2990 //
69913 /* 197501 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
69914 /* 197504 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69915 /* 197508 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69916 /* 197512 */ // (abs:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src) => (VPABSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src)
69917 /* 197512 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSBrr),
69918 /* 197517 */ GIR_RootConstrainSelectedInstOperands,
69919 /* 197518 */ // GIR_Coverage, 2990,
69920 /* 197518 */ GIR_Done,
69921 /* 197519 */ // Label 4411: @197519
69922 /* 197519 */ GIM_Try, /*On fail goto*//*Label 4412*/ GIMT_Encode4(197542), // Rule ID 3002 //
69923 /* 197524 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSSE3),
69924 /* 197527 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69925 /* 197531 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69926 /* 197535 */ // (abs:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src) => (PABSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src)
69927 /* 197535 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PABSBrr),
69928 /* 197540 */ GIR_RootConstrainSelectedInstOperands,
69929 /* 197541 */ // GIR_Coverage, 3002,
69930 /* 197541 */ GIR_Done,
69931 /* 197542 */ // Label 4412: @197542
69932 /* 197542 */ GIM_Try, /*On fail goto*//*Label 4413*/ GIMT_Encode4(197565), // Rule ID 13330 //
69933 /* 197547 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
69934 /* 197550 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69935 /* 197554 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69936 /* 197558 */ // (abs:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1) => (VPABSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1)
69937 /* 197558 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSBZ128rr),
69938 /* 197563 */ GIR_RootConstrainSelectedInstOperands,
69939 /* 197564 */ // GIR_Coverage, 13330,
69940 /* 197564 */ GIR_Done,
69941 /* 197565 */ // Label 4413: @197565
69942 /* 197565 */ GIM_Reject,
69943 /* 197566 */ // Label 4408: @197566
69944 /* 197566 */ GIM_Reject,
69945 /* 197567 */ // Label 4374: @197567
69946 /* 197567 */ GIM_Try, /*On fail goto*//*Label 4414*/ GIMT_Encode4(197734),
69947 /* 197572 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
69948 /* 197575 */ GIM_Try, /*On fail goto*//*Label 4415*/ GIMT_Encode4(197631), // Rule ID 2999 //
69949 /* 197580 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
69950 /* 197583 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69951 /* 197587 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69952 /* 197591 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69953 /* 197595 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69954 /* 197598 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69955 /* 197602 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69956 /* 197606 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69957 /* 197608 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69958 /* 197615 */ // (abs:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSWYrm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
69959 /* 197615 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSWYrm),
69960 /* 197618 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69961 /* 197620 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
69962 /* 197624 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69963 /* 197629 */ GIR_RootConstrainSelectedInstOperands,
69964 /* 197630 */ // GIR_Coverage, 2999,
69965 /* 197630 */ GIR_EraseRootFromParent_Done,
69966 /* 197631 */ // Label 4415: @197631
69967 /* 197631 */ GIM_Try, /*On fail goto*//*Label 4416*/ GIMT_Encode4(197687), // Rule ID 13309 //
69968 /* 197636 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
69969 /* 197639 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69970 /* 197643 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69971 /* 197647 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69972 /* 197651 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69973 /* 197654 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69974 /* 197658 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69975 /* 197662 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69976 /* 197664 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69977 /* 197671 */ // (abs:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSWZ256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src1)
69978 /* 197671 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSWZ256rm),
69979 /* 197674 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69980 /* 197676 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
69981 /* 197680 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69982 /* 197685 */ GIR_RootConstrainSelectedInstOperands,
69983 /* 197686 */ // GIR_Coverage, 13309,
69984 /* 197686 */ GIR_EraseRootFromParent_Done,
69985 /* 197687 */ // Label 4416: @197687
69986 /* 197687 */ GIM_Try, /*On fail goto*//*Label 4417*/ GIMT_Encode4(197710), // Rule ID 2998 //
69987 /* 197692 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
69988 /* 197695 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69989 /* 197699 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69990 /* 197703 */ // (abs:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src) => (VPABSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src)
69991 /* 197703 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSWYrr),
69992 /* 197708 */ GIR_RootConstrainSelectedInstOperands,
69993 /* 197709 */ // GIR_Coverage, 2998,
69994 /* 197709 */ GIR_Done,
69995 /* 197710 */ // Label 4417: @197710
69996 /* 197710 */ GIM_Try, /*On fail goto*//*Label 4418*/ GIMT_Encode4(197733), // Rule ID 13306 //
69997 /* 197715 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
69998 /* 197718 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69999 /* 197722 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70000 /* 197726 */ // (abs:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1) => (VPABSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1)
70001 /* 197726 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSWZ256rr),
70002 /* 197731 */ GIR_RootConstrainSelectedInstOperands,
70003 /* 197732 */ // GIR_Coverage, 13306,
70004 /* 197732 */ GIR_Done,
70005 /* 197733 */ // Label 4418: @197733
70006 /* 197733 */ GIM_Reject,
70007 /* 197734 */ // Label 4414: @197734
70008 /* 197734 */ GIM_Reject,
70009 /* 197735 */ // Label 4375: @197735
70010 /* 197735 */ GIM_Try, /*On fail goto*//*Label 4419*/ GIMT_Encode4(197819),
70011 /* 197740 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
70012 /* 197743 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70013 /* 197747 */ GIM_Try, /*On fail goto*//*Label 4420*/ GIMT_Encode4(197799), // Rule ID 13276 //
70014 /* 197752 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
70015 /* 197755 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70016 /* 197759 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70017 /* 197763 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70018 /* 197766 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70019 /* 197770 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70020 /* 197774 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70021 /* 197776 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70022 /* 197783 */ // (abs:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src1)
70023 /* 197783 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSDZrm),
70024 /* 197786 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70025 /* 197788 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
70026 /* 197792 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70027 /* 197797 */ GIR_RootConstrainSelectedInstOperands,
70028 /* 197798 */ // GIR_Coverage, 13276,
70029 /* 197798 */ GIR_EraseRootFromParent_Done,
70030 /* 197799 */ // Label 4420: @197799
70031 /* 197799 */ GIM_Try, /*On fail goto*//*Label 4421*/ GIMT_Encode4(197818), // Rule ID 13273 //
70032 /* 197804 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
70033 /* 197807 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70034 /* 197811 */ // (abs:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1) => (VPABSDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1)
70035 /* 197811 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSDZrr),
70036 /* 197816 */ GIR_RootConstrainSelectedInstOperands,
70037 /* 197817 */ // GIR_Coverage, 13273,
70038 /* 197817 */ GIR_Done,
70039 /* 197818 */ // Label 4421: @197818
70040 /* 197818 */ GIM_Reject,
70041 /* 197819 */ // Label 4419: @197819
70042 /* 197819 */ GIM_Reject,
70043 /* 197820 */ // Label 4376: @197820
70044 /* 197820 */ GIM_Try, /*On fail goto*//*Label 4422*/ GIMT_Encode4(197987),
70045 /* 197825 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
70046 /* 197828 */ GIM_Try, /*On fail goto*//*Label 4423*/ GIMT_Encode4(197884), // Rule ID 2997 //
70047 /* 197833 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
70048 /* 197836 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
70049 /* 197840 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70050 /* 197844 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70051 /* 197848 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70052 /* 197851 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70053 /* 197855 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70054 /* 197859 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70055 /* 197861 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70056 /* 197868 */ // (abs:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSBYrm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
70057 /* 197868 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSBYrm),
70058 /* 197871 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70059 /* 197873 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
70060 /* 197877 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70061 /* 197882 */ GIR_RootConstrainSelectedInstOperands,
70062 /* 197883 */ // GIR_Coverage, 2997,
70063 /* 197883 */ GIR_EraseRootFromParent_Done,
70064 /* 197884 */ // Label 4423: @197884
70065 /* 197884 */ GIM_Try, /*On fail goto*//*Label 4424*/ GIMT_Encode4(197940), // Rule ID 13327 //
70066 /* 197889 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
70067 /* 197892 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70068 /* 197896 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70069 /* 197900 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70070 /* 197904 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70071 /* 197907 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70072 /* 197911 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70073 /* 197915 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70074 /* 197917 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70075 /* 197924 */ // (abs:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSBZ256rm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src1)
70076 /* 197924 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSBZ256rm),
70077 /* 197927 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70078 /* 197929 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
70079 /* 197933 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70080 /* 197938 */ GIR_RootConstrainSelectedInstOperands,
70081 /* 197939 */ // GIR_Coverage, 13327,
70082 /* 197939 */ GIR_EraseRootFromParent_Done,
70083 /* 197940 */ // Label 4424: @197940
70084 /* 197940 */ GIM_Try, /*On fail goto*//*Label 4425*/ GIMT_Encode4(197963), // Rule ID 2996 //
70085 /* 197945 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
70086 /* 197948 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
70087 /* 197952 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
70088 /* 197956 */ // (abs:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src) => (VPABSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src)
70089 /* 197956 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSBYrr),
70090 /* 197961 */ GIR_RootConstrainSelectedInstOperands,
70091 /* 197962 */ // GIR_Coverage, 2996,
70092 /* 197962 */ GIR_Done,
70093 /* 197963 */ // Label 4425: @197963
70094 /* 197963 */ GIM_Try, /*On fail goto*//*Label 4426*/ GIMT_Encode4(197986), // Rule ID 13324 //
70095 /* 197968 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
70096 /* 197971 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70097 /* 197975 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70098 /* 197979 */ // (abs:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1) => (VPABSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1)
70099 /* 197979 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSBZ256rr),
70100 /* 197984 */ GIR_RootConstrainSelectedInstOperands,
70101 /* 197985 */ // GIR_Coverage, 13324,
70102 /* 197985 */ GIR_Done,
70103 /* 197986 */ // Label 4426: @197986
70104 /* 197986 */ GIM_Reject,
70105 /* 197987 */ // Label 4422: @197987
70106 /* 197987 */ GIM_Reject,
70107 /* 197988 */ // Label 4377: @197988
70108 /* 197988 */ GIM_Try, /*On fail goto*//*Label 4427*/ GIMT_Encode4(198072),
70109 /* 197993 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
70110 /* 197996 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70111 /* 198000 */ GIM_Try, /*On fail goto*//*Label 4428*/ GIMT_Encode4(198052), // Rule ID 13303 //
70112 /* 198005 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
70113 /* 198008 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70114 /* 198012 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70115 /* 198016 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70116 /* 198019 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70117 /* 198023 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70118 /* 198027 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70119 /* 198029 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70120 /* 198036 */ // (abs:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSWZrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src1)
70121 /* 198036 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSWZrm),
70122 /* 198039 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70123 /* 198041 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
70124 /* 198045 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70125 /* 198050 */ GIR_RootConstrainSelectedInstOperands,
70126 /* 198051 */ // GIR_Coverage, 13303,
70127 /* 198051 */ GIR_EraseRootFromParent_Done,
70128 /* 198052 */ // Label 4428: @198052
70129 /* 198052 */ GIM_Try, /*On fail goto*//*Label 4429*/ GIMT_Encode4(198071), // Rule ID 13300 //
70130 /* 198057 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
70131 /* 198060 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70132 /* 198064 */ // (abs:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1) => (VPABSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1)
70133 /* 198064 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSWZrr),
70134 /* 198069 */ GIR_RootConstrainSelectedInstOperands,
70135 /* 198070 */ // GIR_Coverage, 13300,
70136 /* 198070 */ GIR_Done,
70137 /* 198071 */ // Label 4429: @198071
70138 /* 198071 */ GIM_Reject,
70139 /* 198072 */ // Label 4427: @198072
70140 /* 198072 */ GIM_Reject,
70141 /* 198073 */ // Label 4378: @198073
70142 /* 198073 */ GIM_Try, /*On fail goto*//*Label 4430*/ GIMT_Encode4(198157),
70143 /* 198078 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
70144 /* 198081 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70145 /* 198085 */ GIM_Try, /*On fail goto*//*Label 4431*/ GIMT_Encode4(198137), // Rule ID 13321 //
70146 /* 198090 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
70147 /* 198093 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70148 /* 198097 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70149 /* 198101 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70150 /* 198104 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70151 /* 198108 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70152 /* 198112 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70153 /* 198114 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70154 /* 198121 */ // (abs:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSBZrm:{ *:[v64i8] } addr:{ *:[iPTR] }:$src1)
70155 /* 198121 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSBZrm),
70156 /* 198124 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70157 /* 198126 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
70158 /* 198130 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70159 /* 198135 */ GIR_RootConstrainSelectedInstOperands,
70160 /* 198136 */ // GIR_Coverage, 13321,
70161 /* 198136 */ GIR_EraseRootFromParent_Done,
70162 /* 198137 */ // Label 4431: @198137
70163 /* 198137 */ GIM_Try, /*On fail goto*//*Label 4432*/ GIMT_Encode4(198156), // Rule ID 13318 //
70164 /* 198142 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
70165 /* 198145 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70166 /* 198149 */ // (abs:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1) => (VPABSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1)
70167 /* 198149 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSBZrr),
70168 /* 198154 */ GIR_RootConstrainSelectedInstOperands,
70169 /* 198155 */ // GIR_Coverage, 13318,
70170 /* 198155 */ GIR_Done,
70171 /* 198156 */ // Label 4432: @198156
70172 /* 198156 */ GIM_Reject,
70173 /* 198157 */ // Label 4430: @198157
70174 /* 198157 */ GIM_Reject,
70175 /* 198158 */ // Label 4379: @198158
70176 /* 198158 */ GIM_Reject,
70177 /* 198159 */ // Label 59: @198159
70178 /* 198159 */ GIM_Try, /*On fail goto*//*Label 4433*/ GIMT_Encode4(198174), // Rule ID 630 //
70179 /* 198164 */ // MIs[0] dst
70180 /* 198164 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/0,
70181 /* 198167 */ // (br (bb:{ *:[Other] }):$dst) => (JMP_1 (bb:{ *:[Other] }):$dst)
70182 /* 198167 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::JMP_1),
70183 /* 198172 */ GIR_RootConstrainSelectedInstOperands,
70184 /* 198173 */ // GIR_Coverage, 630,
70185 /* 198173 */ GIR_Done,
70186 /* 198174 */ // Label 4433: @198174
70187 /* 198174 */ GIM_Reject,
70188 /* 198175 */ // Label 60: @198175
70189 /* 198175 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(22), /*)*//*default:*//*Label 4448*/ GIMT_Encode4(201103),
70190 /* 198186 */ /*GILLT_s1*//*Label 4434*/ GIMT_Encode4(198274), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
70191 /* 198214 */ /*GILLT_v2s1*//*Label 4435*/ GIMT_Encode4(198515),
70192 /* 198218 */ /*GILLT_v2s64*//*Label 4436*/ GIMT_Encode4(198716),
70193 /* 198222 */ /*GILLT_v4s1*//*Label 4437*/ GIMT_Encode4(199197),
70194 /* 198226 */ /*GILLT_v4s32*//*Label 4438*/ GIMT_Encode4(199358),
70195 /* 198230 */ /*GILLT_v4s64*//*Label 4439*/ GIMT_Encode4(199839),
70196 /* 198234 */ /*GILLT_v8s1*//*Label 4440*/ GIMT_Encode4(199922),
70197 /* 198238 */ /*GILLT_v8s16*//*Label 4441*/ GIMT_Encode4(200043),
70198 /* 198242 */ /*GILLT_v8s32*//*Label 4442*/ GIMT_Encode4(200524), GIMT_Encode4(0),
70199 /* 198250 */ /*GILLT_v16s1*//*Label 4443*/ GIMT_Encode4(200607),
70200 /* 198254 */ /*GILLT_v16s8*//*Label 4444*/ GIMT_Encode4(200688),
70201 /* 198258 */ /*GILLT_v16s16*//*Label 4445*/ GIMT_Encode4(200929), GIMT_Encode4(0),
70202 /* 198266 */ /*GILLT_v32s1*//*Label 4446*/ GIMT_Encode4(201012),
70203 /* 198270 */ /*GILLT_v32s8*//*Label 4447*/ GIMT_Encode4(201053),
70204 /* 198274 */ // Label 4434: @198274
70205 /* 198274 */ GIM_Try, /*On fail goto*//*Label 4449*/ GIMT_Encode4(198314), // Rule ID 19602 //
70206 /* 198279 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s1,
70207 /* 198282 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
70208 /* 198286 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
70209 /* 198290 */ // MIs[0] Operand 2
70210 /* 198290 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70211 /* 198301 */ // (extract_subvector:{ *:[v1i1] } VK2:{ *:[v2i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } VK2:{ *:[v2i1] }:$src, VK1:{ *:[i32] })
70212 /* 198301 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70213 /* 198304 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70214 /* 198306 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70215 /* 198308 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
70216 /* 198313 */ // GIR_Coverage, 19602,
70217 /* 198313 */ GIR_EraseRootFromParent_Done,
70218 /* 198314 */ // Label 4449: @198314
70219 /* 198314 */ GIM_Try, /*On fail goto*//*Label 4450*/ GIMT_Encode4(198354), // Rule ID 19604 //
70220 /* 198319 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
70221 /* 198322 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
70222 /* 198326 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
70223 /* 198330 */ // MIs[0] Operand 2
70224 /* 198330 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70225 /* 198341 */ // (extract_subvector:{ *:[v1i1] } VK4:{ *:[v4i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } VK4:{ *:[v4i1] }:$src, VK1:{ *:[i32] })
70226 /* 198341 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70227 /* 198344 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70228 /* 198346 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70229 /* 198348 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
70230 /* 198353 */ // GIR_Coverage, 19604,
70231 /* 198353 */ GIR_EraseRootFromParent_Done,
70232 /* 198354 */ // Label 4450: @198354
70233 /* 198354 */ GIM_Try, /*On fail goto*//*Label 4451*/ GIMT_Encode4(198394), // Rule ID 19606 //
70234 /* 198359 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
70235 /* 198362 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
70236 /* 198366 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
70237 /* 198370 */ // MIs[0] Operand 2
70238 /* 198370 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70239 /* 198381 */ // (extract_subvector:{ *:[v1i1] } VK8:{ *:[v8i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } VK8:{ *:[v8i1] }:$src, VK1:{ *:[i32] })
70240 /* 198381 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70241 /* 198384 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70242 /* 198386 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70243 /* 198388 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
70244 /* 198393 */ // GIR_Coverage, 19606,
70245 /* 198393 */ GIR_EraseRootFromParent_Done,
70246 /* 198394 */ // Label 4451: @198394
70247 /* 198394 */ GIM_Try, /*On fail goto*//*Label 4452*/ GIMT_Encode4(198434), // Rule ID 19608 //
70248 /* 198399 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
70249 /* 198402 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
70250 /* 198406 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
70251 /* 198410 */ // MIs[0] Operand 2
70252 /* 198410 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70253 /* 198421 */ // (extract_subvector:{ *:[v1i1] } VK16:{ *:[v16i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } VK16:{ *:[v16i1] }:$src, VK1:{ *:[i32] })
70254 /* 198421 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70255 /* 198424 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70256 /* 198426 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70257 /* 198428 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
70258 /* 198433 */ // GIR_Coverage, 19608,
70259 /* 198433 */ GIR_EraseRootFromParent_Done,
70260 /* 198434 */ // Label 4452: @198434
70261 /* 198434 */ GIM_Try, /*On fail goto*//*Label 4453*/ GIMT_Encode4(198474), // Rule ID 19610 //
70262 /* 198439 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
70263 /* 198442 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
70264 /* 198446 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
70265 /* 198450 */ // MIs[0] Operand 2
70266 /* 198450 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70267 /* 198461 */ // (extract_subvector:{ *:[v1i1] } VK32:{ *:[v32i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } VK32:{ *:[v32i1] }:$src, VK1:{ *:[i32] })
70268 /* 198461 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70269 /* 198464 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70270 /* 198466 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70271 /* 198468 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
70272 /* 198473 */ // GIR_Coverage, 19610,
70273 /* 198473 */ GIR_EraseRootFromParent_Done,
70274 /* 198474 */ // Label 4453: @198474
70275 /* 198474 */ GIM_Try, /*On fail goto*//*Label 4454*/ GIMT_Encode4(198514), // Rule ID 19612 //
70276 /* 198479 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
70277 /* 198482 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
70278 /* 198486 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
70279 /* 198490 */ // MIs[0] Operand 2
70280 /* 198490 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70281 /* 198501 */ // (extract_subvector:{ *:[v1i1] } VK64:{ *:[v64i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } VK64:{ *:[v64i1] }:$src, VK1:{ *:[i32] })
70282 /* 198501 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70283 /* 198504 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70284 /* 198506 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70285 /* 198508 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
70286 /* 198513 */ // GIR_Coverage, 19612,
70287 /* 198513 */ GIR_EraseRootFromParent_Done,
70288 /* 198514 */ // Label 4454: @198514
70289 /* 198514 */ GIM_Reject,
70290 /* 198515 */ // Label 4435: @198515
70291 /* 198515 */ GIM_Try, /*On fail goto*//*Label 4455*/ GIMT_Encode4(198555), // Rule ID 19614 //
70292 /* 198520 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
70293 /* 198523 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
70294 /* 198527 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
70295 /* 198531 */ // MIs[0] Operand 2
70296 /* 198531 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70297 /* 198542 */ // (extract_subvector:{ *:[v2i1] } VK4:{ *:[v4i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v2i1] } VK4:{ *:[v4i1] }:$src, VK2:{ *:[i32] })
70298 /* 198542 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70299 /* 198545 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70300 /* 198547 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70301 /* 198549 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
70302 /* 198554 */ // GIR_Coverage, 19614,
70303 /* 198554 */ GIR_EraseRootFromParent_Done,
70304 /* 198555 */ // Label 4455: @198555
70305 /* 198555 */ GIM_Try, /*On fail goto*//*Label 4456*/ GIMT_Encode4(198595), // Rule ID 19616 //
70306 /* 198560 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
70307 /* 198563 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
70308 /* 198567 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
70309 /* 198571 */ // MIs[0] Operand 2
70310 /* 198571 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70311 /* 198582 */ // (extract_subvector:{ *:[v2i1] } VK8:{ *:[v8i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v2i1] } VK8:{ *:[v8i1] }:$src, VK2:{ *:[i32] })
70312 /* 198582 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70313 /* 198585 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70314 /* 198587 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70315 /* 198589 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
70316 /* 198594 */ // GIR_Coverage, 19616,
70317 /* 198594 */ GIR_EraseRootFromParent_Done,
70318 /* 198595 */ // Label 4456: @198595
70319 /* 198595 */ GIM_Try, /*On fail goto*//*Label 4457*/ GIMT_Encode4(198635), // Rule ID 19618 //
70320 /* 198600 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
70321 /* 198603 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
70322 /* 198607 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
70323 /* 198611 */ // MIs[0] Operand 2
70324 /* 198611 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70325 /* 198622 */ // (extract_subvector:{ *:[v2i1] } VK16:{ *:[v16i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v2i1] } VK16:{ *:[v16i1] }:$src, VK2:{ *:[i32] })
70326 /* 198622 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70327 /* 198625 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70328 /* 198627 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70329 /* 198629 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
70330 /* 198634 */ // GIR_Coverage, 19618,
70331 /* 198634 */ GIR_EraseRootFromParent_Done,
70332 /* 198635 */ // Label 4457: @198635
70333 /* 198635 */ GIM_Try, /*On fail goto*//*Label 4458*/ GIMT_Encode4(198675), // Rule ID 19620 //
70334 /* 198640 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
70335 /* 198643 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
70336 /* 198647 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
70337 /* 198651 */ // MIs[0] Operand 2
70338 /* 198651 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70339 /* 198662 */ // (extract_subvector:{ *:[v2i1] } VK32:{ *:[v32i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v2i1] } VK32:{ *:[v32i1] }:$src, VK2:{ *:[i32] })
70340 /* 198662 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70341 /* 198665 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70342 /* 198667 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70343 /* 198669 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
70344 /* 198674 */ // GIR_Coverage, 19620,
70345 /* 198674 */ GIR_EraseRootFromParent_Done,
70346 /* 198675 */ // Label 4458: @198675
70347 /* 198675 */ GIM_Try, /*On fail goto*//*Label 4459*/ GIMT_Encode4(198715), // Rule ID 19622 //
70348 /* 198680 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
70349 /* 198683 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
70350 /* 198687 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
70351 /* 198691 */ // MIs[0] Operand 2
70352 /* 198691 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70353 /* 198702 */ // (extract_subvector:{ *:[v2i1] } VK64:{ *:[v64i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v2i1] } VK64:{ *:[v64i1] }:$src, VK2:{ *:[i32] })
70354 /* 198702 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70355 /* 198705 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70356 /* 198707 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70357 /* 198709 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
70358 /* 198714 */ // GIR_Coverage, 19622,
70359 /* 198714 */ GIR_EraseRootFromParent_Done,
70360 /* 198715 */ // Label 4459: @198715
70361 /* 198715 */ GIM_Reject,
70362 /* 198716 */ // Label 4436: @198716
70363 /* 198716 */ GIM_Try, /*On fail goto*//*Label 4460*/ GIMT_Encode4(198787), // Rule ID 19053 //
70364 /* 198721 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEVEX512_NoVLX),
70365 /* 198724 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
70366 /* 198727 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
70367 /* 198731 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70368 /* 198735 */ // MIs[0] Operand 2
70369 /* 198735 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(2),
70370 /* 198746 */ // (extract_subvector:{ *:[v2i64] } VR512:{ *:[v8i64] }:$src, 2:{ *:[iPTR] }) => (VEXTRACTI128rri:{ *:[v2i64] } (EXTRACT_SUBREG:{ *:[v4i64] } VR512:{ *:[v8i64] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
70371 /* 198746 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s64,
70372 /* 198749 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70373 /* 198753 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
70374 /* 198758 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(12), // src
70375 /* 198764 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70376 /* 198769 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70377 /* 198774 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI128rri),
70378 /* 198777 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70379 /* 198779 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70380 /* 198782 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
70381 /* 198785 */ GIR_RootConstrainSelectedInstOperands,
70382 /* 198786 */ // GIR_Coverage, 19053,
70383 /* 198786 */ GIR_EraseRootFromParent_Done,
70384 /* 198787 */ // Label 4460: @198787
70385 /* 198787 */ GIM_Try, /*On fail goto*//*Label 4461*/ GIMT_Encode4(198858), // Rule ID 19054 //
70386 /* 198792 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEVEX512_NoVLX),
70387 /* 198795 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
70388 /* 198798 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
70389 /* 198802 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70390 /* 198806 */ // MIs[0] Operand 2
70391 /* 198806 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(2),
70392 /* 198817 */ // (extract_subvector:{ *:[v2f64] } VR512:{ *:[v8f64] }:$src, 2:{ *:[iPTR] }) => (VEXTRACTF128rri:{ *:[v2f64] } (EXTRACT_SUBREG:{ *:[v4f64] } VR512:{ *:[v8f64] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
70393 /* 198817 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s64,
70394 /* 198820 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70395 /* 198824 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
70396 /* 198829 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(12), // src
70397 /* 198835 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70398 /* 198840 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70399 /* 198845 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTF128rri),
70400 /* 198848 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70401 /* 198850 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70402 /* 198853 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
70403 /* 198856 */ GIR_RootConstrainSelectedInstOperands,
70404 /* 198857 */ // GIR_Coverage, 19054,
70405 /* 198857 */ GIR_EraseRootFromParent_Done,
70406 /* 198858 */ // Label 4461: @198858
70407 /* 198858 */ GIM_Try, /*On fail goto*//*Label 4462*/ GIMT_Encode4(198929), // Rule ID 19060 //
70408 /* 198863 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
70409 /* 198866 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
70410 /* 198869 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70411 /* 198873 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70412 /* 198877 */ // MIs[0] Operand 2
70413 /* 198877 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(2),
70414 /* 198888 */ // (extract_subvector:{ *:[v2i64] } VR512:{ *:[v8i64] }:$src, 2:{ *:[iPTR] }) => (VEXTRACTI32X4Z256rri:{ *:[v2i64] } (EXTRACT_SUBREG:{ *:[v4i64] } VR512:{ *:[v8i64] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
70415 /* 198888 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s64,
70416 /* 198891 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70417 /* 198895 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
70418 /* 198900 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(12), // src
70419 /* 198906 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70420 /* 198911 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70421 /* 198916 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI32X4Z256rri),
70422 /* 198919 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70423 /* 198921 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70424 /* 198924 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
70425 /* 198927 */ GIR_RootConstrainSelectedInstOperands,
70426 /* 198928 */ // GIR_Coverage, 19060,
70427 /* 198928 */ GIR_EraseRootFromParent_Done,
70428 /* 198929 */ // Label 4462: @198929
70429 /* 198929 */ GIM_Try, /*On fail goto*//*Label 4463*/ GIMT_Encode4(199000), // Rule ID 19061 //
70430 /* 198934 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
70431 /* 198937 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
70432 /* 198940 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70433 /* 198944 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70434 /* 198948 */ // MIs[0] Operand 2
70435 /* 198948 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(2),
70436 /* 198959 */ // (extract_subvector:{ *:[v2f64] } VR512:{ *:[v8f64] }:$src, 2:{ *:[iPTR] }) => (VEXTRACTF32X4Z256rri:{ *:[v2f64] } (EXTRACT_SUBREG:{ *:[v4f64] } VR512:{ *:[v8f64] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
70437 /* 198959 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s64,
70438 /* 198962 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70439 /* 198966 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
70440 /* 198971 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(12), // src
70441 /* 198977 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70442 /* 198982 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70443 /* 198987 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTF32X4Z256rri),
70444 /* 198990 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70445 /* 198992 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70446 /* 198995 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
70447 /* 198998 */ GIR_RootConstrainSelectedInstOperands,
70448 /* 198999 */ // GIR_Coverage, 19061,
70449 /* 198999 */ GIR_EraseRootFromParent_Done,
70450 /* 199000 */ // Label 4463: @199000
70451 /* 199000 */ GIM_Try, /*On fail goto*//*Label 4464*/ GIMT_Encode4(199049), // Rule ID 23007 //
70452 /* 199005 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
70453 /* 199008 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
70454 /* 199012 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
70455 /* 199016 */ // MIs[0] Operand 2
70456 /* 199016 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70457 /* 199027 */ // (extract_subvector:{ *:[v2i64] } VR256:{ *:[v4i64] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v2i64] } VR256:{ *:[v4i64] }:$src, sub_xmm:{ *:[i32] })
70458 /* 199027 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70459 /* 199030 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70460 /* 199032 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(11), // src
70461 /* 199038 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
70462 /* 199043 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
70463 /* 199048 */ // GIR_Coverage, 23007,
70464 /* 199048 */ GIR_EraseRootFromParent_Done,
70465 /* 199049 */ // Label 4464: @199049
70466 /* 199049 */ GIM_Try, /*On fail goto*//*Label 4465*/ GIMT_Encode4(199098), // Rule ID 23010 //
70467 /* 199054 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
70468 /* 199057 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
70469 /* 199061 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
70470 /* 199065 */ // MIs[0] Operand 2
70471 /* 199065 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70472 /* 199076 */ // (extract_subvector:{ *:[v2f64] } VR256:{ *:[v4f64] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v2f64] } VR256:{ *:[v4f64] }:$src, sub_xmm:{ *:[i32] })
70473 /* 199076 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70474 /* 199079 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70475 /* 199081 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(11), // src
70476 /* 199087 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
70477 /* 199092 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
70478 /* 199097 */ // GIR_Coverage, 23010,
70479 /* 199097 */ GIR_EraseRootFromParent_Done,
70480 /* 199098 */ // Label 4465: @199098
70481 /* 199098 */ GIM_Try, /*On fail goto*//*Label 4466*/ GIMT_Encode4(199147), // Rule ID 23028 //
70482 /* 199103 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
70483 /* 199106 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
70484 /* 199110 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70485 /* 199114 */ // MIs[0] Operand 2
70486 /* 199114 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70487 /* 199125 */ // (extract_subvector:{ *:[v2i64] } VR512:{ *:[v8i64] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v2i64] } VR512:{ *:[v8i64] }:$src, sub_xmm:{ *:[i32] })
70488 /* 199125 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70489 /* 199128 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70490 /* 199130 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(11), // src
70491 /* 199136 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
70492 /* 199141 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70493 /* 199146 */ // GIR_Coverage, 23028,
70494 /* 199146 */ GIR_EraseRootFromParent_Done,
70495 /* 199147 */ // Label 4466: @199147
70496 /* 199147 */ GIM_Try, /*On fail goto*//*Label 4467*/ GIMT_Encode4(199196), // Rule ID 23031 //
70497 /* 199152 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
70498 /* 199155 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
70499 /* 199159 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70500 /* 199163 */ // MIs[0] Operand 2
70501 /* 199163 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70502 /* 199174 */ // (extract_subvector:{ *:[v2f64] } VR512:{ *:[v8f64] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v2f64] } VR512:{ *:[v8f64] }:$src, sub_xmm:{ *:[i32] })
70503 /* 199174 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70504 /* 199177 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70505 /* 199179 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(11), // src
70506 /* 199185 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
70507 /* 199190 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70508 /* 199195 */ // GIR_Coverage, 23031,
70509 /* 199195 */ GIR_EraseRootFromParent_Done,
70510 /* 199196 */ // Label 4467: @199196
70511 /* 199196 */ GIM_Reject,
70512 /* 199197 */ // Label 4437: @199197
70513 /* 199197 */ GIM_Try, /*On fail goto*//*Label 4468*/ GIMT_Encode4(199237), // Rule ID 19624 //
70514 /* 199202 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
70515 /* 199205 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
70516 /* 199209 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
70517 /* 199213 */ // MIs[0] Operand 2
70518 /* 199213 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70519 /* 199224 */ // (extract_subvector:{ *:[v4i1] } VK8:{ *:[v8i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v4i1] } VK8:{ *:[v8i1] }:$src, VK4:{ *:[i32] })
70520 /* 199224 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70521 /* 199227 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70522 /* 199229 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70523 /* 199231 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
70524 /* 199236 */ // GIR_Coverage, 19624,
70525 /* 199236 */ GIR_EraseRootFromParent_Done,
70526 /* 199237 */ // Label 4468: @199237
70527 /* 199237 */ GIM_Try, /*On fail goto*//*Label 4469*/ GIMT_Encode4(199277), // Rule ID 19626 //
70528 /* 199242 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
70529 /* 199245 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
70530 /* 199249 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
70531 /* 199253 */ // MIs[0] Operand 2
70532 /* 199253 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70533 /* 199264 */ // (extract_subvector:{ *:[v4i1] } VK16:{ *:[v16i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v4i1] } VK16:{ *:[v16i1] }:$src, VK4:{ *:[i32] })
70534 /* 199264 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70535 /* 199267 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70536 /* 199269 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70537 /* 199271 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
70538 /* 199276 */ // GIR_Coverage, 19626,
70539 /* 199276 */ GIR_EraseRootFromParent_Done,
70540 /* 199277 */ // Label 4469: @199277
70541 /* 199277 */ GIM_Try, /*On fail goto*//*Label 4470*/ GIMT_Encode4(199317), // Rule ID 19628 //
70542 /* 199282 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
70543 /* 199285 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
70544 /* 199289 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
70545 /* 199293 */ // MIs[0] Operand 2
70546 /* 199293 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70547 /* 199304 */ // (extract_subvector:{ *:[v4i1] } VK32:{ *:[v32i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v4i1] } VK32:{ *:[v32i1] }:$src, VK4:{ *:[i32] })
70548 /* 199304 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70549 /* 199307 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70550 /* 199309 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70551 /* 199311 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
70552 /* 199316 */ // GIR_Coverage, 19628,
70553 /* 199316 */ GIR_EraseRootFromParent_Done,
70554 /* 199317 */ // Label 4470: @199317
70555 /* 199317 */ GIM_Try, /*On fail goto*//*Label 4471*/ GIMT_Encode4(199357), // Rule ID 19630 //
70556 /* 199322 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
70557 /* 199325 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
70558 /* 199329 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
70559 /* 199333 */ // MIs[0] Operand 2
70560 /* 199333 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70561 /* 199344 */ // (extract_subvector:{ *:[v4i1] } VK64:{ *:[v64i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v4i1] } VK64:{ *:[v64i1] }:$src, VK4:{ *:[i32] })
70562 /* 199344 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70563 /* 199347 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70564 /* 199349 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70565 /* 199351 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
70566 /* 199356 */ // GIR_Coverage, 19630,
70567 /* 199356 */ GIR_EraseRootFromParent_Done,
70568 /* 199357 */ // Label 4471: @199357
70569 /* 199357 */ GIM_Reject,
70570 /* 199358 */ // Label 4438: @199358
70571 /* 199358 */ GIM_Try, /*On fail goto*//*Label 4472*/ GIMT_Encode4(199429), // Rule ID 19055 //
70572 /* 199363 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEVEX512_NoVLX),
70573 /* 199366 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
70574 /* 199369 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
70575 /* 199373 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70576 /* 199377 */ // MIs[0] Operand 2
70577 /* 199377 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(4),
70578 /* 199388 */ // (extract_subvector:{ *:[v4i32] } VR512:{ *:[v16i32] }:$src, 4:{ *:[iPTR] }) => (VEXTRACTI128rri:{ *:[v4i32] } (EXTRACT_SUBREG:{ *:[v8i32] } VR512:{ *:[v16i32] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
70579 /* 199388 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s32,
70580 /* 199391 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70581 /* 199395 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
70582 /* 199400 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(12), // src
70583 /* 199406 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70584 /* 199411 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70585 /* 199416 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI128rri),
70586 /* 199419 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70587 /* 199421 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70588 /* 199424 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
70589 /* 199427 */ GIR_RootConstrainSelectedInstOperands,
70590 /* 199428 */ // GIR_Coverage, 19055,
70591 /* 199428 */ GIR_EraseRootFromParent_Done,
70592 /* 199429 */ // Label 4472: @199429
70593 /* 199429 */ GIM_Try, /*On fail goto*//*Label 4473*/ GIMT_Encode4(199500), // Rule ID 19056 //
70594 /* 199434 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEVEX512_NoVLX),
70595 /* 199437 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
70596 /* 199440 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
70597 /* 199444 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70598 /* 199448 */ // MIs[0] Operand 2
70599 /* 199448 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(4),
70600 /* 199459 */ // (extract_subvector:{ *:[v4f32] } VR512:{ *:[v16f32] }:$src, 4:{ *:[iPTR] }) => (VEXTRACTF128rri:{ *:[v4f32] } (EXTRACT_SUBREG:{ *:[v8f32] } VR512:{ *:[v16f32] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
70601 /* 199459 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s32,
70602 /* 199462 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70603 /* 199466 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
70604 /* 199471 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(12), // src
70605 /* 199477 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70606 /* 199482 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70607 /* 199487 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTF128rri),
70608 /* 199490 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70609 /* 199492 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70610 /* 199495 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
70611 /* 199498 */ GIR_RootConstrainSelectedInstOperands,
70612 /* 199499 */ // GIR_Coverage, 19056,
70613 /* 199499 */ GIR_EraseRootFromParent_Done,
70614 /* 199500 */ // Label 4473: @199500
70615 /* 199500 */ GIM_Try, /*On fail goto*//*Label 4474*/ GIMT_Encode4(199571), // Rule ID 19062 //
70616 /* 199505 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
70617 /* 199508 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
70618 /* 199511 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70619 /* 199515 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70620 /* 199519 */ // MIs[0] Operand 2
70621 /* 199519 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(4),
70622 /* 199530 */ // (extract_subvector:{ *:[v4i32] } VR512:{ *:[v16i32] }:$src, 4:{ *:[iPTR] }) => (VEXTRACTI32X4Z256rri:{ *:[v4i32] } (EXTRACT_SUBREG:{ *:[v8i32] } VR512:{ *:[v16i32] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
70623 /* 199530 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s32,
70624 /* 199533 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70625 /* 199537 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
70626 /* 199542 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(12), // src
70627 /* 199548 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70628 /* 199553 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70629 /* 199558 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI32X4Z256rri),
70630 /* 199561 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70631 /* 199563 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70632 /* 199566 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
70633 /* 199569 */ GIR_RootConstrainSelectedInstOperands,
70634 /* 199570 */ // GIR_Coverage, 19062,
70635 /* 199570 */ GIR_EraseRootFromParent_Done,
70636 /* 199571 */ // Label 4474: @199571
70637 /* 199571 */ GIM_Try, /*On fail goto*//*Label 4475*/ GIMT_Encode4(199642), // Rule ID 19063 //
70638 /* 199576 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
70639 /* 199579 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
70640 /* 199582 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70641 /* 199586 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70642 /* 199590 */ // MIs[0] Operand 2
70643 /* 199590 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(4),
70644 /* 199601 */ // (extract_subvector:{ *:[v4f32] } VR512:{ *:[v16f32] }:$src, 4:{ *:[iPTR] }) => (VEXTRACTF32X4Z256rri:{ *:[v4f32] } (EXTRACT_SUBREG:{ *:[v8f32] } VR512:{ *:[v16f32] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
70645 /* 199601 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s32,
70646 /* 199604 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70647 /* 199608 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
70648 /* 199613 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(12), // src
70649 /* 199619 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70650 /* 199624 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70651 /* 199629 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTF32X4Z256rri),
70652 /* 199632 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70653 /* 199634 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70654 /* 199637 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
70655 /* 199640 */ GIR_RootConstrainSelectedInstOperands,
70656 /* 199641 */ // GIR_Coverage, 19063,
70657 /* 199641 */ GIR_EraseRootFromParent_Done,
70658 /* 199642 */ // Label 4475: @199642
70659 /* 199642 */ GIM_Try, /*On fail goto*//*Label 4476*/ GIMT_Encode4(199691), // Rule ID 23001 //
70660 /* 199647 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
70661 /* 199650 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
70662 /* 199654 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
70663 /* 199658 */ // MIs[0] Operand 2
70664 /* 199658 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70665 /* 199669 */ // (extract_subvector:{ *:[v4i32] } VR256:{ *:[v8i32] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v4i32] } VR256:{ *:[v8i32] }:$src, sub_xmm:{ *:[i32] })
70666 /* 199669 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70667 /* 199672 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70668 /* 199674 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(11), // src
70669 /* 199680 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
70670 /* 199685 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
70671 /* 199690 */ // GIR_Coverage, 23001,
70672 /* 199690 */ GIR_EraseRootFromParent_Done,
70673 /* 199691 */ // Label 4476: @199691
70674 /* 199691 */ GIM_Try, /*On fail goto*//*Label 4477*/ GIMT_Encode4(199740), // Rule ID 23004 //
70675 /* 199696 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
70676 /* 199699 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
70677 /* 199703 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
70678 /* 199707 */ // MIs[0] Operand 2
70679 /* 199707 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70680 /* 199718 */ // (extract_subvector:{ *:[v4f32] } VR256:{ *:[v8f32] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v4f32] } VR256:{ *:[v8f32] }:$src, sub_xmm:{ *:[i32] })
70681 /* 199718 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70682 /* 199721 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70683 /* 199723 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(11), // src
70684 /* 199729 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
70685 /* 199734 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
70686 /* 199739 */ // GIR_Coverage, 23004,
70687 /* 199739 */ GIR_EraseRootFromParent_Done,
70688 /* 199740 */ // Label 4477: @199740
70689 /* 199740 */ GIM_Try, /*On fail goto*//*Label 4478*/ GIMT_Encode4(199789), // Rule ID 23022 //
70690 /* 199745 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
70691 /* 199748 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
70692 /* 199752 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70693 /* 199756 */ // MIs[0] Operand 2
70694 /* 199756 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70695 /* 199767 */ // (extract_subvector:{ *:[v4i32] } VR512:{ *:[v16i32] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v4i32] } VR512:{ *:[v16i32] }:$src, sub_xmm:{ *:[i32] })
70696 /* 199767 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70697 /* 199770 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70698 /* 199772 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(11), // src
70699 /* 199778 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
70700 /* 199783 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70701 /* 199788 */ // GIR_Coverage, 23022,
70702 /* 199788 */ GIR_EraseRootFromParent_Done,
70703 /* 199789 */ // Label 4478: @199789
70704 /* 199789 */ GIM_Try, /*On fail goto*//*Label 4479*/ GIMT_Encode4(199838), // Rule ID 23025 //
70705 /* 199794 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
70706 /* 199797 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
70707 /* 199801 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70708 /* 199805 */ // MIs[0] Operand 2
70709 /* 199805 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70710 /* 199816 */ // (extract_subvector:{ *:[v4f32] } VR512:{ *:[v16f32] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v4f32] } VR512:{ *:[v16f32] }:$src, sub_xmm:{ *:[i32] })
70711 /* 199816 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70712 /* 199819 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70713 /* 199821 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(11), // src
70714 /* 199827 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
70715 /* 199832 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70716 /* 199837 */ // GIR_Coverage, 23025,
70717 /* 199837 */ GIR_EraseRootFromParent_Done,
70718 /* 199838 */ // Label 4479: @199838
70719 /* 199838 */ GIM_Reject,
70720 /* 199839 */ // Label 4439: @199839
70721 /* 199839 */ GIM_Try, /*On fail goto*//*Label 4480*/ GIMT_Encode4(199921),
70722 /* 199844 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
70723 /* 199847 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70724 /* 199851 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70725 /* 199855 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70726 /* 199866 */ GIM_Try, /*On fail goto*//*Label 4481*/ GIMT_Encode4(199893), // Rule ID 23049 //
70727 /* 199871 */ // (extract_subvector:{ *:[v4i64] } VR512:{ *:[v8i64] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v4i64] } VR512:{ *:[v8i64] }:$src, sub_ymm:{ *:[i32] })
70728 /* 199871 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70729 /* 199874 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70730 /* 199876 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(12), // src
70731 /* 199882 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70732 /* 199887 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70733 /* 199892 */ // GIR_Coverage, 23049,
70734 /* 199892 */ GIR_EraseRootFromParent_Done,
70735 /* 199893 */ // Label 4481: @199893
70736 /* 199893 */ GIM_Try, /*On fail goto*//*Label 4482*/ GIMT_Encode4(199920), // Rule ID 23052 //
70737 /* 199898 */ // (extract_subvector:{ *:[v4f64] } VR512:{ *:[v8f64] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v4f64] } VR512:{ *:[v8f64] }:$src, sub_ymm:{ *:[i32] })
70738 /* 199898 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70739 /* 199901 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70740 /* 199903 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(12), // src
70741 /* 199909 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70742 /* 199914 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70743 /* 199919 */ // GIR_Coverage, 23052,
70744 /* 199919 */ GIR_EraseRootFromParent_Done,
70745 /* 199920 */ // Label 4482: @199920
70746 /* 199920 */ GIM_Reject,
70747 /* 199921 */ // Label 4480: @199921
70748 /* 199921 */ GIM_Reject,
70749 /* 199922 */ // Label 4440: @199922
70750 /* 199922 */ GIM_Try, /*On fail goto*//*Label 4483*/ GIMT_Encode4(199962), // Rule ID 19632 //
70751 /* 199927 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
70752 /* 199930 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
70753 /* 199934 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
70754 /* 199938 */ // MIs[0] Operand 2
70755 /* 199938 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70756 /* 199949 */ // (extract_subvector:{ *:[v8i1] } VK16:{ *:[v16i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v8i1] } VK16:{ *:[v16i1] }:$src, VK8:{ *:[i32] })
70757 /* 199949 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70758 /* 199952 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70759 /* 199954 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70760 /* 199956 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
70761 /* 199961 */ // GIR_Coverage, 19632,
70762 /* 199961 */ GIR_EraseRootFromParent_Done,
70763 /* 199962 */ // Label 4483: @199962
70764 /* 199962 */ GIM_Try, /*On fail goto*//*Label 4484*/ GIMT_Encode4(200002), // Rule ID 19634 //
70765 /* 199967 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
70766 /* 199970 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
70767 /* 199974 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
70768 /* 199978 */ // MIs[0] Operand 2
70769 /* 199978 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70770 /* 199989 */ // (extract_subvector:{ *:[v8i1] } VK32:{ *:[v32i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v8i1] } VK32:{ *:[v32i1] }:$src, VK8:{ *:[i32] })
70771 /* 199989 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70772 /* 199992 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70773 /* 199994 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70774 /* 199996 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
70775 /* 200001 */ // GIR_Coverage, 19634,
70776 /* 200001 */ GIR_EraseRootFromParent_Done,
70777 /* 200002 */ // Label 4484: @200002
70778 /* 200002 */ GIM_Try, /*On fail goto*//*Label 4485*/ GIMT_Encode4(200042), // Rule ID 19636 //
70779 /* 200007 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
70780 /* 200010 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
70781 /* 200014 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
70782 /* 200018 */ // MIs[0] Operand 2
70783 /* 200018 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70784 /* 200029 */ // (extract_subvector:{ *:[v8i1] } VK64:{ *:[v64i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v8i1] } VK64:{ *:[v64i1] }:$src, VK8:{ *:[i32] })
70785 /* 200029 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70786 /* 200032 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70787 /* 200034 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70788 /* 200036 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
70789 /* 200041 */ // GIR_Coverage, 19636,
70790 /* 200041 */ GIR_EraseRootFromParent_Done,
70791 /* 200042 */ // Label 4485: @200042
70792 /* 200042 */ GIM_Reject,
70793 /* 200043 */ // Label 4441: @200043
70794 /* 200043 */ GIM_Try, /*On fail goto*//*Label 4486*/ GIMT_Encode4(200114), // Rule ID 19057 //
70795 /* 200048 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEVEX512_NoVLX),
70796 /* 200051 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
70797 /* 200054 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
70798 /* 200058 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70799 /* 200062 */ // MIs[0] Operand 2
70800 /* 200062 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(8),
70801 /* 200073 */ // (extract_subvector:{ *:[v8i16] } VR512:{ *:[v32i16] }:$src, 8:{ *:[iPTR] }) => (VEXTRACTI128rri:{ *:[v8i16] } (EXTRACT_SUBREG:{ *:[v16i16] } VR512:{ *:[v32i16] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
70802 /* 200073 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s16,
70803 /* 200076 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70804 /* 200080 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
70805 /* 200085 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(12), // src
70806 /* 200091 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70807 /* 200096 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70808 /* 200101 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI128rri),
70809 /* 200104 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70810 /* 200106 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70811 /* 200109 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
70812 /* 200112 */ GIR_RootConstrainSelectedInstOperands,
70813 /* 200113 */ // GIR_Coverage, 19057,
70814 /* 200113 */ GIR_EraseRootFromParent_Done,
70815 /* 200114 */ // Label 4486: @200114
70816 /* 200114 */ GIM_Try, /*On fail goto*//*Label 4487*/ GIMT_Encode4(200185), // Rule ID 19058 //
70817 /* 200119 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEVEX512_NoVLX),
70818 /* 200122 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
70819 /* 200125 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
70820 /* 200129 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70821 /* 200133 */ // MIs[0] Operand 2
70822 /* 200133 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(8),
70823 /* 200144 */ // (extract_subvector:{ *:[v8f16] } VR512:{ *:[v32f16] }:$src, 8:{ *:[iPTR] }) => (VEXTRACTF128rri:{ *:[v8f16] } (EXTRACT_SUBREG:{ *:[v16f16] } VR512:{ *:[v32f16] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
70824 /* 200144 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s16,
70825 /* 200147 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70826 /* 200151 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
70827 /* 200156 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(12), // src
70828 /* 200162 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70829 /* 200167 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70830 /* 200172 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTF128rri),
70831 /* 200175 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70832 /* 200177 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70833 /* 200180 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
70834 /* 200183 */ GIR_RootConstrainSelectedInstOperands,
70835 /* 200184 */ // GIR_Coverage, 19058,
70836 /* 200184 */ GIR_EraseRootFromParent_Done,
70837 /* 200185 */ // Label 4487: @200185
70838 /* 200185 */ GIM_Try, /*On fail goto*//*Label 4488*/ GIMT_Encode4(200256), // Rule ID 19064 //
70839 /* 200190 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
70840 /* 200193 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
70841 /* 200196 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70842 /* 200200 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70843 /* 200204 */ // MIs[0] Operand 2
70844 /* 200204 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(8),
70845 /* 200215 */ // (extract_subvector:{ *:[v8i16] } VR512:{ *:[v32i16] }:$src, 8:{ *:[iPTR] }) => (VEXTRACTI32X4Z256rri:{ *:[v8i16] } (EXTRACT_SUBREG:{ *:[v16i16] } VR512:{ *:[v32i16] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
70846 /* 200215 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s16,
70847 /* 200218 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70848 /* 200222 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
70849 /* 200227 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(12), // src
70850 /* 200233 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70851 /* 200238 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70852 /* 200243 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI32X4Z256rri),
70853 /* 200246 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70854 /* 200248 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70855 /* 200251 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
70856 /* 200254 */ GIR_RootConstrainSelectedInstOperands,
70857 /* 200255 */ // GIR_Coverage, 19064,
70858 /* 200255 */ GIR_EraseRootFromParent_Done,
70859 /* 200256 */ // Label 4488: @200256
70860 /* 200256 */ GIM_Try, /*On fail goto*//*Label 4489*/ GIMT_Encode4(200327), // Rule ID 19065 //
70861 /* 200261 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
70862 /* 200264 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
70863 /* 200267 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70864 /* 200271 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70865 /* 200275 */ // MIs[0] Operand 2
70866 /* 200275 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(8),
70867 /* 200286 */ // (extract_subvector:{ *:[v8f16] } VR512:{ *:[v32f16] }:$src, 8:{ *:[iPTR] }) => (VEXTRACTF32X4Z256rri:{ *:[v8f16] } (EXTRACT_SUBREG:{ *:[v16f16] } VR512:{ *:[v32f16] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
70868 /* 200286 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s16,
70869 /* 200289 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70870 /* 200293 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
70871 /* 200298 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(12), // src
70872 /* 200304 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70873 /* 200309 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70874 /* 200314 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTF32X4Z256rri),
70875 /* 200317 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70876 /* 200319 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70877 /* 200322 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
70878 /* 200325 */ GIR_RootConstrainSelectedInstOperands,
70879 /* 200326 */ // GIR_Coverage, 19065,
70880 /* 200326 */ GIR_EraseRootFromParent_Done,
70881 /* 200327 */ // Label 4489: @200327
70882 /* 200327 */ GIM_Try, /*On fail goto*//*Label 4490*/ GIMT_Encode4(200376), // Rule ID 23013 //
70883 /* 200332 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
70884 /* 200335 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
70885 /* 200339 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
70886 /* 200343 */ // MIs[0] Operand 2
70887 /* 200343 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70888 /* 200354 */ // (extract_subvector:{ *:[v8i16] } VR256:{ *:[v16i16] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v8i16] } VR256:{ *:[v16i16] }:$src, sub_xmm:{ *:[i32] })
70889 /* 200354 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70890 /* 200357 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70891 /* 200359 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(11), // src
70892 /* 200365 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
70893 /* 200370 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
70894 /* 200375 */ // GIR_Coverage, 23013,
70895 /* 200375 */ GIR_EraseRootFromParent_Done,
70896 /* 200376 */ // Label 4490: @200376
70897 /* 200376 */ GIM_Try, /*On fail goto*//*Label 4491*/ GIMT_Encode4(200425), // Rule ID 23019 //
70898 /* 200381 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
70899 /* 200384 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
70900 /* 200388 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
70901 /* 200392 */ // MIs[0] Operand 2
70902 /* 200392 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70903 /* 200403 */ // (extract_subvector:{ *:[v8f16] } VR256:{ *:[v16f16] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v8f16] } VR256:{ *:[v16f16] }:$src, sub_xmm:{ *:[i32] })
70904 /* 200403 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70905 /* 200406 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70906 /* 200408 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(11), // src
70907 /* 200414 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
70908 /* 200419 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
70909 /* 200424 */ // GIR_Coverage, 23019,
70910 /* 200424 */ GIR_EraseRootFromParent_Done,
70911 /* 200425 */ // Label 4491: @200425
70912 /* 200425 */ GIM_Try, /*On fail goto*//*Label 4492*/ GIMT_Encode4(200474), // Rule ID 23034 //
70913 /* 200430 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
70914 /* 200433 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
70915 /* 200437 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70916 /* 200441 */ // MIs[0] Operand 2
70917 /* 200441 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70918 /* 200452 */ // (extract_subvector:{ *:[v8i16] } VR512:{ *:[v32i16] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v8i16] } VR512:{ *:[v32i16] }:$src, sub_xmm:{ *:[i32] })
70919 /* 200452 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70920 /* 200455 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70921 /* 200457 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(11), // src
70922 /* 200463 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
70923 /* 200468 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70924 /* 200473 */ // GIR_Coverage, 23034,
70925 /* 200473 */ GIR_EraseRootFromParent_Done,
70926 /* 200474 */ // Label 4492: @200474
70927 /* 200474 */ GIM_Try, /*On fail goto*//*Label 4493*/ GIMT_Encode4(200523), // Rule ID 23040 //
70928 /* 200479 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
70929 /* 200482 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
70930 /* 200486 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70931 /* 200490 */ // MIs[0] Operand 2
70932 /* 200490 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70933 /* 200501 */ // (extract_subvector:{ *:[v8f16] } VR512:{ *:[v32f16] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v8f16] } VR512:{ *:[v32f16] }:$src, sub_xmm:{ *:[i32] })
70934 /* 200501 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70935 /* 200504 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70936 /* 200506 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(11), // src
70937 /* 200512 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
70938 /* 200517 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70939 /* 200522 */ // GIR_Coverage, 23040,
70940 /* 200522 */ GIR_EraseRootFromParent_Done,
70941 /* 200523 */ // Label 4493: @200523
70942 /* 200523 */ GIM_Reject,
70943 /* 200524 */ // Label 4442: @200524
70944 /* 200524 */ GIM_Try, /*On fail goto*//*Label 4494*/ GIMT_Encode4(200606),
70945 /* 200529 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
70946 /* 200532 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70947 /* 200536 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70948 /* 200540 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70949 /* 200551 */ GIM_Try, /*On fail goto*//*Label 4495*/ GIMT_Encode4(200578), // Rule ID 23043 //
70950 /* 200556 */ // (extract_subvector:{ *:[v8i32] } VR512:{ *:[v16i32] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v8i32] } VR512:{ *:[v16i32] }:$src, sub_ymm:{ *:[i32] })
70951 /* 200556 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70952 /* 200559 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70953 /* 200561 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(12), // src
70954 /* 200567 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70955 /* 200572 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70956 /* 200577 */ // GIR_Coverage, 23043,
70957 /* 200577 */ GIR_EraseRootFromParent_Done,
70958 /* 200578 */ // Label 4495: @200578
70959 /* 200578 */ GIM_Try, /*On fail goto*//*Label 4496*/ GIMT_Encode4(200605), // Rule ID 23046 //
70960 /* 200583 */ // (extract_subvector:{ *:[v8f32] } VR512:{ *:[v16f32] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v8f32] } VR512:{ *:[v16f32] }:$src, sub_ymm:{ *:[i32] })
70961 /* 200583 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70962 /* 200586 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70963 /* 200588 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(12), // src
70964 /* 200594 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70965 /* 200599 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70966 /* 200604 */ // GIR_Coverage, 23046,
70967 /* 200604 */ GIR_EraseRootFromParent_Done,
70968 /* 200605 */ // Label 4496: @200605
70969 /* 200605 */ GIM_Reject,
70970 /* 200606 */ // Label 4494: @200606
70971 /* 200606 */ GIM_Reject,
70972 /* 200607 */ // Label 4443: @200607
70973 /* 200607 */ GIM_Try, /*On fail goto*//*Label 4497*/ GIMT_Encode4(200647), // Rule ID 19638 //
70974 /* 200612 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
70975 /* 200615 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
70976 /* 200619 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
70977 /* 200623 */ // MIs[0] Operand 2
70978 /* 200623 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70979 /* 200634 */ // (extract_subvector:{ *:[v16i1] } VK32:{ *:[v32i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v16i1] } VK32:{ *:[v32i1] }:$src, VK16:{ *:[i32] })
70980 /* 200634 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70981 /* 200637 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70982 /* 200639 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70983 /* 200641 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
70984 /* 200646 */ // GIR_Coverage, 19638,
70985 /* 200646 */ GIR_EraseRootFromParent_Done,
70986 /* 200647 */ // Label 4497: @200647
70987 /* 200647 */ GIM_Try, /*On fail goto*//*Label 4498*/ GIMT_Encode4(200687), // Rule ID 19640 //
70988 /* 200652 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
70989 /* 200655 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
70990 /* 200659 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
70991 /* 200663 */ // MIs[0] Operand 2
70992 /* 200663 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70993 /* 200674 */ // (extract_subvector:{ *:[v16i1] } VK64:{ *:[v64i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v16i1] } VK64:{ *:[v64i1] }:$src, VK16:{ *:[i32] })
70994 /* 200674 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70995 /* 200677 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70996 /* 200679 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70997 /* 200681 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
70998 /* 200686 */ // GIR_Coverage, 19640,
70999 /* 200686 */ GIR_EraseRootFromParent_Done,
71000 /* 200687 */ // Label 4498: @200687
71001 /* 200687 */ GIM_Reject,
71002 /* 200688 */ // Label 4444: @200688
71003 /* 200688 */ GIM_Try, /*On fail goto*//*Label 4499*/ GIMT_Encode4(200759), // Rule ID 19059 //
71004 /* 200693 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEVEX512_NoVLX),
71005 /* 200696 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
71006 /* 200699 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
71007 /* 200703 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71008 /* 200707 */ // MIs[0] Operand 2
71009 /* 200707 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(16),
71010 /* 200718 */ // (extract_subvector:{ *:[v16i8] } VR512:{ *:[v64i8] }:$src, 16:{ *:[iPTR] }) => (VEXTRACTI128rri:{ *:[v16i8] } (EXTRACT_SUBREG:{ *:[v32i8] } VR512:{ *:[v64i8] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
71011 /* 200718 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s8,
71012 /* 200721 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71013 /* 200725 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
71014 /* 200730 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(12), // src
71015 /* 200736 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
71016 /* 200741 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71017 /* 200746 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI128rri),
71018 /* 200749 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71019 /* 200751 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
71020 /* 200754 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
71021 /* 200757 */ GIR_RootConstrainSelectedInstOperands,
71022 /* 200758 */ // GIR_Coverage, 19059,
71023 /* 200758 */ GIR_EraseRootFromParent_Done,
71024 /* 200759 */ // Label 4499: @200759
71025 /* 200759 */ GIM_Try, /*On fail goto*//*Label 4500*/ GIMT_Encode4(200830), // Rule ID 19066 //
71026 /* 200764 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
71027 /* 200767 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
71028 /* 200770 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71029 /* 200774 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71030 /* 200778 */ // MIs[0] Operand 2
71031 /* 200778 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(16),
71032 /* 200789 */ // (extract_subvector:{ *:[v16i8] } VR512:{ *:[v64i8] }:$src, 16:{ *:[iPTR] }) => (VEXTRACTI32X4Z256rri:{ *:[v16i8] } (EXTRACT_SUBREG:{ *:[v32i8] } VR512:{ *:[v64i8] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
71033 /* 200789 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s8,
71034 /* 200792 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71035 /* 200796 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
71036 /* 200801 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(12), // src
71037 /* 200807 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
71038 /* 200812 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71039 /* 200817 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI32X4Z256rri),
71040 /* 200820 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71041 /* 200822 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
71042 /* 200825 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
71043 /* 200828 */ GIR_RootConstrainSelectedInstOperands,
71044 /* 200829 */ // GIR_Coverage, 19066,
71045 /* 200829 */ GIR_EraseRootFromParent_Done,
71046 /* 200830 */ // Label 4500: @200830
71047 /* 200830 */ GIM_Try, /*On fail goto*//*Label 4501*/ GIMT_Encode4(200879), // Rule ID 23016 //
71048 /* 200835 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
71049 /* 200838 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
71050 /* 200842 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
71051 /* 200846 */ // MIs[0] Operand 2
71052 /* 200846 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71053 /* 200857 */ // (extract_subvector:{ *:[v16i8] } VR256:{ *:[v32i8] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v16i8] } VR256:{ *:[v32i8] }:$src, sub_xmm:{ *:[i32] })
71054 /* 200857 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71055 /* 200860 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71056 /* 200862 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(11), // src
71057 /* 200868 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
71058 /* 200873 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
71059 /* 200878 */ // GIR_Coverage, 23016,
71060 /* 200878 */ GIR_EraseRootFromParent_Done,
71061 /* 200879 */ // Label 4501: @200879
71062 /* 200879 */ GIM_Try, /*On fail goto*//*Label 4502*/ GIMT_Encode4(200928), // Rule ID 23037 //
71063 /* 200884 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
71064 /* 200887 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
71065 /* 200891 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71066 /* 200895 */ // MIs[0] Operand 2
71067 /* 200895 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71068 /* 200906 */ // (extract_subvector:{ *:[v16i8] } VR512:{ *:[v64i8] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v16i8] } VR512:{ *:[v64i8] }:$src, sub_xmm:{ *:[i32] })
71069 /* 200906 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71070 /* 200909 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71071 /* 200911 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(11), // src
71072 /* 200917 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
71073 /* 200922 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71074 /* 200927 */ // GIR_Coverage, 23037,
71075 /* 200927 */ GIR_EraseRootFromParent_Done,
71076 /* 200928 */ // Label 4502: @200928
71077 /* 200928 */ GIM_Reject,
71078 /* 200929 */ // Label 4445: @200929
71079 /* 200929 */ GIM_Try, /*On fail goto*//*Label 4503*/ GIMT_Encode4(201011),
71080 /* 200934 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
71081 /* 200937 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71082 /* 200941 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71083 /* 200945 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71084 /* 200956 */ GIM_Try, /*On fail goto*//*Label 4504*/ GIMT_Encode4(200983), // Rule ID 23055 //
71085 /* 200961 */ // (extract_subvector:{ *:[v16i16] } VR512:{ *:[v32i16] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v16i16] } VR512:{ *:[v32i16] }:$src, sub_ymm:{ *:[i32] })
71086 /* 200961 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71087 /* 200964 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71088 /* 200966 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(12), // src
71089 /* 200972 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
71090 /* 200977 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71091 /* 200982 */ // GIR_Coverage, 23055,
71092 /* 200982 */ GIR_EraseRootFromParent_Done,
71093 /* 200983 */ // Label 4504: @200983
71094 /* 200983 */ GIM_Try, /*On fail goto*//*Label 4505*/ GIMT_Encode4(201010), // Rule ID 23061 //
71095 /* 200988 */ // (extract_subvector:{ *:[v16f16] } VR512:{ *:[v32f16] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v16f16] } VR512:{ *:[v32f16] }:$src, sub_ymm:{ *:[i32] })
71096 /* 200988 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71097 /* 200991 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71098 /* 200993 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(12), // src
71099 /* 200999 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
71100 /* 201004 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71101 /* 201009 */ // GIR_Coverage, 23061,
71102 /* 201009 */ GIR_EraseRootFromParent_Done,
71103 /* 201010 */ // Label 4505: @201010
71104 /* 201010 */ GIM_Reject,
71105 /* 201011 */ // Label 4503: @201011
71106 /* 201011 */ GIM_Reject,
71107 /* 201012 */ // Label 4446: @201012
71108 /* 201012 */ GIM_Try, /*On fail goto*//*Label 4506*/ GIMT_Encode4(201052), // Rule ID 19642 //
71109 /* 201017 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
71110 /* 201020 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
71111 /* 201024 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
71112 /* 201028 */ // MIs[0] Operand 2
71113 /* 201028 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71114 /* 201039 */ // (extract_subvector:{ *:[v32i1] } VK64:{ *:[v64i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v32i1] } VK64:{ *:[v64i1] }:$src, VK32:{ *:[i32] })
71115 /* 201039 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71116 /* 201042 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71117 /* 201044 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71118 /* 201046 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK32RegClassID),
71119 /* 201051 */ // GIR_Coverage, 19642,
71120 /* 201051 */ GIR_EraseRootFromParent_Done,
71121 /* 201052 */ // Label 4506: @201052
71122 /* 201052 */ GIM_Reject,
71123 /* 201053 */ // Label 4447: @201053
71124 /* 201053 */ GIM_Try, /*On fail goto*//*Label 4507*/ GIMT_Encode4(201102), // Rule ID 23058 //
71125 /* 201058 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
71126 /* 201061 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71127 /* 201065 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71128 /* 201069 */ // MIs[0] Operand 2
71129 /* 201069 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71130 /* 201080 */ // (extract_subvector:{ *:[v32i8] } VR512:{ *:[v64i8] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v32i8] } VR512:{ *:[v64i8] }:$src, sub_ymm:{ *:[i32] })
71131 /* 201080 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71132 /* 201083 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71133 /* 201085 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(12), // src
71134 /* 201091 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
71135 /* 201096 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71136 /* 201101 */ // GIR_Coverage, 23058,
71137 /* 201101 */ GIR_EraseRootFromParent_Done,
71138 /* 201102 */ // Label 4507: @201102
71139 /* 201102 */ GIM_Reject,
71140 /* 201103 */ // Label 4448: @201103
71141 /* 201103 */ GIM_Reject,
71142 /* 201104 */ // Label 61: @201104
71143 /* 201104 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(8), GIMT_Encode2(25), /*)*//*default:*//*Label 4520*/ GIMT_Encode4(203085),
71144 /* 201115 */ /*GILLT_v2s64*//*Label 4508*/ GIMT_Encode4(201183), GIMT_Encode4(0),
71145 /* 201123 */ /*GILLT_v4s32*//*Label 4509*/ GIMT_Encode4(201385),
71146 /* 201127 */ /*GILLT_v4s64*//*Label 4510*/ GIMT_Encode4(201587), GIMT_Encode4(0),
71147 /* 201135 */ /*GILLT_v8s16*//*Label 4511*/ GIMT_Encode4(201789),
71148 /* 201139 */ /*GILLT_v8s32*//*Label 4512*/ GIMT_Encode4(201904),
71149 /* 201143 */ /*GILLT_v8s64*//*Label 4513*/ GIMT_Encode4(202106), GIMT_Encode4(0),
71150 /* 201151 */ /*GILLT_v16s8*//*Label 4514*/ GIMT_Encode4(202308),
71151 /* 201155 */ /*GILLT_v16s16*//*Label 4515*/ GIMT_Encode4(202423),
71152 /* 201159 */ /*GILLT_v16s32*//*Label 4516*/ GIMT_Encode4(202538), GIMT_Encode4(0),
71153 /* 201167 */ /*GILLT_v32s8*//*Label 4517*/ GIMT_Encode4(202740),
71154 /* 201171 */ /*GILLT_v32s16*//*Label 4518*/ GIMT_Encode4(202855), GIMT_Encode4(0),
71155 /* 201179 */ /*GILLT_v64s8*//*Label 4519*/ GIMT_Encode4(202970),
71156 /* 201183 */ // Label 4508: @201183
71157 /* 201183 */ GIM_Try, /*On fail goto*//*Label 4521*/ GIMT_Encode4(201384),
71158 /* 201188 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
71159 /* 201191 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s1,
71160 /* 201194 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
71161 /* 201197 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71162 /* 201201 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71163 /* 201205 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
71164 /* 201209 */ GIM_Try, /*On fail goto*//*Label 4522*/ GIMT_Encode4(201242), // Rule ID 21696 //
71165 /* 201214 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71166 /* 201217 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71167 /* 201221 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71168 /* 201227 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71169 /* 201229 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71170 /* 201231 */ // (vector_compress:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src, VK2WM:{ *:[v2i1] }:$mask, immAllZerosV:{ *:[v2i64] }) => (VPCOMPRESSQZ128rrkz:{ *:[v2i64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src)
71171 /* 201231 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZ128rrkz),
71172 /* 201234 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71173 /* 201236 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71174 /* 201238 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71175 /* 201240 */ GIR_RootConstrainSelectedInstOperands,
71176 /* 201241 */ // GIR_Coverage, 21696,
71177 /* 201241 */ GIR_EraseRootFromParent_Done,
71178 /* 201242 */ // Label 4522: @201242
71179 /* 201242 */ GIM_Try, /*On fail goto*//*Label 4523*/ GIMT_Encode4(201275), // Rule ID 21732 //
71180 /* 201247 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71181 /* 201250 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71182 /* 201254 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71183 /* 201260 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71184 /* 201262 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71185 /* 201264 */ // (vector_compress:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src, VK2WM:{ *:[v2i1] }:$mask, immAllZerosV:{ *:[v2f64] }) => (VCOMPRESSPDZ128rrkz:{ *:[v2f64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src)
71186 /* 201264 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZ128rrkz),
71187 /* 201267 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71188 /* 201269 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71189 /* 201271 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71190 /* 201273 */ GIR_RootConstrainSelectedInstOperands,
71191 /* 201274 */ // GIR_Coverage, 21732,
71192 /* 201274 */ GIR_EraseRootFromParent_Done,
71193 /* 201275 */ // Label 4523: @201275
71194 /* 201275 */ GIM_Try, /*On fail goto*//*Label 4524*/ GIMT_Encode4(201304), // Rule ID 21695 //
71195 /* 201280 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71196 /* 201283 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71197 /* 201287 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71198 /* 201291 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71199 /* 201293 */ // (vector_compress:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src, VK2WM:{ *:[v2i1] }:$mask, (undef:{ *:[v2i64] })) => (VPCOMPRESSQZ128rrkz:{ *:[v2i64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src)
71200 /* 201293 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZ128rrkz),
71201 /* 201296 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71202 /* 201298 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71203 /* 201300 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71204 /* 201302 */ GIR_RootConstrainSelectedInstOperands,
71205 /* 201303 */ // GIR_Coverage, 21695,
71206 /* 201303 */ GIR_EraseRootFromParent_Done,
71207 /* 201304 */ // Label 4524: @201304
71208 /* 201304 */ GIM_Try, /*On fail goto*//*Label 4525*/ GIMT_Encode4(201333), // Rule ID 21731 //
71209 /* 201309 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71210 /* 201312 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71211 /* 201316 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71212 /* 201320 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71213 /* 201322 */ // (vector_compress:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src, VK2WM:{ *:[v2i1] }:$mask, (undef:{ *:[v2f64] })) => (VCOMPRESSPDZ128rrkz:{ *:[v2f64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src)
71214 /* 201322 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZ128rrkz),
71215 /* 201325 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71216 /* 201327 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71217 /* 201329 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71218 /* 201331 */ GIR_RootConstrainSelectedInstOperands,
71219 /* 201332 */ // GIR_Coverage, 21731,
71220 /* 201332 */ GIR_EraseRootFromParent_Done,
71221 /* 201333 */ // Label 4525: @201333
71222 /* 201333 */ GIM_Try, /*On fail goto*//*Label 4526*/ GIMT_Encode4(201358), // Rule ID 21697 //
71223 /* 201338 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71224 /* 201341 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71225 /* 201345 */ // (vector_compress:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src, VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$passthru) => (VPCOMPRESSQZ128rrk:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$passthru, VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src)
71226 /* 201345 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZ128rrk),
71227 /* 201348 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71228 /* 201350 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71229 /* 201352 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71230 /* 201354 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71231 /* 201356 */ GIR_RootConstrainSelectedInstOperands,
71232 /* 201357 */ // GIR_Coverage, 21697,
71233 /* 201357 */ GIR_EraseRootFromParent_Done,
71234 /* 201358 */ // Label 4526: @201358
71235 /* 201358 */ GIM_Try, /*On fail goto*//*Label 4527*/ GIMT_Encode4(201383), // Rule ID 21733 //
71236 /* 201363 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71237 /* 201366 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71238 /* 201370 */ // (vector_compress:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src, VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$passthru) => (VCOMPRESSPDZ128rrk:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$passthru, VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src)
71239 /* 201370 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZ128rrk),
71240 /* 201373 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71241 /* 201375 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71242 /* 201377 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71243 /* 201379 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71244 /* 201381 */ GIR_RootConstrainSelectedInstOperands,
71245 /* 201382 */ // GIR_Coverage, 21733,
71246 /* 201382 */ GIR_EraseRootFromParent_Done,
71247 /* 201383 */ // Label 4527: @201383
71248 /* 201383 */ GIM_Reject,
71249 /* 201384 */ // Label 4521: @201384
71250 /* 201384 */ GIM_Reject,
71251 /* 201385 */ // Label 4509: @201385
71252 /* 201385 */ GIM_Try, /*On fail goto*//*Label 4528*/ GIMT_Encode4(201586),
71253 /* 201390 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
71254 /* 201393 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s1,
71255 /* 201396 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
71256 /* 201399 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71257 /* 201403 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71258 /* 201407 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
71259 /* 201411 */ GIM_Try, /*On fail goto*//*Label 4529*/ GIMT_Encode4(201444), // Rule ID 21678 //
71260 /* 201416 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71261 /* 201419 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71262 /* 201423 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71263 /* 201429 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71264 /* 201431 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71265 /* 201433 */ // (vector_compress:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src, VK4WM:{ *:[v4i1] }:$mask, immAllZerosV:{ *:[v4i32] }) => (VPCOMPRESSDZ128rrkz:{ *:[v4i32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src)
71266 /* 201433 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZ128rrkz),
71267 /* 201436 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71268 /* 201438 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71269 /* 201440 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71270 /* 201442 */ GIR_RootConstrainSelectedInstOperands,
71271 /* 201443 */ // GIR_Coverage, 21678,
71272 /* 201443 */ GIR_EraseRootFromParent_Done,
71273 /* 201444 */ // Label 4529: @201444
71274 /* 201444 */ GIM_Try, /*On fail goto*//*Label 4530*/ GIMT_Encode4(201477), // Rule ID 21714 //
71275 /* 201449 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71276 /* 201452 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71277 /* 201456 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71278 /* 201462 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71279 /* 201464 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71280 /* 201466 */ // (vector_compress:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src, VK4WM:{ *:[v4i1] }:$mask, immAllZerosV:{ *:[v4f32] }) => (VCOMPRESSPSZ128rrkz:{ *:[v4f32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src)
71281 /* 201466 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZ128rrkz),
71282 /* 201469 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71283 /* 201471 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71284 /* 201473 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71285 /* 201475 */ GIR_RootConstrainSelectedInstOperands,
71286 /* 201476 */ // GIR_Coverage, 21714,
71287 /* 201476 */ GIR_EraseRootFromParent_Done,
71288 /* 201477 */ // Label 4530: @201477
71289 /* 201477 */ GIM_Try, /*On fail goto*//*Label 4531*/ GIMT_Encode4(201506), // Rule ID 21677 //
71290 /* 201482 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71291 /* 201485 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71292 /* 201489 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71293 /* 201493 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71294 /* 201495 */ // (vector_compress:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src, VK4WM:{ *:[v4i1] }:$mask, (undef:{ *:[v4i32] })) => (VPCOMPRESSDZ128rrkz:{ *:[v4i32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src)
71295 /* 201495 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZ128rrkz),
71296 /* 201498 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71297 /* 201500 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71298 /* 201502 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71299 /* 201504 */ GIR_RootConstrainSelectedInstOperands,
71300 /* 201505 */ // GIR_Coverage, 21677,
71301 /* 201505 */ GIR_EraseRootFromParent_Done,
71302 /* 201506 */ // Label 4531: @201506
71303 /* 201506 */ GIM_Try, /*On fail goto*//*Label 4532*/ GIMT_Encode4(201535), // Rule ID 21713 //
71304 /* 201511 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71305 /* 201514 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71306 /* 201518 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71307 /* 201522 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71308 /* 201524 */ // (vector_compress:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src, VK4WM:{ *:[v4i1] }:$mask, (undef:{ *:[v4f32] })) => (VCOMPRESSPSZ128rrkz:{ *:[v4f32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src)
71309 /* 201524 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZ128rrkz),
71310 /* 201527 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71311 /* 201529 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71312 /* 201531 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71313 /* 201533 */ GIR_RootConstrainSelectedInstOperands,
71314 /* 201534 */ // GIR_Coverage, 21713,
71315 /* 201534 */ GIR_EraseRootFromParent_Done,
71316 /* 201535 */ // Label 4532: @201535
71317 /* 201535 */ GIM_Try, /*On fail goto*//*Label 4533*/ GIMT_Encode4(201560), // Rule ID 21679 //
71318 /* 201540 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71319 /* 201543 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71320 /* 201547 */ // (vector_compress:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src, VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$passthru) => (VPCOMPRESSDZ128rrk:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$passthru, VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src)
71321 /* 201547 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZ128rrk),
71322 /* 201550 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71323 /* 201552 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71324 /* 201554 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71325 /* 201556 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71326 /* 201558 */ GIR_RootConstrainSelectedInstOperands,
71327 /* 201559 */ // GIR_Coverage, 21679,
71328 /* 201559 */ GIR_EraseRootFromParent_Done,
71329 /* 201560 */ // Label 4533: @201560
71330 /* 201560 */ GIM_Try, /*On fail goto*//*Label 4534*/ GIMT_Encode4(201585), // Rule ID 21715 //
71331 /* 201565 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71332 /* 201568 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71333 /* 201572 */ // (vector_compress:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src, VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$passthru) => (VCOMPRESSPSZ128rrk:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$passthru, VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src)
71334 /* 201572 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZ128rrk),
71335 /* 201575 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71336 /* 201577 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71337 /* 201579 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71338 /* 201581 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71339 /* 201583 */ GIR_RootConstrainSelectedInstOperands,
71340 /* 201584 */ // GIR_Coverage, 21715,
71341 /* 201584 */ GIR_EraseRootFromParent_Done,
71342 /* 201585 */ // Label 4534: @201585
71343 /* 201585 */ GIM_Reject,
71344 /* 201586 */ // Label 4528: @201586
71345 /* 201586 */ GIM_Reject,
71346 /* 201587 */ // Label 4510: @201587
71347 /* 201587 */ GIM_Try, /*On fail goto*//*Label 4535*/ GIMT_Encode4(201788),
71348 /* 201592 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
71349 /* 201595 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s1,
71350 /* 201598 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
71351 /* 201601 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71352 /* 201605 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71353 /* 201609 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
71354 /* 201613 */ GIM_Try, /*On fail goto*//*Label 4536*/ GIMT_Encode4(201646), // Rule ID 21690 //
71355 /* 201618 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71356 /* 201621 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71357 /* 201625 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71358 /* 201631 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71359 /* 201633 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71360 /* 201635 */ // (vector_compress:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src, VK4WM:{ *:[v4i1] }:$mask, immAllZerosV:{ *:[v4i64] }) => (VPCOMPRESSQZ256rrkz:{ *:[v4i64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src)
71361 /* 201635 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZ256rrkz),
71362 /* 201638 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71363 /* 201640 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71364 /* 201642 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71365 /* 201644 */ GIR_RootConstrainSelectedInstOperands,
71366 /* 201645 */ // GIR_Coverage, 21690,
71367 /* 201645 */ GIR_EraseRootFromParent_Done,
71368 /* 201646 */ // Label 4536: @201646
71369 /* 201646 */ GIM_Try, /*On fail goto*//*Label 4537*/ GIMT_Encode4(201679), // Rule ID 21726 //
71370 /* 201651 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71371 /* 201654 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71372 /* 201658 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71373 /* 201664 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71374 /* 201666 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71375 /* 201668 */ // (vector_compress:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src, VK4WM:{ *:[v4i1] }:$mask, immAllZerosV:{ *:[v4f64] }) => (VCOMPRESSPDZ256rrkz:{ *:[v4f64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src)
71376 /* 201668 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZ256rrkz),
71377 /* 201671 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71378 /* 201673 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71379 /* 201675 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71380 /* 201677 */ GIR_RootConstrainSelectedInstOperands,
71381 /* 201678 */ // GIR_Coverage, 21726,
71382 /* 201678 */ GIR_EraseRootFromParent_Done,
71383 /* 201679 */ // Label 4537: @201679
71384 /* 201679 */ GIM_Try, /*On fail goto*//*Label 4538*/ GIMT_Encode4(201708), // Rule ID 21689 //
71385 /* 201684 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71386 /* 201687 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71387 /* 201691 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71388 /* 201695 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71389 /* 201697 */ // (vector_compress:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src, VK4WM:{ *:[v4i1] }:$mask, (undef:{ *:[v4i64] })) => (VPCOMPRESSQZ256rrkz:{ *:[v4i64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src)
71390 /* 201697 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZ256rrkz),
71391 /* 201700 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71392 /* 201702 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71393 /* 201704 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71394 /* 201706 */ GIR_RootConstrainSelectedInstOperands,
71395 /* 201707 */ // GIR_Coverage, 21689,
71396 /* 201707 */ GIR_EraseRootFromParent_Done,
71397 /* 201708 */ // Label 4538: @201708
71398 /* 201708 */ GIM_Try, /*On fail goto*//*Label 4539*/ GIMT_Encode4(201737), // Rule ID 21725 //
71399 /* 201713 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71400 /* 201716 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71401 /* 201720 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71402 /* 201724 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71403 /* 201726 */ // (vector_compress:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src, VK4WM:{ *:[v4i1] }:$mask, (undef:{ *:[v4f64] })) => (VCOMPRESSPDZ256rrkz:{ *:[v4f64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src)
71404 /* 201726 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZ256rrkz),
71405 /* 201729 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71406 /* 201731 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71407 /* 201733 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71408 /* 201735 */ GIR_RootConstrainSelectedInstOperands,
71409 /* 201736 */ // GIR_Coverage, 21725,
71410 /* 201736 */ GIR_EraseRootFromParent_Done,
71411 /* 201737 */ // Label 4539: @201737
71412 /* 201737 */ GIM_Try, /*On fail goto*//*Label 4540*/ GIMT_Encode4(201762), // Rule ID 21691 //
71413 /* 201742 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71414 /* 201745 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71415 /* 201749 */ // (vector_compress:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src, VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$passthru) => (VPCOMPRESSQZ256rrk:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$passthru, VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src)
71416 /* 201749 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZ256rrk),
71417 /* 201752 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71418 /* 201754 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71419 /* 201756 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71420 /* 201758 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71421 /* 201760 */ GIR_RootConstrainSelectedInstOperands,
71422 /* 201761 */ // GIR_Coverage, 21691,
71423 /* 201761 */ GIR_EraseRootFromParent_Done,
71424 /* 201762 */ // Label 4540: @201762
71425 /* 201762 */ GIM_Try, /*On fail goto*//*Label 4541*/ GIMT_Encode4(201787), // Rule ID 21727 //
71426 /* 201767 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71427 /* 201770 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71428 /* 201774 */ // (vector_compress:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src, VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$passthru) => (VCOMPRESSPDZ256rrk:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$passthru, VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src)
71429 /* 201774 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZ256rrk),
71430 /* 201777 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71431 /* 201779 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71432 /* 201781 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71433 /* 201783 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71434 /* 201785 */ GIR_RootConstrainSelectedInstOperands,
71435 /* 201786 */ // GIR_Coverage, 21727,
71436 /* 201786 */ GIR_EraseRootFromParent_Done,
71437 /* 201787 */ // Label 4541: @201787
71438 /* 201787 */ GIM_Reject,
71439 /* 201788 */ // Label 4535: @201788
71440 /* 201788 */ GIM_Reject,
71441 /* 201789 */ // Label 4511: @201789
71442 /* 201789 */ GIM_Try, /*On fail goto*//*Label 4542*/ GIMT_Encode4(201903),
71443 /* 201794 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
71444 /* 201797 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
71445 /* 201800 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
71446 /* 201803 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71447 /* 201807 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71448 /* 201811 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
71449 /* 201815 */ GIM_Try, /*On fail goto*//*Label 4543*/ GIMT_Encode4(201848), // Rule ID 22098 //
71450 /* 201820 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
71451 /* 201823 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71452 /* 201827 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71453 /* 201833 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71454 /* 201835 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71455 /* 201837 */ // (vector_compress:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src, VK8WM:{ *:[v8i1] }:$mask, immAllZerosV:{ *:[v8i16] }) => (VPCOMPRESSWZ128rrkz:{ *:[v8i16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src)
71456 /* 201837 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZ128rrkz),
71457 /* 201840 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71458 /* 201842 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71459 /* 201844 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71460 /* 201846 */ GIR_RootConstrainSelectedInstOperands,
71461 /* 201847 */ // GIR_Coverage, 22098,
71462 /* 201847 */ GIR_EraseRootFromParent_Done,
71463 /* 201848 */ // Label 4543: @201848
71464 /* 201848 */ GIM_Try, /*On fail goto*//*Label 4544*/ GIMT_Encode4(201877), // Rule ID 22097 //
71465 /* 201853 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
71466 /* 201856 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71467 /* 201860 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71468 /* 201864 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71469 /* 201866 */ // (vector_compress:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src, VK8WM:{ *:[v8i1] }:$mask, (undef:{ *:[v8i16] })) => (VPCOMPRESSWZ128rrkz:{ *:[v8i16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src)
71470 /* 201866 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZ128rrkz),
71471 /* 201869 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71472 /* 201871 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71473 /* 201873 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71474 /* 201875 */ GIR_RootConstrainSelectedInstOperands,
71475 /* 201876 */ // GIR_Coverage, 22097,
71476 /* 201876 */ GIR_EraseRootFromParent_Done,
71477 /* 201877 */ // Label 4544: @201877
71478 /* 201877 */ GIM_Try, /*On fail goto*//*Label 4545*/ GIMT_Encode4(201902), // Rule ID 22099 //
71479 /* 201882 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
71480 /* 201885 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71481 /* 201889 */ // (vector_compress:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src, VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$passthru) => (VPCOMPRESSWZ128rrk:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$passthru, VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src)
71482 /* 201889 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZ128rrk),
71483 /* 201892 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71484 /* 201894 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71485 /* 201896 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71486 /* 201898 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71487 /* 201900 */ GIR_RootConstrainSelectedInstOperands,
71488 /* 201901 */ // GIR_Coverage, 22099,
71489 /* 201901 */ GIR_EraseRootFromParent_Done,
71490 /* 201902 */ // Label 4545: @201902
71491 /* 201902 */ GIM_Reject,
71492 /* 201903 */ // Label 4542: @201903
71493 /* 201903 */ GIM_Reject,
71494 /* 201904 */ // Label 4512: @201904
71495 /* 201904 */ GIM_Try, /*On fail goto*//*Label 4546*/ GIMT_Encode4(202105),
71496 /* 201909 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
71497 /* 201912 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
71498 /* 201915 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
71499 /* 201918 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71500 /* 201922 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71501 /* 201926 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
71502 /* 201930 */ GIM_Try, /*On fail goto*//*Label 4547*/ GIMT_Encode4(201963), // Rule ID 21672 //
71503 /* 201935 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71504 /* 201938 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71505 /* 201942 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71506 /* 201948 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71507 /* 201950 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71508 /* 201952 */ // (vector_compress:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src, VK8WM:{ *:[v8i1] }:$mask, immAllZerosV:{ *:[v8i32] }) => (VPCOMPRESSDZ256rrkz:{ *:[v8i32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src)
71509 /* 201952 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZ256rrkz),
71510 /* 201955 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71511 /* 201957 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71512 /* 201959 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71513 /* 201961 */ GIR_RootConstrainSelectedInstOperands,
71514 /* 201962 */ // GIR_Coverage, 21672,
71515 /* 201962 */ GIR_EraseRootFromParent_Done,
71516 /* 201963 */ // Label 4547: @201963
71517 /* 201963 */ GIM_Try, /*On fail goto*//*Label 4548*/ GIMT_Encode4(201996), // Rule ID 21708 //
71518 /* 201968 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71519 /* 201971 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71520 /* 201975 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71521 /* 201981 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71522 /* 201983 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71523 /* 201985 */ // (vector_compress:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src, VK8WM:{ *:[v8i1] }:$mask, immAllZerosV:{ *:[v8f32] }) => (VCOMPRESSPSZ256rrkz:{ *:[v8f32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src)
71524 /* 201985 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZ256rrkz),
71525 /* 201988 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71526 /* 201990 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71527 /* 201992 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71528 /* 201994 */ GIR_RootConstrainSelectedInstOperands,
71529 /* 201995 */ // GIR_Coverage, 21708,
71530 /* 201995 */ GIR_EraseRootFromParent_Done,
71531 /* 201996 */ // Label 4548: @201996
71532 /* 201996 */ GIM_Try, /*On fail goto*//*Label 4549*/ GIMT_Encode4(202025), // Rule ID 21671 //
71533 /* 202001 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71534 /* 202004 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71535 /* 202008 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71536 /* 202012 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71537 /* 202014 */ // (vector_compress:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src, VK8WM:{ *:[v8i1] }:$mask, (undef:{ *:[v8i32] })) => (VPCOMPRESSDZ256rrkz:{ *:[v8i32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src)
71538 /* 202014 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZ256rrkz),
71539 /* 202017 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71540 /* 202019 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71541 /* 202021 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71542 /* 202023 */ GIR_RootConstrainSelectedInstOperands,
71543 /* 202024 */ // GIR_Coverage, 21671,
71544 /* 202024 */ GIR_EraseRootFromParent_Done,
71545 /* 202025 */ // Label 4549: @202025
71546 /* 202025 */ GIM_Try, /*On fail goto*//*Label 4550*/ GIMT_Encode4(202054), // Rule ID 21707 //
71547 /* 202030 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71548 /* 202033 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71549 /* 202037 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71550 /* 202041 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71551 /* 202043 */ // (vector_compress:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src, VK8WM:{ *:[v8i1] }:$mask, (undef:{ *:[v8f32] })) => (VCOMPRESSPSZ256rrkz:{ *:[v8f32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src)
71552 /* 202043 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZ256rrkz),
71553 /* 202046 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71554 /* 202048 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71555 /* 202050 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71556 /* 202052 */ GIR_RootConstrainSelectedInstOperands,
71557 /* 202053 */ // GIR_Coverage, 21707,
71558 /* 202053 */ GIR_EraseRootFromParent_Done,
71559 /* 202054 */ // Label 4550: @202054
71560 /* 202054 */ GIM_Try, /*On fail goto*//*Label 4551*/ GIMT_Encode4(202079), // Rule ID 21673 //
71561 /* 202059 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71562 /* 202062 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71563 /* 202066 */ // (vector_compress:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src, VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$passthru) => (VPCOMPRESSDZ256rrk:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$passthru, VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src)
71564 /* 202066 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZ256rrk),
71565 /* 202069 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71566 /* 202071 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71567 /* 202073 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71568 /* 202075 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71569 /* 202077 */ GIR_RootConstrainSelectedInstOperands,
71570 /* 202078 */ // GIR_Coverage, 21673,
71571 /* 202078 */ GIR_EraseRootFromParent_Done,
71572 /* 202079 */ // Label 4551: @202079
71573 /* 202079 */ GIM_Try, /*On fail goto*//*Label 4552*/ GIMT_Encode4(202104), // Rule ID 21709 //
71574 /* 202084 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71575 /* 202087 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71576 /* 202091 */ // (vector_compress:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src, VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$passthru) => (VCOMPRESSPSZ256rrk:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$passthru, VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src)
71577 /* 202091 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZ256rrk),
71578 /* 202094 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71579 /* 202096 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71580 /* 202098 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71581 /* 202100 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71582 /* 202102 */ GIR_RootConstrainSelectedInstOperands,
71583 /* 202103 */ // GIR_Coverage, 21709,
71584 /* 202103 */ GIR_EraseRootFromParent_Done,
71585 /* 202104 */ // Label 4552: @202104
71586 /* 202104 */ GIM_Reject,
71587 /* 202105 */ // Label 4546: @202105
71588 /* 202105 */ GIM_Reject,
71589 /* 202106 */ // Label 4513: @202106
71590 /* 202106 */ GIM_Try, /*On fail goto*//*Label 4553*/ GIMT_Encode4(202307),
71591 /* 202111 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
71592 /* 202114 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
71593 /* 202117 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
71594 /* 202120 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71595 /* 202124 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71596 /* 202128 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
71597 /* 202132 */ GIM_Try, /*On fail goto*//*Label 4554*/ GIMT_Encode4(202165), // Rule ID 21684 //
71598 /* 202137 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
71599 /* 202140 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71600 /* 202144 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71601 /* 202150 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71602 /* 202152 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71603 /* 202154 */ // (vector_compress:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src, VK8WM:{ *:[v8i1] }:$mask, immAllZerosV:{ *:[v8i64] }) => (VPCOMPRESSQZrrkz:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src)
71604 /* 202154 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZrrkz),
71605 /* 202157 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71606 /* 202159 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71607 /* 202161 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71608 /* 202163 */ GIR_RootConstrainSelectedInstOperands,
71609 /* 202164 */ // GIR_Coverage, 21684,
71610 /* 202164 */ GIR_EraseRootFromParent_Done,
71611 /* 202165 */ // Label 4554: @202165
71612 /* 202165 */ GIM_Try, /*On fail goto*//*Label 4555*/ GIMT_Encode4(202198), // Rule ID 21720 //
71613 /* 202170 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
71614 /* 202173 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71615 /* 202177 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71616 /* 202183 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71617 /* 202185 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71618 /* 202187 */ // (vector_compress:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src, VK8WM:{ *:[v8i1] }:$mask, immAllZerosV:{ *:[v8f64] }) => (VCOMPRESSPDZrrkz:{ *:[v8f64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src)
71619 /* 202187 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZrrkz),
71620 /* 202190 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71621 /* 202192 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71622 /* 202194 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71623 /* 202196 */ GIR_RootConstrainSelectedInstOperands,
71624 /* 202197 */ // GIR_Coverage, 21720,
71625 /* 202197 */ GIR_EraseRootFromParent_Done,
71626 /* 202198 */ // Label 4555: @202198
71627 /* 202198 */ GIM_Try, /*On fail goto*//*Label 4556*/ GIMT_Encode4(202227), // Rule ID 21683 //
71628 /* 202203 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
71629 /* 202206 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71630 /* 202210 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71631 /* 202214 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71632 /* 202216 */ // (vector_compress:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src, VK8WM:{ *:[v8i1] }:$mask, (undef:{ *:[v8i64] })) => (VPCOMPRESSQZrrkz:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src)
71633 /* 202216 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZrrkz),
71634 /* 202219 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71635 /* 202221 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71636 /* 202223 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71637 /* 202225 */ GIR_RootConstrainSelectedInstOperands,
71638 /* 202226 */ // GIR_Coverage, 21683,
71639 /* 202226 */ GIR_EraseRootFromParent_Done,
71640 /* 202227 */ // Label 4556: @202227
71641 /* 202227 */ GIM_Try, /*On fail goto*//*Label 4557*/ GIMT_Encode4(202256), // Rule ID 21719 //
71642 /* 202232 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
71643 /* 202235 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71644 /* 202239 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71645 /* 202243 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71646 /* 202245 */ // (vector_compress:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src, VK8WM:{ *:[v8i1] }:$mask, (undef:{ *:[v8f64] })) => (VCOMPRESSPDZrrkz:{ *:[v8f64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src)
71647 /* 202245 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZrrkz),
71648 /* 202248 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71649 /* 202250 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71650 /* 202252 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71651 /* 202254 */ GIR_RootConstrainSelectedInstOperands,
71652 /* 202255 */ // GIR_Coverage, 21719,
71653 /* 202255 */ GIR_EraseRootFromParent_Done,
71654 /* 202256 */ // Label 4557: @202256
71655 /* 202256 */ GIM_Try, /*On fail goto*//*Label 4558*/ GIMT_Encode4(202281), // Rule ID 21685 //
71656 /* 202261 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
71657 /* 202264 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71658 /* 202268 */ // (vector_compress:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src, VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$passthru) => (VPCOMPRESSQZrrk:{ *:[v8i64] } VR512:{ *:[v8i64] }:$passthru, VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src)
71659 /* 202268 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZrrk),
71660 /* 202271 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71661 /* 202273 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71662 /* 202275 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71663 /* 202277 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71664 /* 202279 */ GIR_RootConstrainSelectedInstOperands,
71665 /* 202280 */ // GIR_Coverage, 21685,
71666 /* 202280 */ GIR_EraseRootFromParent_Done,
71667 /* 202281 */ // Label 4558: @202281
71668 /* 202281 */ GIM_Try, /*On fail goto*//*Label 4559*/ GIMT_Encode4(202306), // Rule ID 21721 //
71669 /* 202286 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
71670 /* 202289 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71671 /* 202293 */ // (vector_compress:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src, VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$passthru) => (VCOMPRESSPDZrrk:{ *:[v8f64] } VR512:{ *:[v8f64] }:$passthru, VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src)
71672 /* 202293 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZrrk),
71673 /* 202296 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71674 /* 202298 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71675 /* 202300 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71676 /* 202302 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71677 /* 202304 */ GIR_RootConstrainSelectedInstOperands,
71678 /* 202305 */ // GIR_Coverage, 21721,
71679 /* 202305 */ GIR_EraseRootFromParent_Done,
71680 /* 202306 */ // Label 4559: @202306
71681 /* 202306 */ GIM_Reject,
71682 /* 202307 */ // Label 4553: @202307
71683 /* 202307 */ GIM_Reject,
71684 /* 202308 */ // Label 4514: @202308
71685 /* 202308 */ GIM_Try, /*On fail goto*//*Label 4560*/ GIMT_Encode4(202422),
71686 /* 202313 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
71687 /* 202316 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
71688 /* 202319 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
71689 /* 202322 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71690 /* 202326 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71691 /* 202330 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
71692 /* 202334 */ GIM_Try, /*On fail goto*//*Label 4561*/ GIMT_Encode4(202367), // Rule ID 22080 //
71693 /* 202339 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
71694 /* 202342 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71695 /* 202346 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71696 /* 202352 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71697 /* 202354 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71698 /* 202356 */ // (vector_compress:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src, VK16WM:{ *:[v16i1] }:$mask, immAllZerosV:{ *:[v16i8] }) => (VPCOMPRESSBZ128rrkz:{ *:[v16i8] } VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src)
71699 /* 202356 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZ128rrkz),
71700 /* 202359 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71701 /* 202361 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71702 /* 202363 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71703 /* 202365 */ GIR_RootConstrainSelectedInstOperands,
71704 /* 202366 */ // GIR_Coverage, 22080,
71705 /* 202366 */ GIR_EraseRootFromParent_Done,
71706 /* 202367 */ // Label 4561: @202367
71707 /* 202367 */ GIM_Try, /*On fail goto*//*Label 4562*/ GIMT_Encode4(202396), // Rule ID 22079 //
71708 /* 202372 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
71709 /* 202375 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71710 /* 202379 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71711 /* 202383 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71712 /* 202385 */ // (vector_compress:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src, VK16WM:{ *:[v16i1] }:$mask, (undef:{ *:[v16i8] })) => (VPCOMPRESSBZ128rrkz:{ *:[v16i8] } VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src)
71713 /* 202385 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZ128rrkz),
71714 /* 202388 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71715 /* 202390 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71716 /* 202392 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71717 /* 202394 */ GIR_RootConstrainSelectedInstOperands,
71718 /* 202395 */ // GIR_Coverage, 22079,
71719 /* 202395 */ GIR_EraseRootFromParent_Done,
71720 /* 202396 */ // Label 4562: @202396
71721 /* 202396 */ GIM_Try, /*On fail goto*//*Label 4563*/ GIMT_Encode4(202421), // Rule ID 22081 //
71722 /* 202401 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
71723 /* 202404 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71724 /* 202408 */ // (vector_compress:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src, VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$passthru) => (VPCOMPRESSBZ128rrk:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$passthru, VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src)
71725 /* 202408 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZ128rrk),
71726 /* 202411 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71727 /* 202413 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71728 /* 202415 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71729 /* 202417 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71730 /* 202419 */ GIR_RootConstrainSelectedInstOperands,
71731 /* 202420 */ // GIR_Coverage, 22081,
71732 /* 202420 */ GIR_EraseRootFromParent_Done,
71733 /* 202421 */ // Label 4563: @202421
71734 /* 202421 */ GIM_Reject,
71735 /* 202422 */ // Label 4560: @202422
71736 /* 202422 */ GIM_Reject,
71737 /* 202423 */ // Label 4515: @202423
71738 /* 202423 */ GIM_Try, /*On fail goto*//*Label 4564*/ GIMT_Encode4(202537),
71739 /* 202428 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
71740 /* 202431 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
71741 /* 202434 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
71742 /* 202437 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71743 /* 202441 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71744 /* 202445 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
71745 /* 202449 */ GIM_Try, /*On fail goto*//*Label 4565*/ GIMT_Encode4(202482), // Rule ID 22092 //
71746 /* 202454 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
71747 /* 202457 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71748 /* 202461 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71749 /* 202467 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71750 /* 202469 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71751 /* 202471 */ // (vector_compress:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src, VK16WM:{ *:[v16i1] }:$mask, immAllZerosV:{ *:[v16i16] }) => (VPCOMPRESSWZ256rrkz:{ *:[v16i16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src)
71752 /* 202471 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZ256rrkz),
71753 /* 202474 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71754 /* 202476 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71755 /* 202478 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71756 /* 202480 */ GIR_RootConstrainSelectedInstOperands,
71757 /* 202481 */ // GIR_Coverage, 22092,
71758 /* 202481 */ GIR_EraseRootFromParent_Done,
71759 /* 202482 */ // Label 4565: @202482
71760 /* 202482 */ GIM_Try, /*On fail goto*//*Label 4566*/ GIMT_Encode4(202511), // Rule ID 22091 //
71761 /* 202487 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
71762 /* 202490 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71763 /* 202494 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71764 /* 202498 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71765 /* 202500 */ // (vector_compress:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src, VK16WM:{ *:[v16i1] }:$mask, (undef:{ *:[v16i16] })) => (VPCOMPRESSWZ256rrkz:{ *:[v16i16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src)
71766 /* 202500 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZ256rrkz),
71767 /* 202503 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71768 /* 202505 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71769 /* 202507 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71770 /* 202509 */ GIR_RootConstrainSelectedInstOperands,
71771 /* 202510 */ // GIR_Coverage, 22091,
71772 /* 202510 */ GIR_EraseRootFromParent_Done,
71773 /* 202511 */ // Label 4566: @202511
71774 /* 202511 */ GIM_Try, /*On fail goto*//*Label 4567*/ GIMT_Encode4(202536), // Rule ID 22093 //
71775 /* 202516 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
71776 /* 202519 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71777 /* 202523 */ // (vector_compress:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src, VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$passthru) => (VPCOMPRESSWZ256rrk:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$passthru, VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src)
71778 /* 202523 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZ256rrk),
71779 /* 202526 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71780 /* 202528 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71781 /* 202530 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71782 /* 202532 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71783 /* 202534 */ GIR_RootConstrainSelectedInstOperands,
71784 /* 202535 */ // GIR_Coverage, 22093,
71785 /* 202535 */ GIR_EraseRootFromParent_Done,
71786 /* 202536 */ // Label 4567: @202536
71787 /* 202536 */ GIM_Reject,
71788 /* 202537 */ // Label 4564: @202537
71789 /* 202537 */ GIM_Reject,
71790 /* 202538 */ // Label 4516: @202538
71791 /* 202538 */ GIM_Try, /*On fail goto*//*Label 4568*/ GIMT_Encode4(202739),
71792 /* 202543 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
71793 /* 202546 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
71794 /* 202549 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
71795 /* 202552 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71796 /* 202556 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71797 /* 202560 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
71798 /* 202564 */ GIM_Try, /*On fail goto*//*Label 4569*/ GIMT_Encode4(202597), // Rule ID 21666 //
71799 /* 202569 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
71800 /* 202572 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71801 /* 202576 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71802 /* 202582 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71803 /* 202584 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71804 /* 202586 */ // (vector_compress:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src, VK16WM:{ *:[v16i1] }:$mask, immAllZerosV:{ *:[v16i32] }) => (VPCOMPRESSDZrrkz:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src)
71805 /* 202586 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZrrkz),
71806 /* 202589 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71807 /* 202591 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71808 /* 202593 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71809 /* 202595 */ GIR_RootConstrainSelectedInstOperands,
71810 /* 202596 */ // GIR_Coverage, 21666,
71811 /* 202596 */ GIR_EraseRootFromParent_Done,
71812 /* 202597 */ // Label 4569: @202597
71813 /* 202597 */ GIM_Try, /*On fail goto*//*Label 4570*/ GIMT_Encode4(202630), // Rule ID 21702 //
71814 /* 202602 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
71815 /* 202605 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71816 /* 202609 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71817 /* 202615 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71818 /* 202617 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71819 /* 202619 */ // (vector_compress:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src, VK16WM:{ *:[v16i1] }:$mask, immAllZerosV:{ *:[v16f32] }) => (VCOMPRESSPSZrrkz:{ *:[v16f32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src)
71820 /* 202619 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZrrkz),
71821 /* 202622 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71822 /* 202624 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71823 /* 202626 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71824 /* 202628 */ GIR_RootConstrainSelectedInstOperands,
71825 /* 202629 */ // GIR_Coverage, 21702,
71826 /* 202629 */ GIR_EraseRootFromParent_Done,
71827 /* 202630 */ // Label 4570: @202630
71828 /* 202630 */ GIM_Try, /*On fail goto*//*Label 4571*/ GIMT_Encode4(202659), // Rule ID 21665 //
71829 /* 202635 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
71830 /* 202638 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71831 /* 202642 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71832 /* 202646 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71833 /* 202648 */ // (vector_compress:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src, VK16WM:{ *:[v16i1] }:$mask, (undef:{ *:[v16i32] })) => (VPCOMPRESSDZrrkz:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src)
71834 /* 202648 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZrrkz),
71835 /* 202651 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71836 /* 202653 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71837 /* 202655 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71838 /* 202657 */ GIR_RootConstrainSelectedInstOperands,
71839 /* 202658 */ // GIR_Coverage, 21665,
71840 /* 202658 */ GIR_EraseRootFromParent_Done,
71841 /* 202659 */ // Label 4571: @202659
71842 /* 202659 */ GIM_Try, /*On fail goto*//*Label 4572*/ GIMT_Encode4(202688), // Rule ID 21701 //
71843 /* 202664 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
71844 /* 202667 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71845 /* 202671 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71846 /* 202675 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71847 /* 202677 */ // (vector_compress:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src, VK16WM:{ *:[v16i1] }:$mask, (undef:{ *:[v16f32] })) => (VCOMPRESSPSZrrkz:{ *:[v16f32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src)
71848 /* 202677 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZrrkz),
71849 /* 202680 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71850 /* 202682 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71851 /* 202684 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71852 /* 202686 */ GIR_RootConstrainSelectedInstOperands,
71853 /* 202687 */ // GIR_Coverage, 21701,
71854 /* 202687 */ GIR_EraseRootFromParent_Done,
71855 /* 202688 */ // Label 4572: @202688
71856 /* 202688 */ GIM_Try, /*On fail goto*//*Label 4573*/ GIMT_Encode4(202713), // Rule ID 21667 //
71857 /* 202693 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
71858 /* 202696 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71859 /* 202700 */ // (vector_compress:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src, VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$passthru) => (VPCOMPRESSDZrrk:{ *:[v16i32] } VR512:{ *:[v16i32] }:$passthru, VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src)
71860 /* 202700 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZrrk),
71861 /* 202703 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71862 /* 202705 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71863 /* 202707 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71864 /* 202709 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71865 /* 202711 */ GIR_RootConstrainSelectedInstOperands,
71866 /* 202712 */ // GIR_Coverage, 21667,
71867 /* 202712 */ GIR_EraseRootFromParent_Done,
71868 /* 202713 */ // Label 4573: @202713
71869 /* 202713 */ GIM_Try, /*On fail goto*//*Label 4574*/ GIMT_Encode4(202738), // Rule ID 21703 //
71870 /* 202718 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
71871 /* 202721 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71872 /* 202725 */ // (vector_compress:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src, VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$passthru) => (VCOMPRESSPSZrrk:{ *:[v16f32] } VR512:{ *:[v16f32] }:$passthru, VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src)
71873 /* 202725 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZrrk),
71874 /* 202728 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71875 /* 202730 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71876 /* 202732 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71877 /* 202734 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71878 /* 202736 */ GIR_RootConstrainSelectedInstOperands,
71879 /* 202737 */ // GIR_Coverage, 21703,
71880 /* 202737 */ GIR_EraseRootFromParent_Done,
71881 /* 202738 */ // Label 4574: @202738
71882 /* 202738 */ GIM_Reject,
71883 /* 202739 */ // Label 4568: @202739
71884 /* 202739 */ GIM_Reject,
71885 /* 202740 */ // Label 4517: @202740
71886 /* 202740 */ GIM_Try, /*On fail goto*//*Label 4575*/ GIMT_Encode4(202854),
71887 /* 202745 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
71888 /* 202748 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s1,
71889 /* 202751 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s8,
71890 /* 202754 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71891 /* 202758 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71892 /* 202762 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32WMRegClassID),
71893 /* 202766 */ GIM_Try, /*On fail goto*//*Label 4576*/ GIMT_Encode4(202799), // Rule ID 22074 //
71894 /* 202771 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
71895 /* 202774 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71896 /* 202778 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71897 /* 202784 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71898 /* 202786 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71899 /* 202788 */ // (vector_compress:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src, VK32WM:{ *:[v32i1] }:$mask, immAllZerosV:{ *:[v32i8] }) => (VPCOMPRESSBZ256rrkz:{ *:[v32i8] } VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src)
71900 /* 202788 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZ256rrkz),
71901 /* 202791 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71902 /* 202793 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71903 /* 202795 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71904 /* 202797 */ GIR_RootConstrainSelectedInstOperands,
71905 /* 202798 */ // GIR_Coverage, 22074,
71906 /* 202798 */ GIR_EraseRootFromParent_Done,
71907 /* 202799 */ // Label 4576: @202799
71908 /* 202799 */ GIM_Try, /*On fail goto*//*Label 4577*/ GIMT_Encode4(202828), // Rule ID 22073 //
71909 /* 202804 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
71910 /* 202807 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71911 /* 202811 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71912 /* 202815 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71913 /* 202817 */ // (vector_compress:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src, VK32WM:{ *:[v32i1] }:$mask, (undef:{ *:[v32i8] })) => (VPCOMPRESSBZ256rrkz:{ *:[v32i8] } VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src)
71914 /* 202817 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZ256rrkz),
71915 /* 202820 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71916 /* 202822 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71917 /* 202824 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71918 /* 202826 */ GIR_RootConstrainSelectedInstOperands,
71919 /* 202827 */ // GIR_Coverage, 22073,
71920 /* 202827 */ GIR_EraseRootFromParent_Done,
71921 /* 202828 */ // Label 4577: @202828
71922 /* 202828 */ GIM_Try, /*On fail goto*//*Label 4578*/ GIMT_Encode4(202853), // Rule ID 22075 //
71923 /* 202833 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
71924 /* 202836 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71925 /* 202840 */ // (vector_compress:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src, VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$passthru) => (VPCOMPRESSBZ256rrk:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$passthru, VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src)
71926 /* 202840 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZ256rrk),
71927 /* 202843 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71928 /* 202845 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71929 /* 202847 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71930 /* 202849 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71931 /* 202851 */ GIR_RootConstrainSelectedInstOperands,
71932 /* 202852 */ // GIR_Coverage, 22075,
71933 /* 202852 */ GIR_EraseRootFromParent_Done,
71934 /* 202853 */ // Label 4578: @202853
71935 /* 202853 */ GIM_Reject,
71936 /* 202854 */ // Label 4575: @202854
71937 /* 202854 */ GIM_Reject,
71938 /* 202855 */ // Label 4518: @202855
71939 /* 202855 */ GIM_Try, /*On fail goto*//*Label 4579*/ GIMT_Encode4(202969),
71940 /* 202860 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
71941 /* 202863 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s1,
71942 /* 202866 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s16,
71943 /* 202869 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71944 /* 202873 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71945 /* 202877 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32WMRegClassID),
71946 /* 202881 */ GIM_Try, /*On fail goto*//*Label 4580*/ GIMT_Encode4(202914), // Rule ID 22086 //
71947 /* 202886 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
71948 /* 202889 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71949 /* 202893 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71950 /* 202899 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71951 /* 202901 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71952 /* 202903 */ // (vector_compress:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src, VK32WM:{ *:[v32i1] }:$mask, immAllZerosV:{ *:[v32i16] }) => (VPCOMPRESSWZrrkz:{ *:[v32i16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src)
71953 /* 202903 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZrrkz),
71954 /* 202906 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71955 /* 202908 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71956 /* 202910 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71957 /* 202912 */ GIR_RootConstrainSelectedInstOperands,
71958 /* 202913 */ // GIR_Coverage, 22086,
71959 /* 202913 */ GIR_EraseRootFromParent_Done,
71960 /* 202914 */ // Label 4580: @202914
71961 /* 202914 */ GIM_Try, /*On fail goto*//*Label 4581*/ GIMT_Encode4(202943), // Rule ID 22085 //
71962 /* 202919 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
71963 /* 202922 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71964 /* 202926 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71965 /* 202930 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71966 /* 202932 */ // (vector_compress:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src, VK32WM:{ *:[v32i1] }:$mask, (undef:{ *:[v32i16] })) => (VPCOMPRESSWZrrkz:{ *:[v32i16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src)
71967 /* 202932 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZrrkz),
71968 /* 202935 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71969 /* 202937 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71970 /* 202939 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71971 /* 202941 */ GIR_RootConstrainSelectedInstOperands,
71972 /* 202942 */ // GIR_Coverage, 22085,
71973 /* 202942 */ GIR_EraseRootFromParent_Done,
71974 /* 202943 */ // Label 4581: @202943
71975 /* 202943 */ GIM_Try, /*On fail goto*//*Label 4582*/ GIMT_Encode4(202968), // Rule ID 22087 //
71976 /* 202948 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
71977 /* 202951 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71978 /* 202955 */ // (vector_compress:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src, VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$passthru) => (VPCOMPRESSWZrrk:{ *:[v32i16] } VR512:{ *:[v32i16] }:$passthru, VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src)
71979 /* 202955 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZrrk),
71980 /* 202958 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71981 /* 202960 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71982 /* 202962 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71983 /* 202964 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71984 /* 202966 */ GIR_RootConstrainSelectedInstOperands,
71985 /* 202967 */ // GIR_Coverage, 22087,
71986 /* 202967 */ GIR_EraseRootFromParent_Done,
71987 /* 202968 */ // Label 4582: @202968
71988 /* 202968 */ GIM_Reject,
71989 /* 202969 */ // Label 4579: @202969
71990 /* 202969 */ GIM_Reject,
71991 /* 202970 */ // Label 4519: @202970
71992 /* 202970 */ GIM_Try, /*On fail goto*//*Label 4583*/ GIMT_Encode4(203084),
71993 /* 202975 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
71994 /* 202978 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s1,
71995 /* 202981 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v64s8,
71996 /* 202984 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71997 /* 202988 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71998 /* 202992 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64WMRegClassID),
71999 /* 202996 */ GIM_Try, /*On fail goto*//*Label 4584*/ GIMT_Encode4(203029), // Rule ID 22068 //
72000 /* 203001 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
72001 /* 203004 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
72002 /* 203008 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
72003 /* 203014 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
72004 /* 203016 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72005 /* 203018 */ // (vector_compress:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src, VK64WM:{ *:[v64i1] }:$mask, immAllZerosV:{ *:[v64i8] }) => (VPCOMPRESSBZrrkz:{ *:[v64i8] } VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src)
72006 /* 203018 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZrrkz),
72007 /* 203021 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72008 /* 203023 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72009 /* 203025 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72010 /* 203027 */ GIR_RootConstrainSelectedInstOperands,
72011 /* 203028 */ // GIR_Coverage, 22068,
72012 /* 203028 */ GIR_EraseRootFromParent_Done,
72013 /* 203029 */ // Label 4584: @203029
72014 /* 203029 */ GIM_Try, /*On fail goto*//*Label 4585*/ GIMT_Encode4(203058), // Rule ID 22067 //
72015 /* 203034 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
72016 /* 203037 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
72017 /* 203041 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
72018 /* 203045 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72019 /* 203047 */ // (vector_compress:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src, VK64WM:{ *:[v64i1] }:$mask, (undef:{ *:[v64i8] })) => (VPCOMPRESSBZrrkz:{ *:[v64i8] } VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src)
72020 /* 203047 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZrrkz),
72021 /* 203050 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72022 /* 203052 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72023 /* 203054 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72024 /* 203056 */ GIR_RootConstrainSelectedInstOperands,
72025 /* 203057 */ // GIR_Coverage, 22067,
72026 /* 203057 */ GIR_EraseRootFromParent_Done,
72027 /* 203058 */ // Label 4585: @203058
72028 /* 203058 */ GIM_Try, /*On fail goto*//*Label 4586*/ GIMT_Encode4(203083), // Rule ID 22069 //
72029 /* 203063 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
72030 /* 203066 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72031 /* 203070 */ // (vector_compress:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src, VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$passthru) => (VPCOMPRESSBZrrk:{ *:[v64i8] } VR512:{ *:[v64i8] }:$passthru, VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src)
72032 /* 203070 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZrrk),
72033 /* 203073 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72034 /* 203075 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
72035 /* 203077 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72036 /* 203079 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72037 /* 203081 */ GIR_RootConstrainSelectedInstOperands,
72038 /* 203082 */ // GIR_Coverage, 22069,
72039 /* 203082 */ GIR_EraseRootFromParent_Done,
72040 /* 203083 */ // Label 4586: @203083
72041 /* 203083 */ GIM_Reject,
72042 /* 203084 */ // Label 4583: @203084
72043 /* 203084 */ GIM_Reject,
72044 /* 203085 */ // Label 4520: @203085
72045 /* 203085 */ GIM_Reject,
72046 /* 203086 */ // Label 62: @203086
72047 /* 203086 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 4590*/ GIMT_Encode4(203391),
72048 /* 203097 */ /*GILLT_s16*//*Label 4587*/ GIMT_Encode4(203109),
72049 /* 203101 */ /*GILLT_s32*//*Label 4588*/ GIMT_Encode4(203203),
72050 /* 203105 */ /*GILLT_s64*//*Label 4589*/ GIMT_Encode4(203297),
72051 /* 203109 */ // Label 4587: @203109
72052 /* 203109 */ GIM_Try, /*On fail goto*//*Label 4591*/ GIMT_Encode4(203202),
72053 /* 203114 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
72054 /* 203117 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
72055 /* 203121 */ GIM_Try, /*On fail goto*//*Label 4592*/ GIMT_Encode4(203176), // Rule ID 77 //
72056 /* 203126 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI),
72057 /* 203129 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72058 /* 203133 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72059 /* 203137 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72060 /* 203140 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72061 /* 203144 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
72062 /* 203148 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72063 /* 203150 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72064 /* 203157 */ // (cttz:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (TZCNT16rm:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
72065 /* 203157 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZCNT16rm),
72066 /* 203160 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72067 /* 203162 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72068 /* 203166 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
72069 /* 203169 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72070 /* 203174 */ GIR_RootConstrainSelectedInstOperands,
72071 /* 203175 */ // GIR_Coverage, 77,
72072 /* 203175 */ GIR_EraseRootFromParent_Done,
72073 /* 203176 */ // Label 4592: @203176
72074 /* 203176 */ GIM_Try, /*On fail goto*//*Label 4593*/ GIMT_Encode4(203201), // Rule ID 76 //
72075 /* 203181 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI),
72076 /* 203184 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
72077 /* 203188 */ // (cttz:{ *:[i16] } GR16:{ *:[i16] }:$src1) => (TZCNT16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
72078 /* 203188 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::TZCNT16rr),
72079 /* 203193 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
72080 /* 203199 */ GIR_RootConstrainSelectedInstOperands,
72081 /* 203200 */ // GIR_Coverage, 76,
72082 /* 203200 */ GIR_Done,
72083 /* 203201 */ // Label 4593: @203201
72084 /* 203201 */ GIM_Reject,
72085 /* 203202 */ // Label 4591: @203202
72086 /* 203202 */ GIM_Reject,
72087 /* 203203 */ // Label 4588: @203203
72088 /* 203203 */ GIM_Try, /*On fail goto*//*Label 4594*/ GIMT_Encode4(203296),
72089 /* 203208 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
72090 /* 203211 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
72091 /* 203215 */ GIM_Try, /*On fail goto*//*Label 4595*/ GIMT_Encode4(203270), // Rule ID 79 //
72092 /* 203220 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI),
72093 /* 203223 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72094 /* 203227 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72095 /* 203231 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72096 /* 203234 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72097 /* 203238 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
72098 /* 203242 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72099 /* 203244 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72100 /* 203251 */ // (cttz:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (TZCNT32rm:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
72101 /* 203251 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZCNT32rm),
72102 /* 203254 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72103 /* 203256 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72104 /* 203260 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
72105 /* 203263 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72106 /* 203268 */ GIR_RootConstrainSelectedInstOperands,
72107 /* 203269 */ // GIR_Coverage, 79,
72108 /* 203269 */ GIR_EraseRootFromParent_Done,
72109 /* 203270 */ // Label 4595: @203270
72110 /* 203270 */ GIM_Try, /*On fail goto*//*Label 4596*/ GIMT_Encode4(203295), // Rule ID 78 //
72111 /* 203275 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI),
72112 /* 203278 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
72113 /* 203282 */ // (cttz:{ *:[i32] } GR32:{ *:[i32] }:$src1) => (TZCNT32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
72114 /* 203282 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::TZCNT32rr),
72115 /* 203287 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
72116 /* 203293 */ GIR_RootConstrainSelectedInstOperands,
72117 /* 203294 */ // GIR_Coverage, 78,
72118 /* 203294 */ GIR_Done,
72119 /* 203295 */ // Label 4596: @203295
72120 /* 203295 */ GIM_Reject,
72121 /* 203296 */ // Label 4594: @203296
72122 /* 203296 */ GIM_Reject,
72123 /* 203297 */ // Label 4589: @203297
72124 /* 203297 */ GIM_Try, /*On fail goto*//*Label 4597*/ GIMT_Encode4(203390),
72125 /* 203302 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
72126 /* 203305 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
72127 /* 203309 */ GIM_Try, /*On fail goto*//*Label 4598*/ GIMT_Encode4(203364), // Rule ID 81 //
72128 /* 203314 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI),
72129 /* 203317 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72130 /* 203321 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72131 /* 203325 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72132 /* 203328 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72133 /* 203332 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72134 /* 203336 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72135 /* 203338 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72136 /* 203345 */ // (cttz:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (TZCNT64rm:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
72137 /* 203345 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZCNT64rm),
72138 /* 203348 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72139 /* 203350 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72140 /* 203354 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
72141 /* 203357 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72142 /* 203362 */ GIR_RootConstrainSelectedInstOperands,
72143 /* 203363 */ // GIR_Coverage, 81,
72144 /* 203363 */ GIR_EraseRootFromParent_Done,
72145 /* 203364 */ // Label 4598: @203364
72146 /* 203364 */ GIM_Try, /*On fail goto*//*Label 4599*/ GIMT_Encode4(203389), // Rule ID 80 //
72147 /* 203369 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI),
72148 /* 203372 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
72149 /* 203376 */ // (cttz:{ *:[i64] } GR64:{ *:[i64] }:$src1) => (TZCNT64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
72150 /* 203376 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::TZCNT64rr),
72151 /* 203381 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
72152 /* 203387 */ GIR_RootConstrainSelectedInstOperands,
72153 /* 203388 */ // GIR_Coverage, 80,
72154 /* 203388 */ GIR_Done,
72155 /* 203389 */ // Label 4599: @203389
72156 /* 203389 */ GIM_Reject,
72157 /* 203390 */ // Label 4597: @203390
72158 /* 203390 */ GIM_Reject,
72159 /* 203391 */ // Label 4590: @203391
72160 /* 203391 */ GIM_Reject,
72161 /* 203392 */ // Label 63: @203392
72162 /* 203392 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 4603*/ GIMT_Encode4(203778),
72163 /* 203403 */ /*GILLT_s16*//*Label 4600*/ GIMT_Encode4(203415),
72164 /* 203407 */ /*GILLT_s32*//*Label 4601*/ GIMT_Encode4(203536),
72165 /* 203411 */ /*GILLT_s64*//*Label 4602*/ GIMT_Encode4(203657),
72166 /* 203415 */ // Label 4600: @203415
72167 /* 203415 */ GIM_Try, /*On fail goto*//*Label 4604*/ GIMT_Encode4(203535),
72168 /* 203420 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
72169 /* 203423 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
72170 /* 203427 */ GIM_Try, /*On fail goto*//*Label 4605*/ GIMT_Encode4(203496), // Rule ID 22985 //
72171 /* 203432 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72172 /* 203436 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72173 /* 203440 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72174 /* 203443 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72175 /* 203447 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
72176 /* 203451 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72177 /* 203453 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72178 /* 203460 */ // (cttz_zero_undef:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (BSF16rm:{ *:[i16] }:{ *:[i32] } (IMPLICIT_DEF:{ *:[i16] }), addr:{ *:[iPTR] }:$src)
72179 /* 203460 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
72180 /* 203463 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72181 /* 203467 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
72182 /* 203472 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72183 /* 203474 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BSF16rm),
72184 /* 203477 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72185 /* 203479 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
72186 /* 203482 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
72187 /* 203486 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
72188 /* 203489 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72189 /* 203494 */ GIR_RootConstrainSelectedInstOperands,
72190 /* 203495 */ // GIR_Coverage, 22985,
72191 /* 203495 */ GIR_EraseRootFromParent_Done,
72192 /* 203496 */ // Label 4605: @203496
72193 /* 203496 */ GIM_Try, /*On fail goto*//*Label 4606*/ GIMT_Encode4(203534), // Rule ID 22982 //
72194 /* 203501 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
72195 /* 203505 */ // (cttz_zero_undef:{ *:[i16] } GR16:{ *:[i16] }:$src) => (BSF16rr:{ *:[i16] }:{ *:[i32] } (IMPLICIT_DEF:{ *:[i16] }), GR16:{ *:[i16] }:$src)
72196 /* 203505 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
72197 /* 203508 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72198 /* 203512 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
72199 /* 203517 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72200 /* 203519 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BSF16rr),
72201 /* 203522 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72202 /* 203524 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
72203 /* 203527 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72204 /* 203529 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
72205 /* 203532 */ GIR_RootConstrainSelectedInstOperands,
72206 /* 203533 */ // GIR_Coverage, 22982,
72207 /* 203533 */ GIR_EraseRootFromParent_Done,
72208 /* 203534 */ // Label 4606: @203534
72209 /* 203534 */ GIM_Reject,
72210 /* 203535 */ // Label 4604: @203535
72211 /* 203535 */ GIM_Reject,
72212 /* 203536 */ // Label 4601: @203536
72213 /* 203536 */ GIM_Try, /*On fail goto*//*Label 4607*/ GIMT_Encode4(203656),
72214 /* 203541 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
72215 /* 203544 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
72216 /* 203548 */ GIM_Try, /*On fail goto*//*Label 4608*/ GIMT_Encode4(203617), // Rule ID 22986 //
72217 /* 203553 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72218 /* 203557 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72219 /* 203561 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72220 /* 203564 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72221 /* 203568 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
72222 /* 203572 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72223 /* 203574 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72224 /* 203581 */ // (cttz_zero_undef:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (BSF32rm:{ *:[i32] }:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), addr:{ *:[iPTR] }:$src)
72225 /* 203581 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
72226 /* 203584 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72227 /* 203588 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
72228 /* 203593 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72229 /* 203595 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BSF32rm),
72230 /* 203598 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72231 /* 203600 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
72232 /* 203603 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
72233 /* 203607 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
72234 /* 203610 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72235 /* 203615 */ GIR_RootConstrainSelectedInstOperands,
72236 /* 203616 */ // GIR_Coverage, 22986,
72237 /* 203616 */ GIR_EraseRootFromParent_Done,
72238 /* 203617 */ // Label 4608: @203617
72239 /* 203617 */ GIM_Try, /*On fail goto*//*Label 4609*/ GIMT_Encode4(203655), // Rule ID 22983 //
72240 /* 203622 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
72241 /* 203626 */ // (cttz_zero_undef:{ *:[i32] } GR32:{ *:[i32] }:$src) => (BSF32rr:{ *:[i32] }:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR32:{ *:[i32] }:$src)
72242 /* 203626 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
72243 /* 203629 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72244 /* 203633 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
72245 /* 203638 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72246 /* 203640 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BSF32rr),
72247 /* 203643 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72248 /* 203645 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
72249 /* 203648 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72250 /* 203650 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
72251 /* 203653 */ GIR_RootConstrainSelectedInstOperands,
72252 /* 203654 */ // GIR_Coverage, 22983,
72253 /* 203654 */ GIR_EraseRootFromParent_Done,
72254 /* 203655 */ // Label 4609: @203655
72255 /* 203655 */ GIM_Reject,
72256 /* 203656 */ // Label 4607: @203656
72257 /* 203656 */ GIM_Reject,
72258 /* 203657 */ // Label 4602: @203657
72259 /* 203657 */ GIM_Try, /*On fail goto*//*Label 4610*/ GIMT_Encode4(203777),
72260 /* 203662 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
72261 /* 203665 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
72262 /* 203669 */ GIM_Try, /*On fail goto*//*Label 4611*/ GIMT_Encode4(203738), // Rule ID 22987 //
72263 /* 203674 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72264 /* 203678 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72265 /* 203682 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72266 /* 203685 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72267 /* 203689 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72268 /* 203693 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72269 /* 203695 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72270 /* 203702 */ // (cttz_zero_undef:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (BSF64rm:{ *:[i64] }:{ *:[i32] } (IMPLICIT_DEF:{ *:[i64] }), addr:{ *:[iPTR] }:$src)
72271 /* 203702 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
72272 /* 203705 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72273 /* 203709 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
72274 /* 203714 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72275 /* 203716 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BSF64rm),
72276 /* 203719 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72277 /* 203721 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
72278 /* 203724 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
72279 /* 203728 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
72280 /* 203731 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72281 /* 203736 */ GIR_RootConstrainSelectedInstOperands,
72282 /* 203737 */ // GIR_Coverage, 22987,
72283 /* 203737 */ GIR_EraseRootFromParent_Done,
72284 /* 203738 */ // Label 4611: @203738
72285 /* 203738 */ GIM_Try, /*On fail goto*//*Label 4612*/ GIMT_Encode4(203776), // Rule ID 22984 //
72286 /* 203743 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
72287 /* 203747 */ // (cttz_zero_undef:{ *:[i64] } GR64:{ *:[i64] }:$src) => (BSF64rr:{ *:[i64] }:{ *:[i32] } (IMPLICIT_DEF:{ *:[i64] }), GR64:{ *:[i64] }:$src)
72288 /* 203747 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
72289 /* 203750 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72290 /* 203754 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
72291 /* 203759 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72292 /* 203761 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BSF64rr),
72293 /* 203764 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72294 /* 203766 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
72295 /* 203769 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72296 /* 203771 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
72297 /* 203774 */ GIR_RootConstrainSelectedInstOperands,
72298 /* 203775 */ // GIR_Coverage, 22984,
72299 /* 203775 */ GIR_EraseRootFromParent_Done,
72300 /* 203776 */ // Label 4612: @203776
72301 /* 203776 */ GIM_Reject,
72302 /* 203777 */ // Label 4610: @203777
72303 /* 203777 */ GIM_Reject,
72304 /* 203778 */ // Label 4603: @203778
72305 /* 203778 */ GIM_Reject,
72306 /* 203779 */ // Label 64: @203779
72307 /* 203779 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(20), /*)*//*default:*//*Label 4622*/ GIMT_Encode4(205082),
72308 /* 203790 */ /*GILLT_s16*//*Label 4613*/ GIMT_Encode4(203862),
72309 /* 203794 */ /*GILLT_s32*//*Label 4614*/ GIMT_Encode4(203956),
72310 /* 203798 */ /*GILLT_s64*//*Label 4615*/ GIMT_Encode4(204050), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
72311 /* 203814 */ /*GILLT_v2s64*//*Label 4616*/ GIMT_Encode4(204144), GIMT_Encode4(0),
72312 /* 203822 */ /*GILLT_v4s32*//*Label 4617*/ GIMT_Encode4(204340),
72313 /* 203826 */ /*GILLT_v4s64*//*Label 4618*/ GIMT_Encode4(204536), GIMT_Encode4(0), GIMT_Encode4(0),
72314 /* 203838 */ /*GILLT_v8s32*//*Label 4619*/ GIMT_Encode4(204724),
72315 /* 203842 */ /*GILLT_v8s64*//*Label 4620*/ GIMT_Encode4(204912), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
72316 /* 203858 */ /*GILLT_v16s32*//*Label 4621*/ GIMT_Encode4(204997),
72317 /* 203862 */ // Label 4613: @203862
72318 /* 203862 */ GIM_Try, /*On fail goto*//*Label 4623*/ GIMT_Encode4(203955),
72319 /* 203867 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
72320 /* 203870 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
72321 /* 203874 */ GIM_Try, /*On fail goto*//*Label 4624*/ GIMT_Encode4(203929), // Rule ID 71 //
72322 /* 203879 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLZCNT),
72323 /* 203882 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72324 /* 203886 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72325 /* 203890 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72326 /* 203893 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72327 /* 203897 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
72328 /* 203901 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72329 /* 203903 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72330 /* 203910 */ // (ctlz:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (LZCNT16rm:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
72331 /* 203910 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LZCNT16rm),
72332 /* 203913 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72333 /* 203915 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72334 /* 203919 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
72335 /* 203922 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72336 /* 203927 */ GIR_RootConstrainSelectedInstOperands,
72337 /* 203928 */ // GIR_Coverage, 71,
72338 /* 203928 */ GIR_EraseRootFromParent_Done,
72339 /* 203929 */ // Label 4624: @203929
72340 /* 203929 */ GIM_Try, /*On fail goto*//*Label 4625*/ GIMT_Encode4(203954), // Rule ID 70 //
72341 /* 203934 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLZCNT),
72342 /* 203937 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
72343 /* 203941 */ // (ctlz:{ *:[i16] } GR16:{ *:[i16] }:$src1) => (LZCNT16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
72344 /* 203941 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::LZCNT16rr),
72345 /* 203946 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
72346 /* 203952 */ GIR_RootConstrainSelectedInstOperands,
72347 /* 203953 */ // GIR_Coverage, 70,
72348 /* 203953 */ GIR_Done,
72349 /* 203954 */ // Label 4625: @203954
72350 /* 203954 */ GIM_Reject,
72351 /* 203955 */ // Label 4623: @203955
72352 /* 203955 */ GIM_Reject,
72353 /* 203956 */ // Label 4614: @203956
72354 /* 203956 */ GIM_Try, /*On fail goto*//*Label 4626*/ GIMT_Encode4(204049),
72355 /* 203961 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
72356 /* 203964 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
72357 /* 203968 */ GIM_Try, /*On fail goto*//*Label 4627*/ GIMT_Encode4(204023), // Rule ID 73 //
72358 /* 203973 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLZCNT),
72359 /* 203976 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72360 /* 203980 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72361 /* 203984 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72362 /* 203987 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72363 /* 203991 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
72364 /* 203995 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72365 /* 203997 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72366 /* 204004 */ // (ctlz:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (LZCNT32rm:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
72367 /* 204004 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LZCNT32rm),
72368 /* 204007 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72369 /* 204009 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72370 /* 204013 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
72371 /* 204016 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72372 /* 204021 */ GIR_RootConstrainSelectedInstOperands,
72373 /* 204022 */ // GIR_Coverage, 73,
72374 /* 204022 */ GIR_EraseRootFromParent_Done,
72375 /* 204023 */ // Label 4627: @204023
72376 /* 204023 */ GIM_Try, /*On fail goto*//*Label 4628*/ GIMT_Encode4(204048), // Rule ID 72 //
72377 /* 204028 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLZCNT),
72378 /* 204031 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
72379 /* 204035 */ // (ctlz:{ *:[i32] } GR32:{ *:[i32] }:$src1) => (LZCNT32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
72380 /* 204035 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::LZCNT32rr),
72381 /* 204040 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
72382 /* 204046 */ GIR_RootConstrainSelectedInstOperands,
72383 /* 204047 */ // GIR_Coverage, 72,
72384 /* 204047 */ GIR_Done,
72385 /* 204048 */ // Label 4628: @204048
72386 /* 204048 */ GIM_Reject,
72387 /* 204049 */ // Label 4626: @204049
72388 /* 204049 */ GIM_Reject,
72389 /* 204050 */ // Label 4615: @204050
72390 /* 204050 */ GIM_Try, /*On fail goto*//*Label 4629*/ GIMT_Encode4(204143),
72391 /* 204055 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
72392 /* 204058 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
72393 /* 204062 */ GIM_Try, /*On fail goto*//*Label 4630*/ GIMT_Encode4(204117), // Rule ID 75 //
72394 /* 204067 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLZCNT),
72395 /* 204070 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72396 /* 204074 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72397 /* 204078 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72398 /* 204081 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72399 /* 204085 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72400 /* 204089 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72401 /* 204091 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72402 /* 204098 */ // (ctlz:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (LZCNT64rm:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
72403 /* 204098 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LZCNT64rm),
72404 /* 204101 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72405 /* 204103 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72406 /* 204107 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
72407 /* 204110 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72408 /* 204115 */ GIR_RootConstrainSelectedInstOperands,
72409 /* 204116 */ // GIR_Coverage, 75,
72410 /* 204116 */ GIR_EraseRootFromParent_Done,
72411 /* 204117 */ // Label 4630: @204117
72412 /* 204117 */ GIM_Try, /*On fail goto*//*Label 4631*/ GIMT_Encode4(204142), // Rule ID 74 //
72413 /* 204122 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLZCNT),
72414 /* 204125 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
72415 /* 204129 */ // (ctlz:{ *:[i64] } GR64:{ *:[i64] }:$src1) => (LZCNT64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
72416 /* 204129 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::LZCNT64rr),
72417 /* 204134 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
72418 /* 204140 */ GIR_RootConstrainSelectedInstOperands,
72419 /* 204141 */ // GIR_Coverage, 74,
72420 /* 204141 */ GIR_Done,
72421 /* 204142 */ // Label 4631: @204142
72422 /* 204142 */ GIM_Reject,
72423 /* 204143 */ // Label 4629: @204143
72424 /* 204143 */ GIM_Reject,
72425 /* 204144 */ // Label 4616: @204144
72426 /* 204144 */ GIM_Try, /*On fail goto*//*Label 4632*/ GIMT_Encode4(204339),
72427 /* 204149 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
72428 /* 204152 */ GIM_Try, /*On fail goto*//*Label 4633*/ GIMT_Encode4(204208), // Rule ID 13357 //
72429 /* 204157 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_HasVLX),
72430 /* 204160 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72431 /* 204164 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72432 /* 204168 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72433 /* 204172 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72434 /* 204175 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72435 /* 204179 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72436 /* 204183 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72437 /* 204185 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72438 /* 204192 */ // (ctlz:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPLZCNTQZ128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)
72439 /* 204192 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZ128rm),
72440 /* 204195 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72441 /* 204197 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72442 /* 204201 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72443 /* 204206 */ GIR_RootConstrainSelectedInstOperands,
72444 /* 204207 */ // GIR_Coverage, 13357,
72445 /* 204207 */ GIR_EraseRootFromParent_Done,
72446 /* 204208 */ // Label 4633: @204208
72447 /* 204208 */ GIM_Try, /*On fail goto*//*Label 4634*/ GIMT_Encode4(204231), // Rule ID 13354 //
72448 /* 204213 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_HasVLX),
72449 /* 204216 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72450 /* 204220 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72451 /* 204224 */ // (ctlz:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1) => (VPLZCNTQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1)
72452 /* 204224 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZ128rr),
72453 /* 204229 */ GIR_RootConstrainSelectedInstOperands,
72454 /* 204230 */ // GIR_Coverage, 13354,
72455 /* 204230 */ GIR_Done,
72456 /* 204231 */ // Label 4634: @204231
72457 /* 204231 */ GIM_Try, /*On fail goto*//*Label 4635*/ GIMT_Encode4(204338), // Rule ID 21826 //
72458 /* 204236 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_HasEVEX512_NoVLX),
72459 /* 204239 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
72460 /* 204243 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72461 /* 204247 */ // (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] })
72462 /* 204247 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
72463 /* 204250 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72464 /* 204254 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
72465 /* 204259 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
72466 /* 204261 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
72467 /* 204264 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
72468 /* 204268 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
72469 /* 204273 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
72470 /* 204276 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
72471 /* 204280 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/11,
72472 /* 204283 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
72473 /* 204288 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72474 /* 204293 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
72475 /* 204298 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
72476 /* 204301 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZrr),
72477 /* 204305 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
72478 /* 204310 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
72479 /* 204313 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72480 /* 204315 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
72481 /* 204318 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72482 /* 204320 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
72483 /* 204327 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
72484 /* 204332 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72485 /* 204337 */ // GIR_Coverage, 21826,
72486 /* 204337 */ GIR_EraseRootFromParent_Done,
72487 /* 204338 */ // Label 4635: @204338
72488 /* 204338 */ GIM_Reject,
72489 /* 204339 */ // Label 4632: @204339
72490 /* 204339 */ GIM_Reject,
72491 /* 204340 */ // Label 4617: @204340
72492 /* 204340 */ GIM_Try, /*On fail goto*//*Label 4636*/ GIMT_Encode4(204535),
72493 /* 204345 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
72494 /* 204348 */ GIM_Try, /*On fail goto*//*Label 4637*/ GIMT_Encode4(204404), // Rule ID 13384 //
72495 /* 204353 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_HasVLX),
72496 /* 204356 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72497 /* 204360 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72498 /* 204364 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72499 /* 204368 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72500 /* 204371 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72501 /* 204375 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72502 /* 204379 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72503 /* 204381 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72504 /* 204388 */ // (ctlz:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPLZCNTDZ128rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)
72505 /* 204388 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZ128rm),
72506 /* 204391 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72507 /* 204393 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72508 /* 204397 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72509 /* 204402 */ GIR_RootConstrainSelectedInstOperands,
72510 /* 204403 */ // GIR_Coverage, 13384,
72511 /* 204403 */ GIR_EraseRootFromParent_Done,
72512 /* 204404 */ // Label 4637: @204404
72513 /* 204404 */ GIM_Try, /*On fail goto*//*Label 4638*/ GIMT_Encode4(204427), // Rule ID 13381 //
72514 /* 204409 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_HasVLX),
72515 /* 204412 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72516 /* 204416 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72517 /* 204420 */ // (ctlz:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1) => (VPLZCNTDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1)
72518 /* 204420 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZ128rr),
72519 /* 204425 */ GIR_RootConstrainSelectedInstOperands,
72520 /* 204426 */ // GIR_Coverage, 13381,
72521 /* 204426 */ GIR_Done,
72522 /* 204427 */ // Label 4638: @204427
72523 /* 204427 */ GIM_Try, /*On fail goto*//*Label 4639*/ GIMT_Encode4(204534), // Rule ID 21828 //
72524 /* 204432 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_HasEVEX512_NoVLX),
72525 /* 204435 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
72526 /* 204439 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72527 /* 204443 */ // (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] })
72528 /* 204443 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
72529 /* 204446 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72530 /* 204450 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
72531 /* 204455 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
72532 /* 204457 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
72533 /* 204460 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
72534 /* 204464 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
72535 /* 204469 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
72536 /* 204472 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
72537 /* 204476 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/11,
72538 /* 204479 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
72539 /* 204484 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72540 /* 204489 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
72541 /* 204494 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
72542 /* 204497 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZrr),
72543 /* 204501 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
72544 /* 204506 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
72545 /* 204509 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72546 /* 204511 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
72547 /* 204514 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72548 /* 204516 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
72549 /* 204523 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
72550 /* 204528 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72551 /* 204533 */ // GIR_Coverage, 21828,
72552 /* 204533 */ GIR_EraseRootFromParent_Done,
72553 /* 204534 */ // Label 4639: @204534
72554 /* 204534 */ GIM_Reject,
72555 /* 204535 */ // Label 4636: @204535
72556 /* 204535 */ GIM_Reject,
72557 /* 204536 */ // Label 4618: @204536
72558 /* 204536 */ GIM_Try, /*On fail goto*//*Label 4640*/ GIMT_Encode4(204723),
72559 /* 204541 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
72560 /* 204544 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72561 /* 204548 */ GIM_Try, /*On fail goto*//*Label 4641*/ GIMT_Encode4(204600), // Rule ID 13348 //
72562 /* 204553 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_HasVLX),
72563 /* 204556 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72564 /* 204560 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72565 /* 204564 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72566 /* 204567 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72567 /* 204571 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72568 /* 204575 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72569 /* 204577 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72570 /* 204584 */ // (ctlz:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPLZCNTQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src1)
72571 /* 204584 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZ256rm),
72572 /* 204587 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72573 /* 204589 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72574 /* 204593 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72575 /* 204598 */ GIR_RootConstrainSelectedInstOperands,
72576 /* 204599 */ // GIR_Coverage, 13348,
72577 /* 204599 */ GIR_EraseRootFromParent_Done,
72578 /* 204600 */ // Label 4641: @204600
72579 /* 204600 */ GIM_Try, /*On fail goto*//*Label 4642*/ GIMT_Encode4(204619), // Rule ID 13345 //
72580 /* 204605 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_HasVLX),
72581 /* 204608 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72582 /* 204612 */ // (ctlz:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1) => (VPLZCNTQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1)
72583 /* 204612 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZ256rr),
72584 /* 204617 */ GIR_RootConstrainSelectedInstOperands,
72585 /* 204618 */ // GIR_Coverage, 13345,
72586 /* 204618 */ GIR_Done,
72587 /* 204619 */ // Label 4642: @204619
72588 /* 204619 */ GIM_Try, /*On fail goto*//*Label 4643*/ GIMT_Encode4(204722), // Rule ID 21825 //
72589 /* 204624 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_HasEVEX512_NoVLX),
72590 /* 204627 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72591 /* 204631 */ // (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] })
72592 /* 204631 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
72593 /* 204634 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72594 /* 204638 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
72595 /* 204643 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
72596 /* 204645 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
72597 /* 204648 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
72598 /* 204652 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
72599 /* 204657 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
72600 /* 204660 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
72601 /* 204664 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/12,
72602 /* 204667 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
72603 /* 204672 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72604 /* 204677 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
72605 /* 204682 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
72606 /* 204685 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZrr),
72607 /* 204689 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
72608 /* 204694 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
72609 /* 204697 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72610 /* 204699 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
72611 /* 204702 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72612 /* 204704 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
72613 /* 204711 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
72614 /* 204716 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72615 /* 204721 */ // GIR_Coverage, 21825,
72616 /* 204721 */ GIR_EraseRootFromParent_Done,
72617 /* 204722 */ // Label 4643: @204722
72618 /* 204722 */ GIM_Reject,
72619 /* 204723 */ // Label 4640: @204723
72620 /* 204723 */ GIM_Reject,
72621 /* 204724 */ // Label 4619: @204724
72622 /* 204724 */ GIM_Try, /*On fail goto*//*Label 4644*/ GIMT_Encode4(204911),
72623 /* 204729 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
72624 /* 204732 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72625 /* 204736 */ GIM_Try, /*On fail goto*//*Label 4645*/ GIMT_Encode4(204788), // Rule ID 13375 //
72626 /* 204741 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_HasVLX),
72627 /* 204744 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72628 /* 204748 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72629 /* 204752 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72630 /* 204755 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72631 /* 204759 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72632 /* 204763 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72633 /* 204765 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72634 /* 204772 */ // (ctlz:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPLZCNTDZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src1)
72635 /* 204772 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZ256rm),
72636 /* 204775 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72637 /* 204777 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72638 /* 204781 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72639 /* 204786 */ GIR_RootConstrainSelectedInstOperands,
72640 /* 204787 */ // GIR_Coverage, 13375,
72641 /* 204787 */ GIR_EraseRootFromParent_Done,
72642 /* 204788 */ // Label 4645: @204788
72643 /* 204788 */ GIM_Try, /*On fail goto*//*Label 4646*/ GIMT_Encode4(204807), // Rule ID 13372 //
72644 /* 204793 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_HasVLX),
72645 /* 204796 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72646 /* 204800 */ // (ctlz:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1) => (VPLZCNTDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1)
72647 /* 204800 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZ256rr),
72648 /* 204805 */ GIR_RootConstrainSelectedInstOperands,
72649 /* 204806 */ // GIR_Coverage, 13372,
72650 /* 204806 */ GIR_Done,
72651 /* 204807 */ // Label 4646: @204807
72652 /* 204807 */ GIM_Try, /*On fail goto*//*Label 4647*/ GIMT_Encode4(204910), // Rule ID 21827 //
72653 /* 204812 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_HasEVEX512_NoVLX),
72654 /* 204815 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72655 /* 204819 */ // (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] })
72656 /* 204819 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
72657 /* 204822 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72658 /* 204826 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
72659 /* 204831 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
72660 /* 204833 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
72661 /* 204836 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
72662 /* 204840 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
72663 /* 204845 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
72664 /* 204848 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
72665 /* 204852 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/12,
72666 /* 204855 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
72667 /* 204860 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72668 /* 204865 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
72669 /* 204870 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
72670 /* 204873 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZrr),
72671 /* 204877 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
72672 /* 204882 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
72673 /* 204885 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72674 /* 204887 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
72675 /* 204890 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72676 /* 204892 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
72677 /* 204899 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
72678 /* 204904 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72679 /* 204909 */ // GIR_Coverage, 21827,
72680 /* 204909 */ GIR_EraseRootFromParent_Done,
72681 /* 204910 */ // Label 4647: @204910
72682 /* 204910 */ GIM_Reject,
72683 /* 204911 */ // Label 4644: @204911
72684 /* 204911 */ GIM_Reject,
72685 /* 204912 */ // Label 4620: @204912
72686 /* 204912 */ GIM_Try, /*On fail goto*//*Label 4648*/ GIMT_Encode4(204996),
72687 /* 204917 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
72688 /* 204920 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72689 /* 204924 */ GIM_Try, /*On fail goto*//*Label 4649*/ GIMT_Encode4(204976), // Rule ID 13339 //
72690 /* 204929 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI),
72691 /* 204932 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72692 /* 204936 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72693 /* 204940 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72694 /* 204943 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72695 /* 204947 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72696 /* 204951 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72697 /* 204953 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72698 /* 204960 */ // (ctlz:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPLZCNTQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src1)
72699 /* 204960 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZrm),
72700 /* 204963 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72701 /* 204965 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72702 /* 204969 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72703 /* 204974 */ GIR_RootConstrainSelectedInstOperands,
72704 /* 204975 */ // GIR_Coverage, 13339,
72705 /* 204975 */ GIR_EraseRootFromParent_Done,
72706 /* 204976 */ // Label 4649: @204976
72707 /* 204976 */ GIM_Try, /*On fail goto*//*Label 4650*/ GIMT_Encode4(204995), // Rule ID 13336 //
72708 /* 204981 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI),
72709 /* 204984 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72710 /* 204988 */ // (ctlz:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1) => (VPLZCNTQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1)
72711 /* 204988 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZrr),
72712 /* 204993 */ GIR_RootConstrainSelectedInstOperands,
72713 /* 204994 */ // GIR_Coverage, 13336,
72714 /* 204994 */ GIR_Done,
72715 /* 204995 */ // Label 4650: @204995
72716 /* 204995 */ GIM_Reject,
72717 /* 204996 */ // Label 4648: @204996
72718 /* 204996 */ GIM_Reject,
72719 /* 204997 */ // Label 4621: @204997
72720 /* 204997 */ GIM_Try, /*On fail goto*//*Label 4651*/ GIMT_Encode4(205081),
72721 /* 205002 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
72722 /* 205005 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72723 /* 205009 */ GIM_Try, /*On fail goto*//*Label 4652*/ GIMT_Encode4(205061), // Rule ID 13366 //
72724 /* 205014 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI),
72725 /* 205017 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72726 /* 205021 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72727 /* 205025 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72728 /* 205028 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72729 /* 205032 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72730 /* 205036 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72731 /* 205038 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72732 /* 205045 */ // (ctlz:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPLZCNTDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src1)
72733 /* 205045 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZrm),
72734 /* 205048 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72735 /* 205050 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72736 /* 205054 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72737 /* 205059 */ GIR_RootConstrainSelectedInstOperands,
72738 /* 205060 */ // GIR_Coverage, 13366,
72739 /* 205060 */ GIR_EraseRootFromParent_Done,
72740 /* 205061 */ // Label 4652: @205061
72741 /* 205061 */ GIM_Try, /*On fail goto*//*Label 4653*/ GIMT_Encode4(205080), // Rule ID 13363 //
72742 /* 205066 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI),
72743 /* 205069 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72744 /* 205073 */ // (ctlz:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1) => (VPLZCNTDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1)
72745 /* 205073 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZrr),
72746 /* 205078 */ GIR_RootConstrainSelectedInstOperands,
72747 /* 205079 */ // GIR_Coverage, 13363,
72748 /* 205079 */ GIR_Done,
72749 /* 205080 */ // Label 4653: @205080
72750 /* 205080 */ GIM_Reject,
72751 /* 205081 */ // Label 4651: @205081
72752 /* 205081 */ GIM_Reject,
72753 /* 205082 */ // Label 4622: @205082
72754 /* 205082 */ GIM_Reject,
72755 /* 205083 */ // Label 65: @205083
72756 /* 205083 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 4669*/ GIMT_Encode4(207344),
72757 /* 205094 */ /*GILLT_s16*//*Label 4654*/ GIMT_Encode4(205186),
72758 /* 205098 */ /*GILLT_s32*//*Label 4655*/ GIMT_Encode4(205280),
72759 /* 205102 */ /*GILLT_s64*//*Label 4656*/ GIMT_Encode4(205374), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
72760 /* 205118 */ /*GILLT_v2s64*//*Label 4657*/ GIMT_Encode4(205468), GIMT_Encode4(0),
72761 /* 205126 */ /*GILLT_v4s32*//*Label 4658*/ GIMT_Encode4(205664),
72762 /* 205130 */ /*GILLT_v4s64*//*Label 4659*/ GIMT_Encode4(205860), GIMT_Encode4(0),
72763 /* 205138 */ /*GILLT_v8s16*//*Label 4660*/ GIMT_Encode4(206048),
72764 /* 205142 */ /*GILLT_v8s32*//*Label 4661*/ GIMT_Encode4(206244),
72765 /* 205146 */ /*GILLT_v8s64*//*Label 4662*/ GIMT_Encode4(206432), GIMT_Encode4(0),
72766 /* 205154 */ /*GILLT_v16s8*//*Label 4663*/ GIMT_Encode4(206517),
72767 /* 205158 */ /*GILLT_v16s16*//*Label 4664*/ GIMT_Encode4(206713),
72768 /* 205162 */ /*GILLT_v16s32*//*Label 4665*/ GIMT_Encode4(206901), GIMT_Encode4(0),
72769 /* 205170 */ /*GILLT_v32s8*//*Label 4666*/ GIMT_Encode4(206986),
72770 /* 205174 */ /*GILLT_v32s16*//*Label 4667*/ GIMT_Encode4(207174), GIMT_Encode4(0),
72771 /* 205182 */ /*GILLT_v64s8*//*Label 4668*/ GIMT_Encode4(207259),
72772 /* 205186 */ // Label 4654: @205186
72773 /* 205186 */ GIM_Try, /*On fail goto*//*Label 4670*/ GIMT_Encode4(205279),
72774 /* 205191 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
72775 /* 205194 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
72776 /* 205198 */ GIM_Try, /*On fail goto*//*Label 4671*/ GIMT_Encode4(205253), // Rule ID 3176 //
72777 /* 205203 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPOPCNT),
72778 /* 205206 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72779 /* 205210 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72780 /* 205214 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72781 /* 205217 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72782 /* 205221 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
72783 /* 205225 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72784 /* 205227 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72785 /* 205234 */ // (ctpop:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (POPCNT16rm:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
72786 /* 205234 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::POPCNT16rm),
72787 /* 205237 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72788 /* 205239 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72789 /* 205243 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
72790 /* 205246 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72791 /* 205251 */ GIR_RootConstrainSelectedInstOperands,
72792 /* 205252 */ // GIR_Coverage, 3176,
72793 /* 205252 */ GIR_EraseRootFromParent_Done,
72794 /* 205253 */ // Label 4671: @205253
72795 /* 205253 */ GIM_Try, /*On fail goto*//*Label 4672*/ GIMT_Encode4(205278), // Rule ID 3175 //
72796 /* 205258 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPOPCNT),
72797 /* 205261 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
72798 /* 205265 */ // (ctpop:{ *:[i16] } GR16:{ *:[i16] }:$src1) => (POPCNT16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
72799 /* 205265 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::POPCNT16rr),
72800 /* 205270 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
72801 /* 205276 */ GIR_RootConstrainSelectedInstOperands,
72802 /* 205277 */ // GIR_Coverage, 3175,
72803 /* 205277 */ GIR_Done,
72804 /* 205278 */ // Label 4672: @205278
72805 /* 205278 */ GIM_Reject,
72806 /* 205279 */ // Label 4670: @205279
72807 /* 205279 */ GIM_Reject,
72808 /* 205280 */ // Label 4655: @205280
72809 /* 205280 */ GIM_Try, /*On fail goto*//*Label 4673*/ GIMT_Encode4(205373),
72810 /* 205285 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
72811 /* 205288 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
72812 /* 205292 */ GIM_Try, /*On fail goto*//*Label 4674*/ GIMT_Encode4(205347), // Rule ID 3178 //
72813 /* 205297 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPOPCNT),
72814 /* 205300 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72815 /* 205304 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72816 /* 205308 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72817 /* 205311 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72818 /* 205315 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
72819 /* 205319 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72820 /* 205321 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72821 /* 205328 */ // (ctpop:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (POPCNT32rm:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
72822 /* 205328 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::POPCNT32rm),
72823 /* 205331 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72824 /* 205333 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72825 /* 205337 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
72826 /* 205340 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72827 /* 205345 */ GIR_RootConstrainSelectedInstOperands,
72828 /* 205346 */ // GIR_Coverage, 3178,
72829 /* 205346 */ GIR_EraseRootFromParent_Done,
72830 /* 205347 */ // Label 4674: @205347
72831 /* 205347 */ GIM_Try, /*On fail goto*//*Label 4675*/ GIMT_Encode4(205372), // Rule ID 3177 //
72832 /* 205352 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPOPCNT),
72833 /* 205355 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
72834 /* 205359 */ // (ctpop:{ *:[i32] } GR32:{ *:[i32] }:$src1) => (POPCNT32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
72835 /* 205359 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::POPCNT32rr),
72836 /* 205364 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
72837 /* 205370 */ GIR_RootConstrainSelectedInstOperands,
72838 /* 205371 */ // GIR_Coverage, 3177,
72839 /* 205371 */ GIR_Done,
72840 /* 205372 */ // Label 4675: @205372
72841 /* 205372 */ GIM_Reject,
72842 /* 205373 */ // Label 4673: @205373
72843 /* 205373 */ GIM_Reject,
72844 /* 205374 */ // Label 4656: @205374
72845 /* 205374 */ GIM_Try, /*On fail goto*//*Label 4676*/ GIMT_Encode4(205467),
72846 /* 205379 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
72847 /* 205382 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
72848 /* 205386 */ GIM_Try, /*On fail goto*//*Label 4677*/ GIMT_Encode4(205441), // Rule ID 3180 //
72849 /* 205391 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPOPCNT),
72850 /* 205394 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72851 /* 205398 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72852 /* 205402 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72853 /* 205405 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72854 /* 205409 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72855 /* 205413 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72856 /* 205415 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72857 /* 205422 */ // (ctpop:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (POPCNT64rm:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
72858 /* 205422 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::POPCNT64rm),
72859 /* 205425 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72860 /* 205427 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72861 /* 205431 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
72862 /* 205434 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72863 /* 205439 */ GIR_RootConstrainSelectedInstOperands,
72864 /* 205440 */ // GIR_Coverage, 3180,
72865 /* 205440 */ GIR_EraseRootFromParent_Done,
72866 /* 205441 */ // Label 4677: @205441
72867 /* 205441 */ GIM_Try, /*On fail goto*//*Label 4678*/ GIMT_Encode4(205466), // Rule ID 3179 //
72868 /* 205446 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPOPCNT),
72869 /* 205449 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
72870 /* 205453 */ // (ctpop:{ *:[i64] } GR64:{ *:[i64] }:$src1) => (POPCNT64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
72871 /* 205453 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::POPCNT64rr),
72872 /* 205458 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
72873 /* 205464 */ GIR_RootConstrainSelectedInstOperands,
72874 /* 205465 */ // GIR_Coverage, 3179,
72875 /* 205465 */ GIR_Done,
72876 /* 205466 */ // Label 4678: @205466
72877 /* 205466 */ GIM_Reject,
72878 /* 205467 */ // Label 4676: @205467
72879 /* 205467 */ GIM_Reject,
72880 /* 205468 */ // Label 4657: @205468
72881 /* 205468 */ GIM_Try, /*On fail goto*//*Label 4679*/ GIMT_Encode4(205663),
72882 /* 205473 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
72883 /* 205476 */ GIM_Try, /*On fail goto*//*Label 4680*/ GIMT_Encode4(205532), // Rule ID 13465 //
72884 /* 205481 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ),
72885 /* 205484 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72886 /* 205488 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72887 /* 205492 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72888 /* 205496 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72889 /* 205499 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72890 /* 205503 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72891 /* 205507 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72892 /* 205509 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72893 /* 205516 */ // (ctpop:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTQZ128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)
72894 /* 205516 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZ128rm),
72895 /* 205519 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72896 /* 205521 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72897 /* 205525 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72898 /* 205530 */ GIR_RootConstrainSelectedInstOperands,
72899 /* 205531 */ // GIR_Coverage, 13465,
72900 /* 205531 */ GIR_EraseRootFromParent_Done,
72901 /* 205532 */ // Label 4680: @205532
72902 /* 205532 */ GIM_Try, /*On fail goto*//*Label 4681*/ GIMT_Encode4(205555), // Rule ID 13462 //
72903 /* 205537 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ),
72904 /* 205540 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72905 /* 205544 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72906 /* 205548 */ // (ctpop:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1) => (VPOPCNTQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1)
72907 /* 205548 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZ128rr),
72908 /* 205553 */ GIR_RootConstrainSelectedInstOperands,
72909 /* 205554 */ // GIR_Coverage, 13462,
72910 /* 205554 */ GIR_Done,
72911 /* 205555 */ // Label 4681: @205555
72912 /* 205555 */ GIM_Try, /*On fail goto*//*Label 4682*/ GIMT_Encode4(205662), // Rule ID 21830 //
72913 /* 205560 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEVEX512_HasVPOPCNTDQ_NoVLX),
72914 /* 205563 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
72915 /* 205567 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72916 /* 205571 */ // (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] })
72917 /* 205571 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
72918 /* 205574 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72919 /* 205578 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
72920 /* 205583 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
72921 /* 205585 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
72922 /* 205588 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
72923 /* 205592 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
72924 /* 205597 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
72925 /* 205600 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
72926 /* 205604 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/11,
72927 /* 205607 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
72928 /* 205612 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72929 /* 205617 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
72930 /* 205622 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
72931 /* 205625 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZrr),
72932 /* 205629 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
72933 /* 205634 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
72934 /* 205637 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72935 /* 205639 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
72936 /* 205642 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72937 /* 205644 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
72938 /* 205651 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
72939 /* 205656 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72940 /* 205661 */ // GIR_Coverage, 21830,
72941 /* 205661 */ GIR_EraseRootFromParent_Done,
72942 /* 205662 */ // Label 4682: @205662
72943 /* 205662 */ GIM_Reject,
72944 /* 205663 */ // Label 4679: @205663
72945 /* 205663 */ GIM_Reject,
72946 /* 205664 */ // Label 4658: @205664
72947 /* 205664 */ GIM_Try, /*On fail goto*//*Label 4683*/ GIMT_Encode4(205859),
72948 /* 205669 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
72949 /* 205672 */ GIM_Try, /*On fail goto*//*Label 4684*/ GIMT_Encode4(205728), // Rule ID 13492 //
72950 /* 205677 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ),
72951 /* 205680 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72952 /* 205684 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72953 /* 205688 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72954 /* 205692 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72955 /* 205695 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72956 /* 205699 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72957 /* 205703 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72958 /* 205705 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72959 /* 205712 */ // (ctpop:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTDZ128rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)
72960 /* 205712 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZ128rm),
72961 /* 205715 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72962 /* 205717 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72963 /* 205721 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72964 /* 205726 */ GIR_RootConstrainSelectedInstOperands,
72965 /* 205727 */ // GIR_Coverage, 13492,
72966 /* 205727 */ GIR_EraseRootFromParent_Done,
72967 /* 205728 */ // Label 4684: @205728
72968 /* 205728 */ GIM_Try, /*On fail goto*//*Label 4685*/ GIMT_Encode4(205751), // Rule ID 13489 //
72969 /* 205733 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ),
72970 /* 205736 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72971 /* 205740 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72972 /* 205744 */ // (ctpop:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1) => (VPOPCNTDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1)
72973 /* 205744 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZ128rr),
72974 /* 205749 */ GIR_RootConstrainSelectedInstOperands,
72975 /* 205750 */ // GIR_Coverage, 13489,
72976 /* 205750 */ GIR_Done,
72977 /* 205751 */ // Label 4685: @205751
72978 /* 205751 */ GIM_Try, /*On fail goto*//*Label 4686*/ GIMT_Encode4(205858), // Rule ID 21832 //
72979 /* 205756 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEVEX512_HasVPOPCNTDQ_NoVLX),
72980 /* 205759 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
72981 /* 205763 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72982 /* 205767 */ // (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] })
72983 /* 205767 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
72984 /* 205770 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72985 /* 205774 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
72986 /* 205779 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
72987 /* 205781 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
72988 /* 205784 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
72989 /* 205788 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
72990 /* 205793 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
72991 /* 205796 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
72992 /* 205800 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/11,
72993 /* 205803 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
72994 /* 205808 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72995 /* 205813 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
72996 /* 205818 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
72997 /* 205821 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZrr),
72998 /* 205825 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
72999 /* 205830 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
73000 /* 205833 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73001 /* 205835 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
73002 /* 205838 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73003 /* 205840 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
73004 /* 205847 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
73005 /* 205852 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
73006 /* 205857 */ // GIR_Coverage, 21832,
73007 /* 205857 */ GIR_EraseRootFromParent_Done,
73008 /* 205858 */ // Label 4686: @205858
73009 /* 205858 */ GIM_Reject,
73010 /* 205859 */ // Label 4683: @205859
73011 /* 205859 */ GIM_Reject,
73012 /* 205860 */ // Label 4659: @205860
73013 /* 205860 */ GIM_Try, /*On fail goto*//*Label 4687*/ GIMT_Encode4(206047),
73014 /* 205865 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
73015 /* 205868 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73016 /* 205872 */ GIM_Try, /*On fail goto*//*Label 4688*/ GIMT_Encode4(205924), // Rule ID 13456 //
73017 /* 205877 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ),
73018 /* 205880 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73019 /* 205884 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73020 /* 205888 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73021 /* 205891 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73022 /* 205895 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73023 /* 205899 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73024 /* 205901 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73025 /* 205908 */ // (ctpop:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src1)
73026 /* 205908 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZ256rm),
73027 /* 205911 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73028 /* 205913 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73029 /* 205917 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73030 /* 205922 */ GIR_RootConstrainSelectedInstOperands,
73031 /* 205923 */ // GIR_Coverage, 13456,
73032 /* 205923 */ GIR_EraseRootFromParent_Done,
73033 /* 205924 */ // Label 4688: @205924
73034 /* 205924 */ GIM_Try, /*On fail goto*//*Label 4689*/ GIMT_Encode4(205943), // Rule ID 13453 //
73035 /* 205929 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ),
73036 /* 205932 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73037 /* 205936 */ // (ctpop:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1) => (VPOPCNTQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1)
73038 /* 205936 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZ256rr),
73039 /* 205941 */ GIR_RootConstrainSelectedInstOperands,
73040 /* 205942 */ // GIR_Coverage, 13453,
73041 /* 205942 */ GIR_Done,
73042 /* 205943 */ // Label 4689: @205943
73043 /* 205943 */ GIM_Try, /*On fail goto*//*Label 4690*/ GIMT_Encode4(206046), // Rule ID 21829 //
73044 /* 205948 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEVEX512_HasVPOPCNTDQ_NoVLX),
73045 /* 205951 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73046 /* 205955 */ // (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] })
73047 /* 205955 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
73048 /* 205958 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73049 /* 205962 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
73050 /* 205967 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
73051 /* 205969 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
73052 /* 205972 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
73053 /* 205976 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
73054 /* 205981 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
73055 /* 205984 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
73056 /* 205988 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/12,
73057 /* 205991 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
73058 /* 205996 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
73059 /* 206001 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
73060 /* 206006 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
73061 /* 206009 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZrr),
73062 /* 206013 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
73063 /* 206018 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
73064 /* 206021 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73065 /* 206023 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
73066 /* 206026 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73067 /* 206028 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
73068 /* 206035 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
73069 /* 206040 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
73070 /* 206045 */ // GIR_Coverage, 21829,
73071 /* 206045 */ GIR_EraseRootFromParent_Done,
73072 /* 206046 */ // Label 4690: @206046
73073 /* 206046 */ GIM_Reject,
73074 /* 206047 */ // Label 4687: @206047
73075 /* 206047 */ GIM_Reject,
73076 /* 206048 */ // Label 4660: @206048
73077 /* 206048 */ GIM_Try, /*On fail goto*//*Label 4691*/ GIMT_Encode4(206243),
73078 /* 206053 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
73079 /* 206056 */ GIM_Try, /*On fail goto*//*Label 4692*/ GIMT_Encode4(206112), // Rule ID 14519 //
73080 /* 206061 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_HasVLX),
73081 /* 206064 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73082 /* 206068 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73083 /* 206072 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73084 /* 206076 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73085 /* 206079 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73086 /* 206083 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73087 /* 206087 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73088 /* 206089 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73089 /* 206096 */ // (ctpop:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTWZ128rm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src1)
73090 /* 206096 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZ128rm),
73091 /* 206099 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73092 /* 206101 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73093 /* 206105 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73094 /* 206110 */ GIR_RootConstrainSelectedInstOperands,
73095 /* 206111 */ // GIR_Coverage, 14519,
73096 /* 206111 */ GIR_EraseRootFromParent_Done,
73097 /* 206112 */ // Label 4692: @206112
73098 /* 206112 */ GIM_Try, /*On fail goto*//*Label 4693*/ GIMT_Encode4(206135), // Rule ID 14516 //
73099 /* 206117 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_HasVLX),
73100 /* 206120 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73101 /* 206124 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73102 /* 206128 */ // (ctpop:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1) => (VPOPCNTWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1)
73103 /* 206128 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZ128rr),
73104 /* 206133 */ GIR_RootConstrainSelectedInstOperands,
73105 /* 206134 */ // GIR_Coverage, 14516,
73106 /* 206134 */ GIR_Done,
73107 /* 206135 */ // Label 4693: @206135
73108 /* 206135 */ GIM_Try, /*On fail goto*//*Label 4694*/ GIMT_Encode4(206242), // Rule ID 22139 //
73109 /* 206140 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_HasEVEX512_NoVLX),
73110 /* 206143 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
73111 /* 206147 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73112 /* 206151 */ // (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] })
73113 /* 206151 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
73114 /* 206154 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73115 /* 206158 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
73116 /* 206163 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
73117 /* 206165 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
73118 /* 206168 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
73119 /* 206172 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
73120 /* 206177 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
73121 /* 206180 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
73122 /* 206184 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/11,
73123 /* 206187 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
73124 /* 206192 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
73125 /* 206197 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
73126 /* 206202 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
73127 /* 206205 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZrr),
73128 /* 206209 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
73129 /* 206214 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
73130 /* 206217 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73131 /* 206219 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
73132 /* 206222 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73133 /* 206224 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
73134 /* 206231 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
73135 /* 206236 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
73136 /* 206241 */ // GIR_Coverage, 22139,
73137 /* 206241 */ GIR_EraseRootFromParent_Done,
73138 /* 206242 */ // Label 4694: @206242
73139 /* 206242 */ GIM_Reject,
73140 /* 206243 */ // Label 4691: @206243
73141 /* 206243 */ GIM_Reject,
73142 /* 206244 */ // Label 4661: @206244
73143 /* 206244 */ GIM_Try, /*On fail goto*//*Label 4695*/ GIMT_Encode4(206431),
73144 /* 206249 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
73145 /* 206252 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73146 /* 206256 */ GIM_Try, /*On fail goto*//*Label 4696*/ GIMT_Encode4(206308), // Rule ID 13483 //
73147 /* 206261 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ),
73148 /* 206264 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73149 /* 206268 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73150 /* 206272 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73151 /* 206275 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73152 /* 206279 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73153 /* 206283 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73154 /* 206285 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73155 /* 206292 */ // (ctpop:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTDZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src1)
73156 /* 206292 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZ256rm),
73157 /* 206295 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73158 /* 206297 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73159 /* 206301 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73160 /* 206306 */ GIR_RootConstrainSelectedInstOperands,
73161 /* 206307 */ // GIR_Coverage, 13483,
73162 /* 206307 */ GIR_EraseRootFromParent_Done,
73163 /* 206308 */ // Label 4696: @206308
73164 /* 206308 */ GIM_Try, /*On fail goto*//*Label 4697*/ GIMT_Encode4(206327), // Rule ID 13480 //
73165 /* 206313 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ),
73166 /* 206316 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73167 /* 206320 */ // (ctpop:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1) => (VPOPCNTDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1)
73168 /* 206320 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZ256rr),
73169 /* 206325 */ GIR_RootConstrainSelectedInstOperands,
73170 /* 206326 */ // GIR_Coverage, 13480,
73171 /* 206326 */ GIR_Done,
73172 /* 206327 */ // Label 4697: @206327
73173 /* 206327 */ GIM_Try, /*On fail goto*//*Label 4698*/ GIMT_Encode4(206430), // Rule ID 21831 //
73174 /* 206332 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEVEX512_HasVPOPCNTDQ_NoVLX),
73175 /* 206335 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73176 /* 206339 */ // (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] })
73177 /* 206339 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
73178 /* 206342 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73179 /* 206346 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
73180 /* 206351 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
73181 /* 206353 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
73182 /* 206356 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
73183 /* 206360 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
73184 /* 206365 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
73185 /* 206368 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
73186 /* 206372 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/12,
73187 /* 206375 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
73188 /* 206380 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
73189 /* 206385 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
73190 /* 206390 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
73191 /* 206393 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZrr),
73192 /* 206397 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
73193 /* 206402 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
73194 /* 206405 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73195 /* 206407 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
73196 /* 206410 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73197 /* 206412 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
73198 /* 206419 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
73199 /* 206424 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
73200 /* 206429 */ // GIR_Coverage, 21831,
73201 /* 206429 */ GIR_EraseRootFromParent_Done,
73202 /* 206430 */ // Label 4698: @206430
73203 /* 206430 */ GIM_Reject,
73204 /* 206431 */ // Label 4695: @206431
73205 /* 206431 */ GIM_Reject,
73206 /* 206432 */ // Label 4662: @206432
73207 /* 206432 */ GIM_Try, /*On fail goto*//*Label 4699*/ GIMT_Encode4(206516),
73208 /* 206437 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
73209 /* 206440 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
73210 /* 206444 */ GIM_Try, /*On fail goto*//*Label 4700*/ GIMT_Encode4(206496), // Rule ID 13447 //
73211 /* 206449 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVPOPCNTDQ),
73212 /* 206452 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73213 /* 206456 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73214 /* 206460 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73215 /* 206463 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73216 /* 206467 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73217 /* 206471 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73218 /* 206473 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73219 /* 206480 */ // (ctpop:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src1)
73220 /* 206480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZrm),
73221 /* 206483 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73222 /* 206485 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73223 /* 206489 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73224 /* 206494 */ GIR_RootConstrainSelectedInstOperands,
73225 /* 206495 */ // GIR_Coverage, 13447,
73226 /* 206495 */ GIR_EraseRootFromParent_Done,
73227 /* 206496 */ // Label 4700: @206496
73228 /* 206496 */ GIM_Try, /*On fail goto*//*Label 4701*/ GIMT_Encode4(206515), // Rule ID 13444 //
73229 /* 206501 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVPOPCNTDQ),
73230 /* 206504 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
73231 /* 206508 */ // (ctpop:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1) => (VPOPCNTQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1)
73232 /* 206508 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZrr),
73233 /* 206513 */ GIR_RootConstrainSelectedInstOperands,
73234 /* 206514 */ // GIR_Coverage, 13444,
73235 /* 206514 */ GIR_Done,
73236 /* 206515 */ // Label 4701: @206515
73237 /* 206515 */ GIM_Reject,
73238 /* 206516 */ // Label 4699: @206516
73239 /* 206516 */ GIM_Reject,
73240 /* 206517 */ // Label 4663: @206517
73241 /* 206517 */ GIM_Try, /*On fail goto*//*Label 4702*/ GIMT_Encode4(206712),
73242 /* 206522 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
73243 /* 206525 */ GIM_Try, /*On fail goto*//*Label 4703*/ GIMT_Encode4(206581), // Rule ID 14501 //
73244 /* 206530 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_HasVLX),
73245 /* 206533 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73246 /* 206537 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73247 /* 206541 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73248 /* 206545 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73249 /* 206548 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73250 /* 206552 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73251 /* 206556 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73252 /* 206558 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73253 /* 206565 */ // (ctpop:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTBZ128rm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src1)
73254 /* 206565 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZ128rm),
73255 /* 206568 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73256 /* 206570 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73257 /* 206574 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73258 /* 206579 */ GIR_RootConstrainSelectedInstOperands,
73259 /* 206580 */ // GIR_Coverage, 14501,
73260 /* 206580 */ GIR_EraseRootFromParent_Done,
73261 /* 206581 */ // Label 4703: @206581
73262 /* 206581 */ GIM_Try, /*On fail goto*//*Label 4704*/ GIMT_Encode4(206604), // Rule ID 14498 //
73263 /* 206586 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_HasVLX),
73264 /* 206589 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73265 /* 206593 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73266 /* 206597 */ // (ctpop:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1) => (VPOPCNTBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1)
73267 /* 206597 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZ128rr),
73268 /* 206602 */ GIR_RootConstrainSelectedInstOperands,
73269 /* 206603 */ // GIR_Coverage, 14498,
73270 /* 206603 */ GIR_Done,
73271 /* 206604 */ // Label 4704: @206604
73272 /* 206604 */ GIM_Try, /*On fail goto*//*Label 4705*/ GIMT_Encode4(206711), // Rule ID 22137 //
73273 /* 206609 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_HasEVEX512_NoVLX),
73274 /* 206612 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
73275 /* 206616 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73276 /* 206620 */ // (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] })
73277 /* 206620 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
73278 /* 206623 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73279 /* 206627 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
73280 /* 206632 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
73281 /* 206634 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s8,
73282 /* 206637 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
73283 /* 206641 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
73284 /* 206646 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
73285 /* 206649 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
73286 /* 206653 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/11,
73287 /* 206656 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
73288 /* 206661 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
73289 /* 206666 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
73290 /* 206671 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
73291 /* 206674 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZrr),
73292 /* 206678 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
73293 /* 206683 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
73294 /* 206686 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73295 /* 206688 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
73296 /* 206691 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73297 /* 206693 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
73298 /* 206700 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
73299 /* 206705 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
73300 /* 206710 */ // GIR_Coverage, 22137,
73301 /* 206710 */ GIR_EraseRootFromParent_Done,
73302 /* 206711 */ // Label 4705: @206711
73303 /* 206711 */ GIM_Reject,
73304 /* 206712 */ // Label 4702: @206712
73305 /* 206712 */ GIM_Reject,
73306 /* 206713 */ // Label 4664: @206713
73307 /* 206713 */ GIM_Try, /*On fail goto*//*Label 4706*/ GIMT_Encode4(206900),
73308 /* 206718 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
73309 /* 206721 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73310 /* 206725 */ GIM_Try, /*On fail goto*//*Label 4707*/ GIMT_Encode4(206777), // Rule ID 14513 //
73311 /* 206730 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_HasVLX),
73312 /* 206733 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73313 /* 206737 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73314 /* 206741 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73315 /* 206744 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73316 /* 206748 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73317 /* 206752 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73318 /* 206754 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73319 /* 206761 */ // (ctpop:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTWZ256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src1)
73320 /* 206761 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZ256rm),
73321 /* 206764 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73322 /* 206766 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73323 /* 206770 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73324 /* 206775 */ GIR_RootConstrainSelectedInstOperands,
73325 /* 206776 */ // GIR_Coverage, 14513,
73326 /* 206776 */ GIR_EraseRootFromParent_Done,
73327 /* 206777 */ // Label 4707: @206777
73328 /* 206777 */ GIM_Try, /*On fail goto*//*Label 4708*/ GIMT_Encode4(206796), // Rule ID 14510 //
73329 /* 206782 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_HasVLX),
73330 /* 206785 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73331 /* 206789 */ // (ctpop:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1) => (VPOPCNTWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1)
73332 /* 206789 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZ256rr),
73333 /* 206794 */ GIR_RootConstrainSelectedInstOperands,
73334 /* 206795 */ // GIR_Coverage, 14510,
73335 /* 206795 */ GIR_Done,
73336 /* 206796 */ // Label 4708: @206796
73337 /* 206796 */ GIM_Try, /*On fail goto*//*Label 4709*/ GIMT_Encode4(206899), // Rule ID 22138 //
73338 /* 206801 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_HasEVEX512_NoVLX),
73339 /* 206804 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73340 /* 206808 */ // (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] })
73341 /* 206808 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
73342 /* 206811 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73343 /* 206815 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
73344 /* 206820 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
73345 /* 206822 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
73346 /* 206825 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
73347 /* 206829 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
73348 /* 206834 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
73349 /* 206837 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
73350 /* 206841 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/12,
73351 /* 206844 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
73352 /* 206849 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
73353 /* 206854 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
73354 /* 206859 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
73355 /* 206862 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZrr),
73356 /* 206866 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
73357 /* 206871 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
73358 /* 206874 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73359 /* 206876 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
73360 /* 206879 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73361 /* 206881 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
73362 /* 206888 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
73363 /* 206893 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
73364 /* 206898 */ // GIR_Coverage, 22138,
73365 /* 206898 */ GIR_EraseRootFromParent_Done,
73366 /* 206899 */ // Label 4709: @206899
73367 /* 206899 */ GIM_Reject,
73368 /* 206900 */ // Label 4706: @206900
73369 /* 206900 */ GIM_Reject,
73370 /* 206901 */ // Label 4665: @206901
73371 /* 206901 */ GIM_Try, /*On fail goto*//*Label 4710*/ GIMT_Encode4(206985),
73372 /* 206906 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
73373 /* 206909 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
73374 /* 206913 */ GIM_Try, /*On fail goto*//*Label 4711*/ GIMT_Encode4(206965), // Rule ID 13474 //
73375 /* 206918 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVPOPCNTDQ),
73376 /* 206921 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73377 /* 206925 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73378 /* 206929 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73379 /* 206932 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73380 /* 206936 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73381 /* 206940 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73382 /* 206942 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73383 /* 206949 */ // (ctpop:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src1)
73384 /* 206949 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZrm),
73385 /* 206952 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73386 /* 206954 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73387 /* 206958 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73388 /* 206963 */ GIR_RootConstrainSelectedInstOperands,
73389 /* 206964 */ // GIR_Coverage, 13474,
73390 /* 206964 */ GIR_EraseRootFromParent_Done,
73391 /* 206965 */ // Label 4711: @206965
73392 /* 206965 */ GIM_Try, /*On fail goto*//*Label 4712*/ GIMT_Encode4(206984), // Rule ID 13471 //
73393 /* 206970 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVPOPCNTDQ),
73394 /* 206973 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
73395 /* 206977 */ // (ctpop:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1) => (VPOPCNTDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1)
73396 /* 206977 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZrr),
73397 /* 206982 */ GIR_RootConstrainSelectedInstOperands,
73398 /* 206983 */ // GIR_Coverage, 13471,
73399 /* 206983 */ GIR_Done,
73400 /* 206984 */ // Label 4712: @206984
73401 /* 206984 */ GIM_Reject,
73402 /* 206985 */ // Label 4710: @206985
73403 /* 206985 */ GIM_Reject,
73404 /* 206986 */ // Label 4666: @206986
73405 /* 206986 */ GIM_Try, /*On fail goto*//*Label 4713*/ GIMT_Encode4(207173),
73406 /* 206991 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
73407 /* 206994 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73408 /* 206998 */ GIM_Try, /*On fail goto*//*Label 4714*/ GIMT_Encode4(207050), // Rule ID 14495 //
73409 /* 207003 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_HasVLX),
73410 /* 207006 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73411 /* 207010 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73412 /* 207014 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73413 /* 207017 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73414 /* 207021 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73415 /* 207025 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73416 /* 207027 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73417 /* 207034 */ // (ctpop:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTBZ256rm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src1)
73418 /* 207034 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZ256rm),
73419 /* 207037 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73420 /* 207039 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73421 /* 207043 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73422 /* 207048 */ GIR_RootConstrainSelectedInstOperands,
73423 /* 207049 */ // GIR_Coverage, 14495,
73424 /* 207049 */ GIR_EraseRootFromParent_Done,
73425 /* 207050 */ // Label 4714: @207050
73426 /* 207050 */ GIM_Try, /*On fail goto*//*Label 4715*/ GIMT_Encode4(207069), // Rule ID 14492 //
73427 /* 207055 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_HasVLX),
73428 /* 207058 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73429 /* 207062 */ // (ctpop:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1) => (VPOPCNTBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1)
73430 /* 207062 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZ256rr),
73431 /* 207067 */ GIR_RootConstrainSelectedInstOperands,
73432 /* 207068 */ // GIR_Coverage, 14492,
73433 /* 207068 */ GIR_Done,
73434 /* 207069 */ // Label 4715: @207069
73435 /* 207069 */ GIM_Try, /*On fail goto*//*Label 4716*/ GIMT_Encode4(207172), // Rule ID 22136 //
73436 /* 207074 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_HasEVEX512_NoVLX),
73437 /* 207077 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73438 /* 207081 */ // (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] })
73439 /* 207081 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
73440 /* 207084 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73441 /* 207088 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
73442 /* 207093 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
73443 /* 207095 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s8,
73444 /* 207098 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
73445 /* 207102 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
73446 /* 207107 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
73447 /* 207110 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
73448 /* 207114 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/12,
73449 /* 207117 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
73450 /* 207122 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
73451 /* 207127 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
73452 /* 207132 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
73453 /* 207135 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZrr),
73454 /* 207139 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
73455 /* 207144 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
73456 /* 207147 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73457 /* 207149 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
73458 /* 207152 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73459 /* 207154 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
73460 /* 207161 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
73461 /* 207166 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
73462 /* 207171 */ // GIR_Coverage, 22136,
73463 /* 207171 */ GIR_EraseRootFromParent_Done,
73464 /* 207172 */ // Label 4716: @207172
73465 /* 207172 */ GIM_Reject,
73466 /* 207173 */ // Label 4713: @207173
73467 /* 207173 */ GIM_Reject,
73468 /* 207174 */ // Label 4667: @207174
73469 /* 207174 */ GIM_Try, /*On fail goto*//*Label 4717*/ GIMT_Encode4(207258),
73470 /* 207179 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
73471 /* 207182 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
73472 /* 207186 */ GIM_Try, /*On fail goto*//*Label 4718*/ GIMT_Encode4(207238), // Rule ID 14507 //
73473 /* 207191 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG),
73474 /* 207194 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73475 /* 207198 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73476 /* 207202 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73477 /* 207205 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73478 /* 207209 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73479 /* 207213 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73480 /* 207215 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73481 /* 207222 */ // (ctpop:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTWZrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src1)
73482 /* 207222 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZrm),
73483 /* 207225 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73484 /* 207227 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73485 /* 207231 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73486 /* 207236 */ GIR_RootConstrainSelectedInstOperands,
73487 /* 207237 */ // GIR_Coverage, 14507,
73488 /* 207237 */ GIR_EraseRootFromParent_Done,
73489 /* 207238 */ // Label 4718: @207238
73490 /* 207238 */ GIM_Try, /*On fail goto*//*Label 4719*/ GIMT_Encode4(207257), // Rule ID 14504 //
73491 /* 207243 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG),
73492 /* 207246 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
73493 /* 207250 */ // (ctpop:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1) => (VPOPCNTWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1)
73494 /* 207250 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZrr),
73495 /* 207255 */ GIR_RootConstrainSelectedInstOperands,
73496 /* 207256 */ // GIR_Coverage, 14504,
73497 /* 207256 */ GIR_Done,
73498 /* 207257 */ // Label 4719: @207257
73499 /* 207257 */ GIM_Reject,
73500 /* 207258 */ // Label 4717: @207258
73501 /* 207258 */ GIM_Reject,
73502 /* 207259 */ // Label 4668: @207259
73503 /* 207259 */ GIM_Try, /*On fail goto*//*Label 4720*/ GIMT_Encode4(207343),
73504 /* 207264 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
73505 /* 207267 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
73506 /* 207271 */ GIM_Try, /*On fail goto*//*Label 4721*/ GIMT_Encode4(207323), // Rule ID 14489 //
73507 /* 207276 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG),
73508 /* 207279 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73509 /* 207283 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73510 /* 207287 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73511 /* 207290 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73512 /* 207294 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73513 /* 207298 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73514 /* 207300 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73515 /* 207307 */ // (ctpop:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTBZrm:{ *:[v64i8] } addr:{ *:[iPTR] }:$src1)
73516 /* 207307 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZrm),
73517 /* 207310 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73518 /* 207312 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73519 /* 207316 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73520 /* 207321 */ GIR_RootConstrainSelectedInstOperands,
73521 /* 207322 */ // GIR_Coverage, 14489,
73522 /* 207322 */ GIR_EraseRootFromParent_Done,
73523 /* 207323 */ // Label 4721: @207323
73524 /* 207323 */ GIM_Try, /*On fail goto*//*Label 4722*/ GIMT_Encode4(207342), // Rule ID 14486 //
73525 /* 207328 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG),
73526 /* 207331 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
73527 /* 207335 */ // (ctpop:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1) => (VPOPCNTBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1)
73528 /* 207335 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZrr),
73529 /* 207340 */ GIR_RootConstrainSelectedInstOperands,
73530 /* 207341 */ // GIR_Coverage, 14486,
73531 /* 207341 */ GIR_Done,
73532 /* 207342 */ // Label 4722: @207342
73533 /* 207342 */ GIM_Reject,
73534 /* 207343 */ // Label 4720: @207343
73535 /* 207343 */ GIM_Reject,
73536 /* 207344 */ // Label 4669: @207344
73537 /* 207344 */ GIM_Reject,
73538 /* 207345 */ // Label 66: @207345
73539 /* 207345 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 4726*/ GIMT_Encode4(207844),
73540 /* 207356 */ /*GILLT_s16*//*Label 4723*/ GIMT_Encode4(207368),
73541 /* 207360 */ /*GILLT_s32*//*Label 4724*/ GIMT_Encode4(207532),
73542 /* 207364 */ /*GILLT_s64*//*Label 4725*/ GIMT_Encode4(207688),
73543 /* 207368 */ // Label 4723: @207368
73544 /* 207368 */ GIM_Try, /*On fail goto*//*Label 4727*/ GIMT_Encode4(207531),
73545 /* 207373 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
73546 /* 207376 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
73547 /* 207380 */ GIM_Try, /*On fail goto*//*Label 4728*/ GIMT_Encode4(207432), // Rule ID 49 //
73548 /* 207385 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVBE_NoEGPR),
73549 /* 207388 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73550 /* 207392 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73551 /* 207396 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73552 /* 207399 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73553 /* 207403 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
73554 /* 207407 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73555 /* 207409 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73556 /* 207416 */ // (bswap:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (MOVBE16rm:{ *:[i16] } addr:{ *:[iPTR] }:$src1)
73557 /* 207416 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE16rm),
73558 /* 207419 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73559 /* 207421 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73560 /* 207425 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73561 /* 207430 */ GIR_RootConstrainSelectedInstOperands,
73562 /* 207431 */ // GIR_Coverage, 49,
73563 /* 207431 */ GIR_EraseRootFromParent_Done,
73564 /* 207432 */ // Label 4728: @207432
73565 /* 207432 */ GIM_Try, /*On fail goto*//*Label 4729*/ GIMT_Encode4(207484), // Rule ID 55 //
73566 /* 207437 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVBE_In64BitMode),
73567 /* 207440 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73568 /* 207444 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73569 /* 207448 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73570 /* 207451 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73571 /* 207455 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
73572 /* 207459 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73573 /* 207461 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73574 /* 207468 */ // (bswap:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (MOVBE16rm_EVEX:{ *:[i16] } addr:{ *:[iPTR] }:$src1)
73575 /* 207468 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE16rm_EVEX),
73576 /* 207471 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73577 /* 207473 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73578 /* 207477 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73579 /* 207482 */ GIR_RootConstrainSelectedInstOperands,
73580 /* 207483 */ // GIR_Coverage, 55,
73581 /* 207483 */ GIR_EraseRootFromParent_Done,
73582 /* 207484 */ // Label 4729: @207484
73583 /* 207484 */ GIM_Try, /*On fail goto*//*Label 4730*/ GIMT_Encode4(207503), // Rule ID 61 //
73584 /* 207489 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVBE_HasNDD_In64BitMode),
73585 /* 207492 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
73586 /* 207496 */ // (bswap:{ *:[i16] } GR16:{ *:[i16] }:$src1) => (MOVBE16rr:{ *:[i16] } GR16:{ *:[i16] }:$src1)
73587 /* 207496 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVBE16rr),
73588 /* 207501 */ GIR_RootConstrainSelectedInstOperands,
73589 /* 207502 */ // GIR_Coverage, 61,
73590 /* 207502 */ GIR_Done,
73591 /* 207503 */ // Label 4730: @207503
73592 /* 207503 */ GIM_Try, /*On fail goto*//*Label 4731*/ GIMT_Encode4(207530), // Rule ID 22988 //
73593 /* 207508 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVBE),
73594 /* 207511 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
73595 /* 207515 */ // (bswap:{ *:[i16] } GR16:{ *:[i16] }:$src) => (ROL16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src, 8:{ *:[i8] })
73596 /* 207515 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16ri),
73597 /* 207518 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73598 /* 207520 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
73599 /* 207522 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/8,
73600 /* 207525 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
73601 /* 207528 */ GIR_RootConstrainSelectedInstOperands,
73602 /* 207529 */ // GIR_Coverage, 22988,
73603 /* 207529 */ GIR_EraseRootFromParent_Done,
73604 /* 207530 */ // Label 4731: @207530
73605 /* 207530 */ GIM_Reject,
73606 /* 207531 */ // Label 4727: @207531
73607 /* 207531 */ GIM_Reject,
73608 /* 207532 */ // Label 4724: @207532
73609 /* 207532 */ GIM_Try, /*On fail goto*//*Label 4732*/ GIMT_Encode4(207687),
73610 /* 207537 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
73611 /* 207540 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
73612 /* 207544 */ GIM_Try, /*On fail goto*//*Label 4733*/ GIMT_Encode4(207596), // Rule ID 51 //
73613 /* 207549 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVBE_NoEGPR),
73614 /* 207552 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73615 /* 207556 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73616 /* 207560 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73617 /* 207563 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73618 /* 207567 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
73619 /* 207571 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73620 /* 207573 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73621 /* 207580 */ // (bswap:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (MOVBE32rm:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
73622 /* 207580 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE32rm),
73623 /* 207583 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73624 /* 207585 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73625 /* 207589 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73626 /* 207594 */ GIR_RootConstrainSelectedInstOperands,
73627 /* 207595 */ // GIR_Coverage, 51,
73628 /* 207595 */ GIR_EraseRootFromParent_Done,
73629 /* 207596 */ // Label 4733: @207596
73630 /* 207596 */ GIM_Try, /*On fail goto*//*Label 4734*/ GIMT_Encode4(207648), // Rule ID 57 //
73631 /* 207601 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVBE_In64BitMode),
73632 /* 207604 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73633 /* 207608 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73634 /* 207612 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73635 /* 207615 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73636 /* 207619 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
73637 /* 207623 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73638 /* 207625 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73639 /* 207632 */ // (bswap:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (MOVBE32rm_EVEX:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
73640 /* 207632 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE32rm_EVEX),
73641 /* 207635 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73642 /* 207637 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73643 /* 207641 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73644 /* 207646 */ GIR_RootConstrainSelectedInstOperands,
73645 /* 207647 */ // GIR_Coverage, 57,
73646 /* 207647 */ GIR_EraseRootFromParent_Done,
73647 /* 207648 */ // Label 4734: @207648
73648 /* 207648 */ GIM_Try, /*On fail goto*//*Label 4735*/ GIMT_Encode4(207667), // Rule ID 5 //
73649 /* 207653 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_Or_NoMOVBE),
73650 /* 207656 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
73651 /* 207660 */ // (bswap:{ *:[i32] } GR32:{ *:[i32] }:$src) => (BSWAP32r:{ *:[i32] } GR32:{ *:[i32] }:$src)
73652 /* 207660 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::BSWAP32r),
73653 /* 207665 */ GIR_RootConstrainSelectedInstOperands,
73654 /* 207666 */ // GIR_Coverage, 5,
73655 /* 207666 */ GIR_Done,
73656 /* 207667 */ // Label 4735: @207667
73657 /* 207667 */ GIM_Try, /*On fail goto*//*Label 4736*/ GIMT_Encode4(207686), // Rule ID 62 //
73658 /* 207672 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVBE_HasNDD_In64BitMode),
73659 /* 207675 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
73660 /* 207679 */ // (bswap:{ *:[i32] } GR32:{ *:[i32] }:$src1) => (MOVBE32rr:{ *:[i32] } GR32:{ *:[i32] }:$src1)
73661 /* 207679 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVBE32rr),
73662 /* 207684 */ GIR_RootConstrainSelectedInstOperands,
73663 /* 207685 */ // GIR_Coverage, 62,
73664 /* 207685 */ GIR_Done,
73665 /* 207686 */ // Label 4736: @207686
73666 /* 207686 */ GIM_Reject,
73667 /* 207687 */ // Label 4732: @207687
73668 /* 207687 */ GIM_Reject,
73669 /* 207688 */ // Label 4725: @207688
73670 /* 207688 */ GIM_Try, /*On fail goto*//*Label 4737*/ GIMT_Encode4(207843),
73671 /* 207693 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
73672 /* 207696 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
73673 /* 207700 */ GIM_Try, /*On fail goto*//*Label 4738*/ GIMT_Encode4(207752), // Rule ID 53 //
73674 /* 207705 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVBE_NoEGPR),
73675 /* 207708 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73676 /* 207712 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73677 /* 207716 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73678 /* 207719 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73679 /* 207723 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73680 /* 207727 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73681 /* 207729 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73682 /* 207736 */ // (bswap:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (MOVBE64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src1)
73683 /* 207736 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE64rm),
73684 /* 207739 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73685 /* 207741 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73686 /* 207745 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73687 /* 207750 */ GIR_RootConstrainSelectedInstOperands,
73688 /* 207751 */ // GIR_Coverage, 53,
73689 /* 207751 */ GIR_EraseRootFromParent_Done,
73690 /* 207752 */ // Label 4738: @207752
73691 /* 207752 */ GIM_Try, /*On fail goto*//*Label 4739*/ GIMT_Encode4(207804), // Rule ID 59 //
73692 /* 207757 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVBE_In64BitMode),
73693 /* 207760 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73694 /* 207764 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73695 /* 207768 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73696 /* 207771 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73697 /* 207775 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73698 /* 207779 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73699 /* 207781 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73700 /* 207788 */ // (bswap:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (MOVBE64rm_EVEX:{ *:[i64] } addr:{ *:[iPTR] }:$src1)
73701 /* 207788 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE64rm_EVEX),
73702 /* 207791 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73703 /* 207793 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73704 /* 207797 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73705 /* 207802 */ GIR_RootConstrainSelectedInstOperands,
73706 /* 207803 */ // GIR_Coverage, 59,
73707 /* 207803 */ GIR_EraseRootFromParent_Done,
73708 /* 207804 */ // Label 4739: @207804
73709 /* 207804 */ GIM_Try, /*On fail goto*//*Label 4740*/ GIMT_Encode4(207823), // Rule ID 6 //
73710 /* 207809 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_Or_NoMOVBE),
73711 /* 207812 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
73712 /* 207816 */ // (bswap:{ *:[i64] } GR64:{ *:[i64] }:$src) => (BSWAP64r:{ *:[i64] } GR64:{ *:[i64] }:$src)
73713 /* 207816 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::BSWAP64r),
73714 /* 207821 */ GIR_RootConstrainSelectedInstOperands,
73715 /* 207822 */ // GIR_Coverage, 6,
73716 /* 207822 */ GIR_Done,
73717 /* 207823 */ // Label 4740: @207823
73718 /* 207823 */ GIM_Try, /*On fail goto*//*Label 4741*/ GIMT_Encode4(207842), // Rule ID 63 //
73719 /* 207828 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVBE_HasNDD_In64BitMode),
73720 /* 207831 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
73721 /* 207835 */ // (bswap:{ *:[i64] } GR64:{ *:[i64] }:$src1) => (MOVBE64rr:{ *:[i64] } GR64:{ *:[i64] }:$src1)
73722 /* 207835 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVBE64rr),
73723 /* 207840 */ GIR_RootConstrainSelectedInstOperands,
73724 /* 207841 */ // GIR_Coverage, 63,
73725 /* 207841 */ GIR_Done,
73726 /* 207842 */ // Label 4741: @207842
73727 /* 207842 */ GIM_Reject,
73728 /* 207843 */ // Label 4737: @207843
73729 /* 207843 */ GIM_Reject,
73730 /* 207844 */ // Label 4726: @207844
73731 /* 207844 */ GIM_Reject,
73732 /* 207845 */ // Label 67: @207845
73733 /* 207845 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 4755*/ GIMT_Encode4(210013),
73734 /* 207856 */ /*GILLT_s16*//*Label 4742*/ GIMT_Encode4(207940),
73735 /* 207860 */ /*GILLT_s32*//*Label 4743*/ GIMT_Encode4(208061),
73736 /* 207864 */ /*GILLT_s64*//*Label 4744*/ GIMT_Encode4(208417),
73737 /* 207868 */ /*GILLT_s80*//*Label 4745*/ GIMT_Encode4(208773), GIMT_Encode4(0), GIMT_Encode4(0),
73738 /* 207880 */ /*GILLT_v2s64*//*Label 4746*/ GIMT_Encode4(208810), GIMT_Encode4(0),
73739 /* 207888 */ /*GILLT_v4s32*//*Label 4747*/ GIMT_Encode4(209013),
73740 /* 207892 */ /*GILLT_v4s64*//*Label 4748*/ GIMT_Encode4(209216), GIMT_Encode4(0),
73741 /* 207900 */ /*GILLT_v8s16*//*Label 4749*/ GIMT_Encode4(209392),
73742 /* 207904 */ /*GILLT_v8s32*//*Label 4750*/ GIMT_Encode4(209481),
73743 /* 207908 */ /*GILLT_v8s64*//*Label 4751*/ GIMT_Encode4(209657), GIMT_Encode4(0), GIMT_Encode4(0),
73744 /* 207920 */ /*GILLT_v16s16*//*Label 4752*/ GIMT_Encode4(209746),
73745 /* 207924 */ /*GILLT_v16s32*//*Label 4753*/ GIMT_Encode4(209835), GIMT_Encode4(0), GIMT_Encode4(0),
73746 /* 207936 */ /*GILLT_v32s16*//*Label 4754*/ GIMT_Encode4(209924),
73747 /* 207940 */ // Label 4742: @207940
73748 /* 207940 */ GIM_Try, /*On fail goto*//*Label 4756*/ GIMT_Encode4(208060),
73749 /* 207945 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
73750 /* 207948 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
73751 /* 207952 */ GIM_Try, /*On fail goto*//*Label 4757*/ GIMT_Encode4(208021), // Rule ID 21421 //
73752 /* 207957 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_OptForSize),
73753 /* 207960 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73754 /* 207964 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73755 /* 207968 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73756 /* 207971 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73757 /* 207975 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73758 /* 207979 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73759 /* 207981 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73760 /* 207988 */ // (fsqrt:{ *:[f16] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSHZm:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), addr:{ *:[iPTR] }:$src)
73761 /* 207988 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
73762 /* 207991 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73763 /* 207995 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
73764 /* 208000 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73765 /* 208002 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSHZm),
73766 /* 208005 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73767 /* 208007 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
73768 /* 208010 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73769 /* 208014 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73770 /* 208019 */ GIR_RootConstrainSelectedInstOperands,
73771 /* 208020 */ // GIR_Coverage, 21421,
73772 /* 208020 */ GIR_EraseRootFromParent_Done,
73773 /* 208021 */ // Label 4757: @208021
73774 /* 208021 */ GIM_Try, /*On fail goto*//*Label 4758*/ GIMT_Encode4(208059), // Rule ID 21419 //
73775 /* 208026 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
73776 /* 208029 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
73777 /* 208033 */ // (fsqrt:{ *:[f16] } FR16X:{ *:[f16] }:$src) => (VSQRTSHZr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), FR16X:{ *:[f16] }:$src)
73778 /* 208033 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
73779 /* 208036 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73780 /* 208040 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
73781 /* 208045 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73782 /* 208047 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSHZr),
73783 /* 208050 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73784 /* 208052 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
73785 /* 208055 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
73786 /* 208057 */ GIR_RootConstrainSelectedInstOperands,
73787 /* 208058 */ // GIR_Coverage, 21419,
73788 /* 208058 */ GIR_EraseRootFromParent_Done,
73789 /* 208059 */ // Label 4758: @208059
73790 /* 208059 */ GIM_Reject,
73791 /* 208060 */ // Label 4756: @208060
73792 /* 208060 */ GIM_Reject,
73793 /* 208061 */ // Label 4743: @208061
73794 /* 208061 */ GIM_Try, /*On fail goto*//*Label 4759*/ GIMT_Encode4(208416),
73795 /* 208066 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
73796 /* 208069 */ GIM_Try, /*On fail goto*//*Label 4760*/ GIMT_Encode4(208125), // Rule ID 2449 //
73797 /* 208074 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseSSE1),
73798 /* 208077 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
73799 /* 208081 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73800 /* 208085 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73801 /* 208089 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73802 /* 208092 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73803 /* 208096 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73804 /* 208100 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73805 /* 208102 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73806 /* 208109 */ // (fsqrt:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SQRTSSm:{ *:[f32] } addr:{ *:[iPTR] }:$src1)
73807 /* 208109 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SQRTSSm),
73808 /* 208112 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73809 /* 208114 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73810 /* 208118 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73811 /* 208123 */ GIR_RootConstrainSelectedInstOperands,
73812 /* 208124 */ // GIR_Coverage, 2449,
73813 /* 208124 */ GIR_EraseRootFromParent_Done,
73814 /* 208125 */ // Label 4760: @208125
73815 /* 208125 */ GIM_Try, /*On fail goto*//*Label 4761*/ GIMT_Encode4(208198), // Rule ID 18277 //
73816 /* 208130 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseAVX),
73817 /* 208133 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
73818 /* 208137 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73819 /* 208141 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73820 /* 208145 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73821 /* 208148 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73822 /* 208152 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73823 /* 208156 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73824 /* 208158 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73825 /* 208165 */ // (fsqrt:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSSm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
73826 /* 208165 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
73827 /* 208168 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73828 /* 208172 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
73829 /* 208177 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73830 /* 208179 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSm),
73831 /* 208182 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73832 /* 208184 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
73833 /* 208187 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73834 /* 208191 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73835 /* 208196 */ GIR_RootConstrainSelectedInstOperands,
73836 /* 208197 */ // GIR_Coverage, 18277,
73837 /* 208197 */ GIR_EraseRootFromParent_Done,
73838 /* 208198 */ // Label 4761: @208198
73839 /* 208198 */ GIM_Try, /*On fail goto*//*Label 4762*/ GIMT_Encode4(208271), // Rule ID 21425 //
73840 /* 208203 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_OptForSize),
73841 /* 208206 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
73842 /* 208210 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73843 /* 208214 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73844 /* 208218 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73845 /* 208221 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73846 /* 208225 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73847 /* 208229 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73848 /* 208231 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73849 /* 208238 */ // (fsqrt:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSSZm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
73850 /* 208238 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
73851 /* 208241 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73852 /* 208245 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
73853 /* 208250 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73854 /* 208252 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSZm),
73855 /* 208255 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73856 /* 208257 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
73857 /* 208260 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73858 /* 208264 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73859 /* 208269 */ GIR_RootConstrainSelectedInstOperands,
73860 /* 208270 */ // GIR_Coverage, 21425,
73861 /* 208270 */ GIR_EraseRootFromParent_Done,
73862 /* 208271 */ // Label 4762: @208271
73863 /* 208271 */ GIM_Try, /*On fail goto*//*Label 4763*/ GIMT_Encode4(208304), // Rule ID 1049 //
73864 /* 208276 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
73865 /* 208279 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
73866 /* 208283 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
73867 /* 208287 */ // (fsqrt:{ *:[f32] } RFP32:{ *:[f32] }:$src) => (SQRT_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src)
73868 /* 208287 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRT_Fp32),
73869 /* 208292 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(RegState::Dead),
73870 /* 208298 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
73871 /* 208302 */ GIR_RootConstrainSelectedInstOperands,
73872 /* 208303 */ // GIR_Coverage, 1049,
73873 /* 208303 */ GIR_Done,
73874 /* 208304 */ // Label 4763: @208304
73875 /* 208304 */ GIM_Try, /*On fail goto*//*Label 4764*/ GIMT_Encode4(208331), // Rule ID 2447 //
73876 /* 208309 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
73877 /* 208312 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
73878 /* 208316 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
73879 /* 208320 */ // (fsqrt:{ *:[f32] } FR32:{ *:[f32] }:$src1) => (SQRTSSr:{ *:[f32] } FR32:{ *:[f32] }:$src1)
73880 /* 208320 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTSSr),
73881 /* 208325 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73882 /* 208329 */ GIR_RootConstrainSelectedInstOperands,
73883 /* 208330 */ // GIR_Coverage, 2447,
73884 /* 208330 */ GIR_Done,
73885 /* 208331 */ // Label 4764: @208331
73886 /* 208331 */ GIM_Try, /*On fail goto*//*Label 4765*/ GIMT_Encode4(208373), // Rule ID 18275 //
73887 /* 208336 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
73888 /* 208339 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
73889 /* 208343 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
73890 /* 208347 */ // (fsqrt:{ *:[f32] } FR32:{ *:[f32] }:$src) => (VSQRTSSr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR32:{ *:[f32] }:$src)
73891 /* 208347 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
73892 /* 208350 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73893 /* 208354 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
73894 /* 208359 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73895 /* 208361 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSr),
73896 /* 208364 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73897 /* 208366 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
73898 /* 208369 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
73899 /* 208371 */ GIR_RootConstrainSelectedInstOperands,
73900 /* 208372 */ // GIR_Coverage, 18275,
73901 /* 208372 */ GIR_EraseRootFromParent_Done,
73902 /* 208373 */ // Label 4765: @208373
73903 /* 208373 */ GIM_Try, /*On fail goto*//*Label 4766*/ GIMT_Encode4(208415), // Rule ID 21423 //
73904 /* 208378 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
73905 /* 208381 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
73906 /* 208385 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
73907 /* 208389 */ // (fsqrt:{ *:[f32] } FR32X:{ *:[f32] }:$src) => (VSQRTSSZr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR32X:{ *:[f32] }:$src)
73908 /* 208389 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
73909 /* 208392 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73910 /* 208396 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
73911 /* 208401 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73912 /* 208403 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSZr),
73913 /* 208406 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73914 /* 208408 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
73915 /* 208411 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
73916 /* 208413 */ GIR_RootConstrainSelectedInstOperands,
73917 /* 208414 */ // GIR_Coverage, 21423,
73918 /* 208414 */ GIR_EraseRootFromParent_Done,
73919 /* 208415 */ // Label 4766: @208415
73920 /* 208415 */ GIM_Reject,
73921 /* 208416 */ // Label 4759: @208416
73922 /* 208416 */ GIM_Reject,
73923 /* 208417 */ // Label 4744: @208417
73924 /* 208417 */ GIM_Try, /*On fail goto*//*Label 4767*/ GIMT_Encode4(208772),
73925 /* 208422 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
73926 /* 208425 */ GIM_Try, /*On fail goto*//*Label 4768*/ GIMT_Encode4(208481), // Rule ID 2465 //
73927 /* 208430 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseSSE2),
73928 /* 208433 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
73929 /* 208437 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73930 /* 208441 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73931 /* 208445 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73932 /* 208448 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73933 /* 208452 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73934 /* 208456 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73935 /* 208458 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73936 /* 208465 */ // (fsqrt:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SQRTSDm:{ *:[f64] } addr:{ *:[iPTR] }:$src1)
73937 /* 208465 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SQRTSDm),
73938 /* 208468 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73939 /* 208470 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73940 /* 208474 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73941 /* 208479 */ GIR_RootConstrainSelectedInstOperands,
73942 /* 208480 */ // GIR_Coverage, 2465,
73943 /* 208480 */ GIR_EraseRootFromParent_Done,
73944 /* 208481 */ // Label 4768: @208481
73945 /* 208481 */ GIM_Try, /*On fail goto*//*Label 4769*/ GIMT_Encode4(208554), // Rule ID 18281 //
73946 /* 208486 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseAVX),
73947 /* 208489 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
73948 /* 208493 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73949 /* 208497 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73950 /* 208501 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73951 /* 208504 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73952 /* 208508 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73953 /* 208512 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73954 /* 208514 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73955 /* 208521 */ // (fsqrt:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSDm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
73956 /* 208521 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
73957 /* 208524 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73958 /* 208528 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
73959 /* 208533 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73960 /* 208535 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDm),
73961 /* 208538 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73962 /* 208540 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
73963 /* 208543 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73964 /* 208547 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73965 /* 208552 */ GIR_RootConstrainSelectedInstOperands,
73966 /* 208553 */ // GIR_Coverage, 18281,
73967 /* 208553 */ GIR_EraseRootFromParent_Done,
73968 /* 208554 */ // Label 4769: @208554
73969 /* 208554 */ GIM_Try, /*On fail goto*//*Label 4770*/ GIMT_Encode4(208627), // Rule ID 21429 //
73970 /* 208559 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_OptForSize),
73971 /* 208562 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
73972 /* 208566 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73973 /* 208570 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73974 /* 208574 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73975 /* 208577 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73976 /* 208581 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73977 /* 208585 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73978 /* 208587 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73979 /* 208594 */ // (fsqrt:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSDZm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
73980 /* 208594 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
73981 /* 208597 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73982 /* 208601 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
73983 /* 208606 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73984 /* 208608 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDZm),
73985 /* 208611 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73986 /* 208613 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
73987 /* 208616 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73988 /* 208620 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73989 /* 208625 */ GIR_RootConstrainSelectedInstOperands,
73990 /* 208626 */ // GIR_Coverage, 21429,
73991 /* 208626 */ GIR_EraseRootFromParent_Done,
73992 /* 208627 */ // Label 4770: @208627
73993 /* 208627 */ GIM_Try, /*On fail goto*//*Label 4771*/ GIMT_Encode4(208660), // Rule ID 1051 //
73994 /* 208632 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
73995 /* 208635 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
73996 /* 208639 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
73997 /* 208643 */ // (fsqrt:{ *:[f64] } RFP64:{ *:[f64] }:$src) => (SQRT_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src)
73998 /* 208643 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRT_Fp64),
73999 /* 208648 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(RegState::Dead),
74000 /* 208654 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
74001 /* 208658 */ GIR_RootConstrainSelectedInstOperands,
74002 /* 208659 */ // GIR_Coverage, 1051,
74003 /* 208659 */ GIR_Done,
74004 /* 208660 */ // Label 4771: @208660
74005 /* 208660 */ GIM_Try, /*On fail goto*//*Label 4772*/ GIMT_Encode4(208687), // Rule ID 2463 //
74006 /* 208665 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
74007 /* 208668 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
74008 /* 208672 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
74009 /* 208676 */ // (fsqrt:{ *:[f64] } FR64:{ *:[f64] }:$src1) => (SQRTSDr:{ *:[f64] } FR64:{ *:[f64] }:$src1)
74010 /* 208676 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTSDr),
74011 /* 208681 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74012 /* 208685 */ GIR_RootConstrainSelectedInstOperands,
74013 /* 208686 */ // GIR_Coverage, 2463,
74014 /* 208686 */ GIR_Done,
74015 /* 208687 */ // Label 4772: @208687
74016 /* 208687 */ GIM_Try, /*On fail goto*//*Label 4773*/ GIMT_Encode4(208729), // Rule ID 18279 //
74017 /* 208692 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
74018 /* 208695 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
74019 /* 208699 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
74020 /* 208703 */ // (fsqrt:{ *:[f64] } FR64:{ *:[f64] }:$src) => (VSQRTSDr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR64:{ *:[f64] }:$src)
74021 /* 208703 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
74022 /* 208706 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
74023 /* 208710 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
74024 /* 208715 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
74025 /* 208717 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDr),
74026 /* 208720 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74027 /* 208722 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
74028 /* 208725 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
74029 /* 208727 */ GIR_RootConstrainSelectedInstOperands,
74030 /* 208728 */ // GIR_Coverage, 18279,
74031 /* 208728 */ GIR_EraseRootFromParent_Done,
74032 /* 208729 */ // Label 4773: @208729
74033 /* 208729 */ GIM_Try, /*On fail goto*//*Label 4774*/ GIMT_Encode4(208771), // Rule ID 21427 //
74034 /* 208734 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
74035 /* 208737 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
74036 /* 208741 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
74037 /* 208745 */ // (fsqrt:{ *:[f64] } FR64X:{ *:[f64] }:$src) => (VSQRTSDZr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR64X:{ *:[f64] }:$src)
74038 /* 208745 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
74039 /* 208748 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
74040 /* 208752 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
74041 /* 208757 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
74042 /* 208759 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDZr),
74043 /* 208762 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74044 /* 208764 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
74045 /* 208767 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
74046 /* 208769 */ GIR_RootConstrainSelectedInstOperands,
74047 /* 208770 */ // GIR_Coverage, 21427,
74048 /* 208770 */ GIR_EraseRootFromParent_Done,
74049 /* 208771 */ // Label 4774: @208771
74050 /* 208771 */ GIM_Reject,
74051 /* 208772 */ // Label 4767: @208772
74052 /* 208772 */ GIM_Reject,
74053 /* 208773 */ // Label 4745: @208773
74054 /* 208773 */ GIM_Try, /*On fail goto*//*Label 4775*/ GIMT_Encode4(208809), // Rule ID 1053 //
74055 /* 208778 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
74056 /* 208781 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
74057 /* 208784 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
74058 /* 208788 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
74059 /* 208792 */ // (fsqrt:{ *:[f80] } RFP80:{ *:[f80] }:$src) => (SQRT_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src)
74060 /* 208792 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRT_Fp80),
74061 /* 208797 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(RegState::Dead),
74062 /* 208803 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
74063 /* 208807 */ GIR_RootConstrainSelectedInstOperands,
74064 /* 208808 */ // GIR_Coverage, 1053,
74065 /* 208808 */ GIR_Done,
74066 /* 208809 */ // Label 4775: @208809
74067 /* 208809 */ GIM_Reject,
74068 /* 208810 */ // Label 4746: @208810
74069 /* 208810 */ GIM_Try, /*On fail goto*//*Label 4776*/ GIMT_Encode4(209012),
74070 /* 208815 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
74071 /* 208818 */ GIM_Try, /*On fail goto*//*Label 4777*/ GIMT_Encode4(208874), // Rule ID 2469 //
74072 /* 208823 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
74073 /* 208826 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74074 /* 208830 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74075 /* 208834 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74076 /* 208838 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74077 /* 208841 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74078 /* 208845 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74079 /* 208849 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74080 /* 208851 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74081 /* 208858 */ // (fsqrt:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
74082 /* 208858 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDm),
74083 /* 208861 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74084 /* 208863 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
74085 /* 208867 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74086 /* 208872 */ GIR_RootConstrainSelectedInstOperands,
74087 /* 208873 */ // GIR_Coverage, 2469,
74088 /* 208873 */ GIR_EraseRootFromParent_Done,
74089 /* 208874 */ // Label 4777: @208874
74090 /* 208874 */ GIM_Try, /*On fail goto*//*Label 4778*/ GIMT_Encode4(208930), // Rule ID 12087 //
74091 /* 208879 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
74092 /* 208882 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74093 /* 208886 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74094 /* 208890 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74095 /* 208894 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74096 /* 208897 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74097 /* 208901 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74098 /* 208905 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74099 /* 208907 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74100 /* 208914 */ // (fsqrt:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDZ128m:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
74101 /* 208914 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ128m),
74102 /* 208917 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74103 /* 208919 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
74104 /* 208923 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74105 /* 208928 */ GIR_RootConstrainSelectedInstOperands,
74106 /* 208929 */ // GIR_Coverage, 12087,
74107 /* 208929 */ GIR_EraseRootFromParent_Done,
74108 /* 208930 */ // Label 4778: @208930
74109 /* 208930 */ GIM_Try, /*On fail goto*//*Label 4779*/ GIMT_Encode4(208957), // Rule ID 2467 //
74110 /* 208935 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
74111 /* 208938 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74112 /* 208942 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74113 /* 208946 */ // (fsqrt:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src) => (VSQRTPDr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src)
74114 /* 208946 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDr),
74115 /* 208951 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74116 /* 208955 */ GIR_RootConstrainSelectedInstOperands,
74117 /* 208956 */ // GIR_Coverage, 2467,
74118 /* 208956 */ GIR_Done,
74119 /* 208957 */ // Label 4779: @208957
74120 /* 208957 */ GIM_Try, /*On fail goto*//*Label 4780*/ GIMT_Encode4(208984), // Rule ID 2475 //
74121 /* 208962 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
74122 /* 208965 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74123 /* 208969 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74124 /* 208973 */ // (fsqrt:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src) => (SQRTPDr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src)
74125 /* 208973 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTPDr),
74126 /* 208978 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74127 /* 208982 */ GIR_RootConstrainSelectedInstOperands,
74128 /* 208983 */ // GIR_Coverage, 2475,
74129 /* 208983 */ GIR_Done,
74130 /* 208984 */ // Label 4780: @208984
74131 /* 208984 */ GIM_Try, /*On fail goto*//*Label 4781*/ GIMT_Encode4(209011), // Rule ID 12083 //
74132 /* 208989 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
74133 /* 208992 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74134 /* 208996 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74135 /* 209000 */ // (fsqrt:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src) => (VSQRTPDZ128r:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src)
74136 /* 209000 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ128r),
74137 /* 209005 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74138 /* 209009 */ GIR_RootConstrainSelectedInstOperands,
74139 /* 209010 */ // GIR_Coverage, 12083,
74140 /* 209010 */ GIR_Done,
74141 /* 209011 */ // Label 4781: @209011
74142 /* 209011 */ GIM_Reject,
74143 /* 209012 */ // Label 4776: @209012
74144 /* 209012 */ GIM_Reject,
74145 /* 209013 */ // Label 4747: @209013
74146 /* 209013 */ GIM_Try, /*On fail goto*//*Label 4782*/ GIMT_Encode4(209215),
74147 /* 209018 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
74148 /* 209021 */ GIM_Try, /*On fail goto*//*Label 4783*/ GIMT_Encode4(209077), // Rule ID 2453 //
74149 /* 209026 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
74150 /* 209029 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74151 /* 209033 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74152 /* 209037 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74153 /* 209041 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74154 /* 209044 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74155 /* 209048 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74156 /* 209052 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74157 /* 209054 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74158 /* 209061 */ // (fsqrt:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
74159 /* 209061 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSm),
74160 /* 209064 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74161 /* 209066 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
74162 /* 209070 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74163 /* 209075 */ GIR_RootConstrainSelectedInstOperands,
74164 /* 209076 */ // GIR_Coverage, 2453,
74165 /* 209076 */ GIR_EraseRootFromParent_Done,
74166 /* 209077 */ // Label 4783: @209077
74167 /* 209077 */ GIM_Try, /*On fail goto*//*Label 4784*/ GIMT_Encode4(209133), // Rule ID 12063 //
74168 /* 209082 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
74169 /* 209085 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74170 /* 209089 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74171 /* 209093 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74172 /* 209097 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74173 /* 209100 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74174 /* 209104 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74175 /* 209108 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74176 /* 209110 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74177 /* 209117 */ // (fsqrt:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSZ128m:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
74178 /* 209117 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ128m),
74179 /* 209120 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74180 /* 209122 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
74181 /* 209126 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74182 /* 209131 */ GIR_RootConstrainSelectedInstOperands,
74183 /* 209132 */ // GIR_Coverage, 12063,
74184 /* 209132 */ GIR_EraseRootFromParent_Done,
74185 /* 209133 */ // Label 4784: @209133
74186 /* 209133 */ GIM_Try, /*On fail goto*//*Label 4785*/ GIMT_Encode4(209160), // Rule ID 2451 //
74187 /* 209138 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
74188 /* 209141 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74189 /* 209145 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74190 /* 209149 */ // (fsqrt:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src) => (VSQRTPSr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src)
74191 /* 209149 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSr),
74192 /* 209154 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74193 /* 209158 */ GIR_RootConstrainSelectedInstOperands,
74194 /* 209159 */ // GIR_Coverage, 2451,
74195 /* 209159 */ GIR_Done,
74196 /* 209160 */ // Label 4785: @209160
74197 /* 209160 */ GIM_Try, /*On fail goto*//*Label 4786*/ GIMT_Encode4(209187), // Rule ID 2459 //
74198 /* 209165 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
74199 /* 209168 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74200 /* 209172 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74201 /* 209176 */ // (fsqrt:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src) => (SQRTPSr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src)
74202 /* 209176 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTPSr),
74203 /* 209181 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74204 /* 209185 */ GIR_RootConstrainSelectedInstOperands,
74205 /* 209186 */ // GIR_Coverage, 2459,
74206 /* 209186 */ GIR_Done,
74207 /* 209187 */ // Label 4786: @209187
74208 /* 209187 */ GIM_Try, /*On fail goto*//*Label 4787*/ GIMT_Encode4(209214), // Rule ID 12059 //
74209 /* 209192 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
74210 /* 209195 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74211 /* 209199 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74212 /* 209203 */ // (fsqrt:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src) => (VSQRTPSZ128r:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src)
74213 /* 209203 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ128r),
74214 /* 209208 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74215 /* 209212 */ GIR_RootConstrainSelectedInstOperands,
74216 /* 209213 */ // GIR_Coverage, 12059,
74217 /* 209213 */ GIR_Done,
74218 /* 209214 */ // Label 4787: @209214
74219 /* 209214 */ GIM_Reject,
74220 /* 209215 */ // Label 4782: @209215
74221 /* 209215 */ GIM_Reject,
74222 /* 209216 */ // Label 4748: @209216
74223 /* 209216 */ GIM_Try, /*On fail goto*//*Label 4788*/ GIMT_Encode4(209391),
74224 /* 209221 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
74225 /* 209224 */ GIM_Try, /*On fail goto*//*Label 4789*/ GIMT_Encode4(209280), // Rule ID 2473 //
74226 /* 209229 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
74227 /* 209232 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
74228 /* 209236 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74229 /* 209240 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74230 /* 209244 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74231 /* 209247 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74232 /* 209251 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74233 /* 209255 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74234 /* 209257 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74235 /* 209264 */ // (fsqrt:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDYm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
74236 /* 209264 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDYm),
74237 /* 209267 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74238 /* 209269 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
74239 /* 209273 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74240 /* 209278 */ GIR_RootConstrainSelectedInstOperands,
74241 /* 209279 */ // GIR_Coverage, 2473,
74242 /* 209279 */ GIR_EraseRootFromParent_Done,
74243 /* 209280 */ // Label 4789: @209280
74244 /* 209280 */ GIM_Try, /*On fail goto*//*Label 4790*/ GIMT_Encode4(209336), // Rule ID 12099 //
74245 /* 209285 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
74246 /* 209288 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74247 /* 209292 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74248 /* 209296 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74249 /* 209300 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74250 /* 209303 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74251 /* 209307 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74252 /* 209311 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74253 /* 209313 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74254 /* 209320 */ // (fsqrt:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDZ256m:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
74255 /* 209320 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ256m),
74256 /* 209323 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74257 /* 209325 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
74258 /* 209329 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74259 /* 209334 */ GIR_RootConstrainSelectedInstOperands,
74260 /* 209335 */ // GIR_Coverage, 12099,
74261 /* 209335 */ GIR_EraseRootFromParent_Done,
74262 /* 209336 */ // Label 4790: @209336
74263 /* 209336 */ GIM_Try, /*On fail goto*//*Label 4791*/ GIMT_Encode4(209363), // Rule ID 2471 //
74264 /* 209341 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
74265 /* 209344 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
74266 /* 209348 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
74267 /* 209352 */ // (fsqrt:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src) => (VSQRTPDYr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src)
74268 /* 209352 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDYr),
74269 /* 209357 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74270 /* 209361 */ GIR_RootConstrainSelectedInstOperands,
74271 /* 209362 */ // GIR_Coverage, 2471,
74272 /* 209362 */ GIR_Done,
74273 /* 209363 */ // Label 4791: @209363
74274 /* 209363 */ GIM_Try, /*On fail goto*//*Label 4792*/ GIMT_Encode4(209390), // Rule ID 12095 //
74275 /* 209368 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
74276 /* 209371 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74277 /* 209375 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74278 /* 209379 */ // (fsqrt:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src) => (VSQRTPDZ256r:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src)
74279 /* 209379 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ256r),
74280 /* 209384 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74281 /* 209388 */ GIR_RootConstrainSelectedInstOperands,
74282 /* 209389 */ // GIR_Coverage, 12095,
74283 /* 209389 */ GIR_Done,
74284 /* 209390 */ // Label 4792: @209390
74285 /* 209390 */ GIM_Reject,
74286 /* 209391 */ // Label 4788: @209391
74287 /* 209391 */ GIM_Reject,
74288 /* 209392 */ // Label 4749: @209392
74289 /* 209392 */ GIM_Try, /*On fail goto*//*Label 4793*/ GIMT_Encode4(209480),
74290 /* 209397 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
74291 /* 209400 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74292 /* 209404 */ GIM_Try, /*On fail goto*//*Label 4794*/ GIMT_Encode4(209456), // Rule ID 12015 //
74293 /* 209409 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
74294 /* 209412 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74295 /* 209416 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74296 /* 209420 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74297 /* 209423 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74298 /* 209427 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74299 /* 209431 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74300 /* 209433 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74301 /* 209440 */ // (fsqrt:{ *:[v8f16] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPHZ128m:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
74302 /* 209440 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ128m),
74303 /* 209443 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74304 /* 209445 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
74305 /* 209449 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74306 /* 209454 */ GIR_RootConstrainSelectedInstOperands,
74307 /* 209455 */ // GIR_Coverage, 12015,
74308 /* 209455 */ GIR_EraseRootFromParent_Done,
74309 /* 209456 */ // Label 4794: @209456
74310 /* 209456 */ GIM_Try, /*On fail goto*//*Label 4795*/ GIMT_Encode4(209479), // Rule ID 12011 //
74311 /* 209461 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
74312 /* 209464 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74313 /* 209468 */ // (fsqrt:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src) => (VSQRTPHZ128r:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src)
74314 /* 209468 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ128r),
74315 /* 209473 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74316 /* 209477 */ GIR_RootConstrainSelectedInstOperands,
74317 /* 209478 */ // GIR_Coverage, 12011,
74318 /* 209478 */ GIR_Done,
74319 /* 209479 */ // Label 4795: @209479
74320 /* 209479 */ GIM_Reject,
74321 /* 209480 */ // Label 4793: @209480
74322 /* 209480 */ GIM_Reject,
74323 /* 209481 */ // Label 4750: @209481
74324 /* 209481 */ GIM_Try, /*On fail goto*//*Label 4796*/ GIMT_Encode4(209656),
74325 /* 209486 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
74326 /* 209489 */ GIM_Try, /*On fail goto*//*Label 4797*/ GIMT_Encode4(209545), // Rule ID 2457 //
74327 /* 209494 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
74328 /* 209497 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
74329 /* 209501 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74330 /* 209505 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74331 /* 209509 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74332 /* 209512 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74333 /* 209516 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74334 /* 209520 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74335 /* 209522 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74336 /* 209529 */ // (fsqrt:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSYm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
74337 /* 209529 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSYm),
74338 /* 209532 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74339 /* 209534 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
74340 /* 209538 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74341 /* 209543 */ GIR_RootConstrainSelectedInstOperands,
74342 /* 209544 */ // GIR_Coverage, 2457,
74343 /* 209544 */ GIR_EraseRootFromParent_Done,
74344 /* 209545 */ // Label 4797: @209545
74345 /* 209545 */ GIM_Try, /*On fail goto*//*Label 4798*/ GIMT_Encode4(209601), // Rule ID 12075 //
74346 /* 209550 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
74347 /* 209553 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74348 /* 209557 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74349 /* 209561 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74350 /* 209565 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74351 /* 209568 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74352 /* 209572 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74353 /* 209576 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74354 /* 209578 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74355 /* 209585 */ // (fsqrt:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSZ256m:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
74356 /* 209585 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ256m),
74357 /* 209588 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74358 /* 209590 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
74359 /* 209594 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74360 /* 209599 */ GIR_RootConstrainSelectedInstOperands,
74361 /* 209600 */ // GIR_Coverage, 12075,
74362 /* 209600 */ GIR_EraseRootFromParent_Done,
74363 /* 209601 */ // Label 4798: @209601
74364 /* 209601 */ GIM_Try, /*On fail goto*//*Label 4799*/ GIMT_Encode4(209628), // Rule ID 2455 //
74365 /* 209606 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
74366 /* 209609 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
74367 /* 209613 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
74368 /* 209617 */ // (fsqrt:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src) => (VSQRTPSYr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src)
74369 /* 209617 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSYr),
74370 /* 209622 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74371 /* 209626 */ GIR_RootConstrainSelectedInstOperands,
74372 /* 209627 */ // GIR_Coverage, 2455,
74373 /* 209627 */ GIR_Done,
74374 /* 209628 */ // Label 4799: @209628
74375 /* 209628 */ GIM_Try, /*On fail goto*//*Label 4800*/ GIMT_Encode4(209655), // Rule ID 12071 //
74376 /* 209633 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
74377 /* 209636 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74378 /* 209640 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74379 /* 209644 */ // (fsqrt:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src) => (VSQRTPSZ256r:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src)
74380 /* 209644 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ256r),
74381 /* 209649 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74382 /* 209653 */ GIR_RootConstrainSelectedInstOperands,
74383 /* 209654 */ // GIR_Coverage, 12071,
74384 /* 209654 */ GIR_Done,
74385 /* 209655 */ // Label 4800: @209655
74386 /* 209655 */ GIM_Reject,
74387 /* 209656 */ // Label 4796: @209656
74388 /* 209656 */ GIM_Reject,
74389 /* 209657 */ // Label 4751: @209657
74390 /* 209657 */ GIM_Try, /*On fail goto*//*Label 4801*/ GIMT_Encode4(209745),
74391 /* 209662 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
74392 /* 209665 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74393 /* 209669 */ GIM_Try, /*On fail goto*//*Label 4802*/ GIMT_Encode4(209721), // Rule ID 12051 //
74394 /* 209674 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
74395 /* 209677 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74396 /* 209681 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74397 /* 209685 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74398 /* 209688 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74399 /* 209692 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74400 /* 209696 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74401 /* 209698 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74402 /* 209705 */ // (fsqrt:{ *:[v8f64] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDZm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
74403 /* 209705 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZm),
74404 /* 209708 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74405 /* 209710 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
74406 /* 209714 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74407 /* 209719 */ GIR_RootConstrainSelectedInstOperands,
74408 /* 209720 */ // GIR_Coverage, 12051,
74409 /* 209720 */ GIR_EraseRootFromParent_Done,
74410 /* 209721 */ // Label 4802: @209721
74411 /* 209721 */ GIM_Try, /*On fail goto*//*Label 4803*/ GIMT_Encode4(209744), // Rule ID 12047 //
74412 /* 209726 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
74413 /* 209729 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74414 /* 209733 */ // (fsqrt:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src) => (VSQRTPDZr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src)
74415 /* 209733 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZr),
74416 /* 209738 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74417 /* 209742 */ GIR_RootConstrainSelectedInstOperands,
74418 /* 209743 */ // GIR_Coverage, 12047,
74419 /* 209743 */ GIR_Done,
74420 /* 209744 */ // Label 4803: @209744
74421 /* 209744 */ GIM_Reject,
74422 /* 209745 */ // Label 4801: @209745
74423 /* 209745 */ GIM_Reject,
74424 /* 209746 */ // Label 4752: @209746
74425 /* 209746 */ GIM_Try, /*On fail goto*//*Label 4804*/ GIMT_Encode4(209834),
74426 /* 209751 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
74427 /* 209754 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74428 /* 209758 */ GIM_Try, /*On fail goto*//*Label 4805*/ GIMT_Encode4(209810), // Rule ID 12027 //
74429 /* 209763 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
74430 /* 209766 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74431 /* 209770 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74432 /* 209774 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74433 /* 209777 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74434 /* 209781 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74435 /* 209785 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74436 /* 209787 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74437 /* 209794 */ // (fsqrt:{ *:[v16f16] } (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPHZ256m:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
74438 /* 209794 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ256m),
74439 /* 209797 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74440 /* 209799 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
74441 /* 209803 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74442 /* 209808 */ GIR_RootConstrainSelectedInstOperands,
74443 /* 209809 */ // GIR_Coverage, 12027,
74444 /* 209809 */ GIR_EraseRootFromParent_Done,
74445 /* 209810 */ // Label 4805: @209810
74446 /* 209810 */ GIM_Try, /*On fail goto*//*Label 4806*/ GIMT_Encode4(209833), // Rule ID 12023 //
74447 /* 209815 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
74448 /* 209818 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74449 /* 209822 */ // (fsqrt:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src) => (VSQRTPHZ256r:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src)
74450 /* 209822 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ256r),
74451 /* 209827 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74452 /* 209831 */ GIR_RootConstrainSelectedInstOperands,
74453 /* 209832 */ // GIR_Coverage, 12023,
74454 /* 209832 */ GIR_Done,
74455 /* 209833 */ // Label 4806: @209833
74456 /* 209833 */ GIM_Reject,
74457 /* 209834 */ // Label 4804: @209834
74458 /* 209834 */ GIM_Reject,
74459 /* 209835 */ // Label 4753: @209835
74460 /* 209835 */ GIM_Try, /*On fail goto*//*Label 4807*/ GIMT_Encode4(209923),
74461 /* 209840 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
74462 /* 209843 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74463 /* 209847 */ GIM_Try, /*On fail goto*//*Label 4808*/ GIMT_Encode4(209899), // Rule ID 12039 //
74464 /* 209852 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
74465 /* 209855 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74466 /* 209859 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74467 /* 209863 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74468 /* 209866 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74469 /* 209870 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74470 /* 209874 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74471 /* 209876 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74472 /* 209883 */ // (fsqrt:{ *:[v16f32] } (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSZm:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)
74473 /* 209883 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZm),
74474 /* 209886 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74475 /* 209888 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
74476 /* 209892 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74477 /* 209897 */ GIR_RootConstrainSelectedInstOperands,
74478 /* 209898 */ // GIR_Coverage, 12039,
74479 /* 209898 */ GIR_EraseRootFromParent_Done,
74480 /* 209899 */ // Label 4808: @209899
74481 /* 209899 */ GIM_Try, /*On fail goto*//*Label 4809*/ GIMT_Encode4(209922), // Rule ID 12035 //
74482 /* 209904 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
74483 /* 209907 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74484 /* 209911 */ // (fsqrt:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src) => (VSQRTPSZr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src)
74485 /* 209911 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZr),
74486 /* 209916 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74487 /* 209920 */ GIR_RootConstrainSelectedInstOperands,
74488 /* 209921 */ // GIR_Coverage, 12035,
74489 /* 209921 */ GIR_Done,
74490 /* 209922 */ // Label 4809: @209922
74491 /* 209922 */ GIM_Reject,
74492 /* 209923 */ // Label 4807: @209923
74493 /* 209923 */ GIM_Reject,
74494 /* 209924 */ // Label 4754: @209924
74495 /* 209924 */ GIM_Try, /*On fail goto*//*Label 4810*/ GIMT_Encode4(210012),
74496 /* 209929 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
74497 /* 209932 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74498 /* 209936 */ GIM_Try, /*On fail goto*//*Label 4811*/ GIMT_Encode4(209988), // Rule ID 12003 //
74499 /* 209941 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
74500 /* 209944 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74501 /* 209948 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74502 /* 209952 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74503 /* 209955 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74504 /* 209959 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74505 /* 209963 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74506 /* 209965 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74507 /* 209972 */ // (fsqrt:{ *:[v32f16] } (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPHZm:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)
74508 /* 209972 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZm),
74509 /* 209975 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74510 /* 209977 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
74511 /* 209981 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74512 /* 209986 */ GIR_RootConstrainSelectedInstOperands,
74513 /* 209987 */ // GIR_Coverage, 12003,
74514 /* 209987 */ GIR_EraseRootFromParent_Done,
74515 /* 209988 */ // Label 4811: @209988
74516 /* 209988 */ GIM_Try, /*On fail goto*//*Label 4812*/ GIMT_Encode4(210011), // Rule ID 11999 //
74517 /* 209993 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
74518 /* 209996 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74519 /* 210000 */ // (fsqrt:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src) => (VSQRTPHZr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src)
74520 /* 210000 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZr),
74521 /* 210005 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74522 /* 210009 */ GIR_RootConstrainSelectedInstOperands,
74523 /* 210010 */ // GIR_Coverage, 11999,
74524 /* 210010 */ GIR_Done,
74525 /* 210011 */ // Label 4812: @210011
74526 /* 210011 */ GIM_Reject,
74527 /* 210012 */ // Label 4810: @210012
74528 /* 210012 */ GIM_Reject,
74529 /* 210013 */ // Label 4755: @210013
74530 /* 210013 */ GIM_Reject,
74531 /* 210014 */ // Label 68: @210014
74532 /* 210014 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 4826*/ GIMT_Encode4(214943),
74533 /* 210025 */ /*GILLT_s16*//*Label 4813*/ GIMT_Encode4(210109),
74534 /* 210029 */ /*GILLT_s32*//*Label 4814*/ GIMT_Encode4(210269),
74535 /* 210033 */ /*GILLT_s64*//*Label 4815*/ GIMT_Encode4(211174),
74536 /* 210037 */ /*GILLT_s80*//*Label 4816*/ GIMT_Encode4(212223), GIMT_Encode4(0), GIMT_Encode4(0),
74537 /* 210049 */ /*GILLT_v2s64*//*Label 4817*/ GIMT_Encode4(212789), GIMT_Encode4(0),
74538 /* 210057 */ /*GILLT_v4s32*//*Label 4818*/ GIMT_Encode4(213143),
74539 /* 210061 */ /*GILLT_v4s64*//*Label 4819*/ GIMT_Encode4(213497), GIMT_Encode4(0),
74540 /* 210069 */ /*GILLT_v8s16*//*Label 4820*/ GIMT_Encode4(213820),
74541 /* 210073 */ /*GILLT_v8s32*//*Label 4821*/ GIMT_Encode4(213980),
74542 /* 210077 */ /*GILLT_v8s64*//*Label 4822*/ GIMT_Encode4(214303), GIMT_Encode4(0), GIMT_Encode4(0),
74543 /* 210089 */ /*GILLT_v16s16*//*Label 4823*/ GIMT_Encode4(214463),
74544 /* 210093 */ /*GILLT_v16s32*//*Label 4824*/ GIMT_Encode4(214623), GIMT_Encode4(0), GIMT_Encode4(0),
74545 /* 210105 */ /*GILLT_v32s16*//*Label 4825*/ GIMT_Encode4(214783),
74546 /* 210109 */ // Label 4813: @210109
74547 /* 210109 */ GIM_Try, /*On fail goto*//*Label 4827*/ GIMT_Encode4(210268),
74548 /* 210114 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
74549 /* 210117 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
74550 /* 210120 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
74551 /* 210124 */ GIM_Try, /*On fail goto*//*Label 4828*/ GIMT_Encode4(210182), // Rule ID 24249 //
74552 /* 210129 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
74553 /* 210132 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74554 /* 210136 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74555 /* 210140 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74556 /* 210143 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74557 /* 210147 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74558 /* 210151 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
74559 /* 210155 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74560 /* 210157 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74561 /* 210164 */ // (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)
74562 /* 210164 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSHZrm),
74563 /* 210167 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74564 /* 210169 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74565 /* 210171 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74566 /* 210175 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74567 /* 210180 */ GIR_RootConstrainSelectedInstOperands,
74568 /* 210181 */ // GIR_Coverage, 24249,
74569 /* 210181 */ GIR_EraseRootFromParent_Done,
74570 /* 210182 */ // Label 4828: @210182
74571 /* 210182 */ GIM_Try, /*On fail goto*//*Label 4829*/ GIMT_Encode4(210240), // Rule ID 5954 //
74572 /* 210187 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
74573 /* 210190 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
74574 /* 210194 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74575 /* 210198 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74576 /* 210202 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74577 /* 210205 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74578 /* 210209 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74579 /* 210213 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74580 /* 210215 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74581 /* 210222 */ // (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)
74582 /* 210222 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSHZrm),
74583 /* 210225 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74584 /* 210227 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74585 /* 210229 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74586 /* 210233 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74587 /* 210238 */ GIR_RootConstrainSelectedInstOperands,
74588 /* 210239 */ // GIR_Coverage, 5954,
74589 /* 210239 */ GIR_EraseRootFromParent_Done,
74590 /* 210240 */ // Label 4829: @210240
74591 /* 210240 */ GIM_Try, /*On fail goto*//*Label 4830*/ GIMT_Encode4(210267), // Rule ID 5952 //
74592 /* 210245 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
74593 /* 210248 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
74594 /* 210252 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
74595 /* 210256 */ // (strict_fadd:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VADDSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
74596 /* 210256 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSHZrr),
74597 /* 210261 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74598 /* 210265 */ GIR_RootConstrainSelectedInstOperands,
74599 /* 210266 */ // GIR_Coverage, 5952,
74600 /* 210266 */ GIR_Done,
74601 /* 210267 */ // Label 4830: @210267
74602 /* 210267 */ GIM_Reject,
74603 /* 210268 */ // Label 4827: @210268
74604 /* 210268 */ GIM_Reject,
74605 /* 210269 */ // Label 4814: @210269
74606 /* 210269 */ GIM_Try, /*On fail goto*//*Label 4831*/ GIMT_Encode4(211173),
74607 /* 210274 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
74608 /* 210277 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
74609 /* 210280 */ GIM_Try, /*On fail goto*//*Label 4832*/ GIMT_Encode4(210345), // Rule ID 23246 //
74610 /* 210285 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
74611 /* 210288 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74612 /* 210292 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74613 /* 210296 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
74614 /* 210300 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
74615 /* 210307 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74616 /* 210311 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74617 /* 210315 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74618 /* 210317 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74619 /* 210324 */ // (strict_fadd:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (ADD_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
74620 /* 210324 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m32),
74621 /* 210327 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74622 /* 210329 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74623 /* 210331 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74624 /* 210335 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74625 /* 210338 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74626 /* 210343 */ GIR_RootConstrainSelectedInstOperands,
74627 /* 210344 */ // GIR_Coverage, 23246,
74628 /* 210344 */ GIR_EraseRootFromParent_Done,
74629 /* 210345 */ // Label 4832: @210345
74630 /* 210345 */ GIM_Try, /*On fail goto*//*Label 4833*/ GIMT_Encode4(210410), // Rule ID 23248 //
74631 /* 210350 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
74632 /* 210353 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74633 /* 210357 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74634 /* 210361 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
74635 /* 210365 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
74636 /* 210372 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74637 /* 210376 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74638 /* 210380 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74639 /* 210382 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74640 /* 210389 */ // (strict_fadd:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (ADD_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
74641 /* 210389 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m32),
74642 /* 210392 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74643 /* 210394 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74644 /* 210396 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74645 /* 210400 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74646 /* 210403 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74647 /* 210408 */ GIR_RootConstrainSelectedInstOperands,
74648 /* 210409 */ // GIR_Coverage, 23248,
74649 /* 210409 */ GIR_EraseRootFromParent_Done,
74650 /* 210410 */ // Label 4833: @210410
74651 /* 210410 */ GIM_Try, /*On fail goto*//*Label 4834*/ GIMT_Encode4(210475), // Rule ID 23236 //
74652 /* 210415 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
74653 /* 210418 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74654 /* 210422 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74655 /* 210426 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74656 /* 210430 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74657 /* 210433 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74658 /* 210437 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74659 /* 210441 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74660 /* 210445 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74661 /* 210447 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74662 /* 210454 */ // (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)
74663 /* 210454 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp32m),
74664 /* 210457 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74665 /* 210459 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74666 /* 210461 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74667 /* 210465 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74668 /* 210468 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74669 /* 210473 */ GIR_RootConstrainSelectedInstOperands,
74670 /* 210474 */ // GIR_Coverage, 23236,
74671 /* 210474 */ GIR_EraseRootFromParent_Done,
74672 /* 210475 */ // Label 4834: @210475
74673 /* 210475 */ GIM_Try, /*On fail goto*//*Label 4835*/ GIMT_Encode4(210537), // Rule ID 23381 //
74674 /* 210480 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
74675 /* 210483 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74676 /* 210487 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74677 /* 210491 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74678 /* 210495 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74679 /* 210498 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74680 /* 210502 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74681 /* 210506 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74682 /* 210510 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74683 /* 210512 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74684 /* 210519 */ // (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)
74685 /* 210519 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSrm),
74686 /* 210522 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74687 /* 210524 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74688 /* 210526 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74689 /* 210530 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74690 /* 210535 */ GIR_RootConstrainSelectedInstOperands,
74691 /* 210536 */ // GIR_Coverage, 23381,
74692 /* 210536 */ GIR_EraseRootFromParent_Done,
74693 /* 210537 */ // Label 4835: @210537
74694 /* 210537 */ GIM_Try, /*On fail goto*//*Label 4836*/ GIMT_Encode4(210599), // Rule ID 23385 //
74695 /* 210542 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
74696 /* 210545 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74697 /* 210549 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74698 /* 210553 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74699 /* 210557 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74700 /* 210560 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74701 /* 210564 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74702 /* 210568 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74703 /* 210572 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74704 /* 210574 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74705 /* 210581 */ // (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)
74706 /* 210581 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSSrm),
74707 /* 210584 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74708 /* 210586 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74709 /* 210588 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74710 /* 210592 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74711 /* 210597 */ GIR_RootConstrainSelectedInstOperands,
74712 /* 210598 */ // GIR_Coverage, 23385,
74713 /* 210598 */ GIR_EraseRootFromParent_Done,
74714 /* 210599 */ // Label 4836: @210599
74715 /* 210599 */ GIM_Try, /*On fail goto*//*Label 4837*/ GIMT_Encode4(210661), // Rule ID 24245 //
74716 /* 210604 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
74717 /* 210607 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
74718 /* 210611 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74719 /* 210615 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74720 /* 210619 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74721 /* 210622 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74722 /* 210626 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74723 /* 210630 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
74724 /* 210634 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74725 /* 210636 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74726 /* 210643 */ // (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)
74727 /* 210643 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSZrm),
74728 /* 210646 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74729 /* 210648 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74730 /* 210650 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74731 /* 210654 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74732 /* 210659 */ GIR_RootConstrainSelectedInstOperands,
74733 /* 210660 */ // GIR_Coverage, 24245,
74734 /* 210660 */ GIR_EraseRootFromParent_Done,
74735 /* 210661 */ // Label 4837: @210661
74736 /* 210661 */ GIM_Try, /*On fail goto*//*Label 4838*/ GIMT_Encode4(210726), // Rule ID 920 //
74737 /* 210666 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
74738 /* 210669 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74739 /* 210673 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74740 /* 210677 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74741 /* 210681 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
74742 /* 210685 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
74743 /* 210692 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74744 /* 210696 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74745 /* 210698 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74746 /* 210705 */ // (strict_fadd:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (ADD_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
74747 /* 210705 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m32),
74748 /* 210708 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74749 /* 210710 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74750 /* 210712 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74751 /* 210716 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74752 /* 210719 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74753 /* 210724 */ GIR_RootConstrainSelectedInstOperands,
74754 /* 210725 */ // GIR_Coverage, 920,
74755 /* 210725 */ GIR_EraseRootFromParent_Done,
74756 /* 210726 */ // Label 4838: @210726
74757 /* 210726 */ GIM_Try, /*On fail goto*//*Label 4839*/ GIMT_Encode4(210791), // Rule ID 922 //
74758 /* 210731 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
74759 /* 210734 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74760 /* 210738 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74761 /* 210742 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74762 /* 210746 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
74763 /* 210750 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
74764 /* 210757 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74765 /* 210761 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74766 /* 210763 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74767 /* 210770 */ // (strict_fadd:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (ADD_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
74768 /* 210770 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m32),
74769 /* 210773 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74770 /* 210775 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74771 /* 210777 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74772 /* 210781 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74773 /* 210784 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74774 /* 210789 */ GIR_RootConstrainSelectedInstOperands,
74775 /* 210790 */ // GIR_Coverage, 922,
74776 /* 210790 */ GIR_EraseRootFromParent_Done,
74777 /* 210791 */ // Label 4839: @210791
74778 /* 210791 */ GIM_Try, /*On fail goto*//*Label 4840*/ GIMT_Encode4(210856), // Rule ID 910 //
74779 /* 210796 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
74780 /* 210799 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74781 /* 210803 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74782 /* 210807 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74783 /* 210811 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74784 /* 210815 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74785 /* 210818 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74786 /* 210822 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74787 /* 210826 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74788 /* 210828 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74789 /* 210835 */ // (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)
74790 /* 210835 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp32m),
74791 /* 210838 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74792 /* 210840 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74793 /* 210842 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74794 /* 210846 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74795 /* 210849 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74796 /* 210854 */ GIR_RootConstrainSelectedInstOperands,
74797 /* 210855 */ // GIR_Coverage, 910,
74798 /* 210855 */ GIR_EraseRootFromParent_Done,
74799 /* 210856 */ // Label 4840: @210856
74800 /* 210856 */ GIM_Try, /*On fail goto*//*Label 4841*/ GIMT_Encode4(210918), // Rule ID 2160 //
74801 /* 210861 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
74802 /* 210864 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74803 /* 210868 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74804 /* 210872 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74805 /* 210876 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74806 /* 210880 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74807 /* 210883 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74808 /* 210887 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74809 /* 210891 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74810 /* 210893 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74811 /* 210900 */ // (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)
74812 /* 210900 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSrm),
74813 /* 210903 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74814 /* 210905 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74815 /* 210907 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74816 /* 210911 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74817 /* 210916 */ GIR_RootConstrainSelectedInstOperands,
74818 /* 210917 */ // GIR_Coverage, 2160,
74819 /* 210917 */ GIR_EraseRootFromParent_Done,
74820 /* 210918 */ // Label 4841: @210918
74821 /* 210918 */ GIM_Try, /*On fail goto*//*Label 4842*/ GIMT_Encode4(210980), // Rule ID 2168 //
74822 /* 210923 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
74823 /* 210926 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74824 /* 210930 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74825 /* 210934 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74826 /* 210938 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74827 /* 210942 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74828 /* 210945 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74829 /* 210949 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74830 /* 210953 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74831 /* 210955 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74832 /* 210962 */ // (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)
74833 /* 210962 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSSrm),
74834 /* 210965 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74835 /* 210967 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74836 /* 210969 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74837 /* 210973 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74838 /* 210978 */ GIR_RootConstrainSelectedInstOperands,
74839 /* 210979 */ // GIR_Coverage, 2168,
74840 /* 210979 */ GIR_EraseRootFromParent_Done,
74841 /* 210980 */ // Label 4842: @210980
74842 /* 210980 */ GIM_Try, /*On fail goto*//*Label 4843*/ GIMT_Encode4(211042), // Rule ID 5916 //
74843 /* 210985 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
74844 /* 210988 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
74845 /* 210992 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
74846 /* 210996 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74847 /* 211000 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74848 /* 211004 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74849 /* 211007 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74850 /* 211011 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74851 /* 211015 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74852 /* 211017 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74853 /* 211024 */ // (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)
74854 /* 211024 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSZrm),
74855 /* 211027 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74856 /* 211029 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74857 /* 211031 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74858 /* 211035 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74859 /* 211040 */ GIR_RootConstrainSelectedInstOperands,
74860 /* 211041 */ // GIR_Coverage, 5916,
74861 /* 211041 */ GIR_EraseRootFromParent_Done,
74862 /* 211042 */ // Label 4843: @211042
74863 /* 211042 */ GIM_Try, /*On fail goto*//*Label 4844*/ GIMT_Encode4(211079), // Rule ID 886 //
74864 /* 211047 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
74865 /* 211050 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74866 /* 211054 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74867 /* 211058 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74868 /* 211062 */ // (strict_fadd:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (ADD_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
74869 /* 211062 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD_Fp32),
74870 /* 211067 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(RegState::Dead),
74871 /* 211073 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
74872 /* 211077 */ GIR_RootConstrainSelectedInstOperands,
74873 /* 211078 */ // GIR_Coverage, 886,
74874 /* 211078 */ GIR_Done,
74875 /* 211079 */ // Label 4844: @211079
74876 /* 211079 */ GIM_Try, /*On fail goto*//*Label 4845*/ GIMT_Encode4(211110), // Rule ID 2158 //
74877 /* 211084 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
74878 /* 211087 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74879 /* 211091 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74880 /* 211095 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74881 /* 211099 */ // (strict_fadd:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VADDSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
74882 /* 211099 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSSrr),
74883 /* 211104 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74884 /* 211108 */ GIR_RootConstrainSelectedInstOperands,
74885 /* 211109 */ // GIR_Coverage, 2158,
74886 /* 211109 */ GIR_Done,
74887 /* 211110 */ // Label 4845: @211110
74888 /* 211110 */ GIM_Try, /*On fail goto*//*Label 4846*/ GIMT_Encode4(211141), // Rule ID 2166 //
74889 /* 211115 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
74890 /* 211118 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74891 /* 211122 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74892 /* 211126 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74893 /* 211130 */ // (strict_fadd:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (ADDSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
74894 /* 211130 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDSSrr),
74895 /* 211135 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74896 /* 211139 */ GIR_RootConstrainSelectedInstOperands,
74897 /* 211140 */ // GIR_Coverage, 2166,
74898 /* 211140 */ GIR_Done,
74899 /* 211141 */ // Label 4846: @211141
74900 /* 211141 */ GIM_Try, /*On fail goto*//*Label 4847*/ GIMT_Encode4(211172), // Rule ID 5914 //
74901 /* 211146 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
74902 /* 211149 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
74903 /* 211153 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
74904 /* 211157 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
74905 /* 211161 */ // (strict_fadd:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VADDSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
74906 /* 211161 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSSZrr),
74907 /* 211166 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74908 /* 211170 */ GIR_RootConstrainSelectedInstOperands,
74909 /* 211171 */ // GIR_Coverage, 5914,
74910 /* 211171 */ GIR_Done,
74911 /* 211172 */ // Label 4847: @211172
74912 /* 211172 */ GIM_Reject,
74913 /* 211173 */ // Label 4831: @211173
74914 /* 211173 */ GIM_Reject,
74915 /* 211174 */ // Label 4815: @211174
74916 /* 211174 */ GIM_Try, /*On fail goto*//*Label 4848*/ GIMT_Encode4(212222),
74917 /* 211179 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
74918 /* 211182 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
74919 /* 211185 */ GIM_Try, /*On fail goto*//*Label 4849*/ GIMT_Encode4(211250), // Rule ID 23250 //
74920 /* 211190 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
74921 /* 211193 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74922 /* 211197 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74923 /* 211201 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
74924 /* 211205 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
74925 /* 211212 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74926 /* 211216 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74927 /* 211220 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74928 /* 211222 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74929 /* 211229 */ // (strict_fadd:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (ADD_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
74930 /* 211229 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m64),
74931 /* 211232 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74932 /* 211234 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74933 /* 211236 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74934 /* 211240 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74935 /* 211243 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74936 /* 211248 */ GIR_RootConstrainSelectedInstOperands,
74937 /* 211249 */ // GIR_Coverage, 23250,
74938 /* 211249 */ GIR_EraseRootFromParent_Done,
74939 /* 211250 */ // Label 4849: @211250
74940 /* 211250 */ GIM_Try, /*On fail goto*//*Label 4850*/ GIMT_Encode4(211315), // Rule ID 23252 //
74941 /* 211255 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
74942 /* 211258 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74943 /* 211262 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74944 /* 211266 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
74945 /* 211270 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
74946 /* 211277 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74947 /* 211281 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74948 /* 211285 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74949 /* 211287 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74950 /* 211294 */ // (strict_fadd:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (ADD_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
74951 /* 211294 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m64),
74952 /* 211297 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74953 /* 211299 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74954 /* 211301 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74955 /* 211305 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74956 /* 211308 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74957 /* 211313 */ GIR_RootConstrainSelectedInstOperands,
74958 /* 211314 */ // GIR_Coverage, 23252,
74959 /* 211314 */ GIR_EraseRootFromParent_Done,
74960 /* 211315 */ // Label 4850: @211315
74961 /* 211315 */ GIM_Try, /*On fail goto*//*Label 4851*/ GIMT_Encode4(211380), // Rule ID 23238 //
74962 /* 211320 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
74963 /* 211323 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74964 /* 211327 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74965 /* 211331 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74966 /* 211335 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74967 /* 211338 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74968 /* 211342 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74969 /* 211346 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74970 /* 211350 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74971 /* 211352 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74972 /* 211359 */ // (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)
74973 /* 211359 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m),
74974 /* 211362 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74975 /* 211364 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74976 /* 211366 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74977 /* 211370 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74978 /* 211373 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74979 /* 211378 */ GIR_RootConstrainSelectedInstOperands,
74980 /* 211379 */ // GIR_Coverage, 23238,
74981 /* 211379 */ GIR_EraseRootFromParent_Done,
74982 /* 211380 */ // Label 4851: @211380
74983 /* 211380 */ GIM_Try, /*On fail goto*//*Label 4852*/ GIMT_Encode4(211452), // Rule ID 23240 //
74984 /* 211385 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
74985 /* 211388 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74986 /* 211392 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74987 /* 211396 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74988 /* 211400 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74989 /* 211403 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74990 /* 211407 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
74991 /* 211414 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74992 /* 211418 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74993 /* 211422 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74994 /* 211424 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74995 /* 211431 */ // (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)
74996 /* 211431 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m32),
74997 /* 211434 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74998 /* 211436 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74999 /* 211438 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75000 /* 211442 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75001 /* 211445 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75002 /* 211450 */ GIR_RootConstrainSelectedInstOperands,
75003 /* 211451 */ // GIR_Coverage, 23240,
75004 /* 211451 */ GIR_EraseRootFromParent_Done,
75005 /* 211452 */ // Label 4852: @211452
75006 /* 211452 */ GIM_Try, /*On fail goto*//*Label 4853*/ GIMT_Encode4(211514), // Rule ID 23383 //
75007 /* 211457 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
75008 /* 211460 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
75009 /* 211464 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75010 /* 211468 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75011 /* 211472 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75012 /* 211475 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75013 /* 211479 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75014 /* 211483 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
75015 /* 211487 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75016 /* 211489 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75017 /* 211496 */ // (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)
75018 /* 211496 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDrm),
75019 /* 211499 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75020 /* 211501 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75021 /* 211503 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75022 /* 211507 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75023 /* 211512 */ GIR_RootConstrainSelectedInstOperands,
75024 /* 211513 */ // GIR_Coverage, 23383,
75025 /* 211513 */ GIR_EraseRootFromParent_Done,
75026 /* 211514 */ // Label 4853: @211514
75027 /* 211514 */ GIM_Try, /*On fail goto*//*Label 4854*/ GIMT_Encode4(211576), // Rule ID 23387 //
75028 /* 211519 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
75029 /* 211522 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
75030 /* 211526 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75031 /* 211530 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75032 /* 211534 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75033 /* 211537 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75034 /* 211541 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75035 /* 211545 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
75036 /* 211549 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75037 /* 211551 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75038 /* 211558 */ // (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)
75039 /* 211558 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSDrm),
75040 /* 211561 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75041 /* 211563 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75042 /* 211565 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75043 /* 211569 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75044 /* 211574 */ GIR_RootConstrainSelectedInstOperands,
75045 /* 211575 */ // GIR_Coverage, 23387,
75046 /* 211575 */ GIR_EraseRootFromParent_Done,
75047 /* 211576 */ // Label 4854: @211576
75048 /* 211576 */ GIM_Try, /*On fail goto*//*Label 4855*/ GIMT_Encode4(211638), // Rule ID 24247 //
75049 /* 211581 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
75050 /* 211584 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
75051 /* 211588 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75052 /* 211592 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75053 /* 211596 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75054 /* 211599 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75055 /* 211603 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75056 /* 211607 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
75057 /* 211611 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75058 /* 211613 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75059 /* 211620 */ // (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)
75060 /* 211620 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDZrm),
75061 /* 211623 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75062 /* 211625 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75063 /* 211627 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75064 /* 211631 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75065 /* 211636 */ GIR_RootConstrainSelectedInstOperands,
75066 /* 211637 */ // GIR_Coverage, 24247,
75067 /* 211637 */ GIR_EraseRootFromParent_Done,
75068 /* 211638 */ // Label 4855: @211638
75069 /* 211638 */ GIM_Try, /*On fail goto*//*Label 4856*/ GIMT_Encode4(211703), // Rule ID 924 //
75070 /* 211643 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
75071 /* 211646 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
75072 /* 211650 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
75073 /* 211654 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75074 /* 211658 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
75075 /* 211662 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
75076 /* 211669 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75077 /* 211673 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75078 /* 211675 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75079 /* 211682 */ // (strict_fadd:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (ADD_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
75080 /* 211682 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m64),
75081 /* 211685 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75082 /* 211687 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75083 /* 211689 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75084 /* 211693 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75085 /* 211696 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75086 /* 211701 */ GIR_RootConstrainSelectedInstOperands,
75087 /* 211702 */ // GIR_Coverage, 924,
75088 /* 211702 */ GIR_EraseRootFromParent_Done,
75089 /* 211703 */ // Label 4856: @211703
75090 /* 211703 */ GIM_Try, /*On fail goto*//*Label 4857*/ GIMT_Encode4(211768), // Rule ID 926 //
75091 /* 211708 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
75092 /* 211711 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
75093 /* 211715 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
75094 /* 211719 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75095 /* 211723 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
75096 /* 211727 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
75097 /* 211734 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75098 /* 211738 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75099 /* 211740 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75100 /* 211747 */ // (strict_fadd:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (ADD_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
75101 /* 211747 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m64),
75102 /* 211750 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75103 /* 211752 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75104 /* 211754 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75105 /* 211758 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75106 /* 211761 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75107 /* 211766 */ GIR_RootConstrainSelectedInstOperands,
75108 /* 211767 */ // GIR_Coverage, 926,
75109 /* 211767 */ GIR_EraseRootFromParent_Done,
75110 /* 211768 */ // Label 4857: @211768
75111 /* 211768 */ GIM_Try, /*On fail goto*//*Label 4858*/ GIMT_Encode4(211833), // Rule ID 912 //
75112 /* 211773 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
75113 /* 211776 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
75114 /* 211780 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
75115 /* 211784 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75116 /* 211788 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75117 /* 211792 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75118 /* 211795 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75119 /* 211799 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75120 /* 211803 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75121 /* 211805 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75122 /* 211812 */ // (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)
75123 /* 211812 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m),
75124 /* 211815 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75125 /* 211817 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75126 /* 211819 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75127 /* 211823 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75128 /* 211826 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75129 /* 211831 */ GIR_RootConstrainSelectedInstOperands,
75130 /* 211832 */ // GIR_Coverage, 912,
75131 /* 211832 */ GIR_EraseRootFromParent_Done,
75132 /* 211833 */ // Label 4858: @211833
75133 /* 211833 */ GIM_Try, /*On fail goto*//*Label 4859*/ GIMT_Encode4(211905), // Rule ID 914 //
75134 /* 211838 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
75135 /* 211841 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
75136 /* 211845 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
75137 /* 211849 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75138 /* 211853 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75139 /* 211857 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75140 /* 211860 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75141 /* 211864 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
75142 /* 211871 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75143 /* 211875 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75144 /* 211877 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75145 /* 211884 */ // (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)
75146 /* 211884 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m32),
75147 /* 211887 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75148 /* 211889 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75149 /* 211891 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75150 /* 211895 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75151 /* 211898 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75152 /* 211903 */ GIR_RootConstrainSelectedInstOperands,
75153 /* 211904 */ // GIR_Coverage, 914,
75154 /* 211904 */ GIR_EraseRootFromParent_Done,
75155 /* 211905 */ // Label 4859: @211905
75156 /* 211905 */ GIM_Try, /*On fail goto*//*Label 4860*/ GIMT_Encode4(211967), // Rule ID 2164 //
75157 /* 211910 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
75158 /* 211913 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
75159 /* 211917 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
75160 /* 211921 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75161 /* 211925 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75162 /* 211929 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75163 /* 211932 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75164 /* 211936 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75165 /* 211940 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75166 /* 211942 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75167 /* 211949 */ // (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)
75168 /* 211949 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDrm),
75169 /* 211952 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75170 /* 211954 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75171 /* 211956 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75172 /* 211960 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75173 /* 211965 */ GIR_RootConstrainSelectedInstOperands,
75174 /* 211966 */ // GIR_Coverage, 2164,
75175 /* 211966 */ GIR_EraseRootFromParent_Done,
75176 /* 211967 */ // Label 4860: @211967
75177 /* 211967 */ GIM_Try, /*On fail goto*//*Label 4861*/ GIMT_Encode4(212029), // Rule ID 2172 //
75178 /* 211972 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
75179 /* 211975 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
75180 /* 211979 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
75181 /* 211983 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75182 /* 211987 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75183 /* 211991 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75184 /* 211994 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75185 /* 211998 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75186 /* 212002 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75187 /* 212004 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75188 /* 212011 */ // (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)
75189 /* 212011 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSDrm),
75190 /* 212014 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75191 /* 212016 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75192 /* 212018 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75193 /* 212022 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75194 /* 212027 */ GIR_RootConstrainSelectedInstOperands,
75195 /* 212028 */ // GIR_Coverage, 2172,
75196 /* 212028 */ GIR_EraseRootFromParent_Done,
75197 /* 212029 */ // Label 4861: @212029
75198 /* 212029 */ GIM_Try, /*On fail goto*//*Label 4862*/ GIMT_Encode4(212091), // Rule ID 5935 //
75199 /* 212034 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
75200 /* 212037 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
75201 /* 212041 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
75202 /* 212045 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75203 /* 212049 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75204 /* 212053 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75205 /* 212056 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75206 /* 212060 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75207 /* 212064 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75208 /* 212066 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75209 /* 212073 */ // (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)
75210 /* 212073 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDZrm),
75211 /* 212076 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75212 /* 212078 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75213 /* 212080 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75214 /* 212084 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75215 /* 212089 */ GIR_RootConstrainSelectedInstOperands,
75216 /* 212090 */ // GIR_Coverage, 5935,
75217 /* 212090 */ GIR_EraseRootFromParent_Done,
75218 /* 212091 */ // Label 4862: @212091
75219 /* 212091 */ GIM_Try, /*On fail goto*//*Label 4863*/ GIMT_Encode4(212128), // Rule ID 888 //
75220 /* 212096 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
75221 /* 212099 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
75222 /* 212103 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
75223 /* 212107 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
75224 /* 212111 */ // (strict_fadd:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (ADD_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
75225 /* 212111 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64),
75226 /* 212116 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(RegState::Dead),
75227 /* 212122 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
75228 /* 212126 */ GIR_RootConstrainSelectedInstOperands,
75229 /* 212127 */ // GIR_Coverage, 888,
75230 /* 212127 */ GIR_Done,
75231 /* 212128 */ // Label 4863: @212128
75232 /* 212128 */ GIM_Try, /*On fail goto*//*Label 4864*/ GIMT_Encode4(212159), // Rule ID 2162 //
75233 /* 212133 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
75234 /* 212136 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
75235 /* 212140 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
75236 /* 212144 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
75237 /* 212148 */ // (strict_fadd:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VADDSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
75238 /* 212148 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSDrr),
75239 /* 212153 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75240 /* 212157 */ GIR_RootConstrainSelectedInstOperands,
75241 /* 212158 */ // GIR_Coverage, 2162,
75242 /* 212158 */ GIR_Done,
75243 /* 212159 */ // Label 4864: @212159
75244 /* 212159 */ GIM_Try, /*On fail goto*//*Label 4865*/ GIMT_Encode4(212190), // Rule ID 2170 //
75245 /* 212164 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
75246 /* 212167 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
75247 /* 212171 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
75248 /* 212175 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
75249 /* 212179 */ // (strict_fadd:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (ADDSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
75250 /* 212179 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDSDrr),
75251 /* 212184 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75252 /* 212188 */ GIR_RootConstrainSelectedInstOperands,
75253 /* 212189 */ // GIR_Coverage, 2170,
75254 /* 212189 */ GIR_Done,
75255 /* 212190 */ // Label 4865: @212190
75256 /* 212190 */ GIM_Try, /*On fail goto*//*Label 4866*/ GIMT_Encode4(212221), // Rule ID 5933 //
75257 /* 212195 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
75258 /* 212198 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
75259 /* 212202 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
75260 /* 212206 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
75261 /* 212210 */ // (strict_fadd:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VADDSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
75262 /* 212210 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSDZrr),
75263 /* 212215 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75264 /* 212219 */ GIR_RootConstrainSelectedInstOperands,
75265 /* 212220 */ // GIR_Coverage, 5933,
75266 /* 212220 */ GIR_Done,
75267 /* 212221 */ // Label 4866: @212221
75268 /* 212221 */ GIM_Reject,
75269 /* 212222 */ // Label 4848: @212222
75270 /* 212222 */ GIM_Reject,
75271 /* 212223 */ // Label 4816: @212223
75272 /* 212223 */ GIM_Try, /*On fail goto*//*Label 4867*/ GIMT_Encode4(212788),
75273 /* 212228 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
75274 /* 212231 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
75275 /* 212234 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
75276 /* 212238 */ GIM_Try, /*On fail goto*//*Label 4868*/ GIMT_Encode4(212299), // Rule ID 23254 //
75277 /* 212243 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
75278 /* 212246 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75279 /* 212250 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
75280 /* 212254 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
75281 /* 212261 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75282 /* 212265 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
75283 /* 212269 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75284 /* 212271 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75285 /* 212278 */ // (strict_fadd:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (ADD_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
75286 /* 212278 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m80),
75287 /* 212281 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75288 /* 212283 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75289 /* 212285 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75290 /* 212289 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75291 /* 212292 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75292 /* 212297 */ GIR_RootConstrainSelectedInstOperands,
75293 /* 212298 */ // GIR_Coverage, 23254,
75294 /* 212298 */ GIR_EraseRootFromParent_Done,
75295 /* 212299 */ // Label 4868: @212299
75296 /* 212299 */ GIM_Try, /*On fail goto*//*Label 4869*/ GIMT_Encode4(212360), // Rule ID 23256 //
75297 /* 212304 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
75298 /* 212307 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75299 /* 212311 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
75300 /* 212315 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
75301 /* 212322 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75302 /* 212326 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
75303 /* 212330 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75304 /* 212332 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75305 /* 212339 */ // (strict_fadd:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (ADD_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
75306 /* 212339 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m80),
75307 /* 212342 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75308 /* 212344 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75309 /* 212346 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75310 /* 212350 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75311 /* 212353 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75312 /* 212358 */ GIR_RootConstrainSelectedInstOperands,
75313 /* 212359 */ // GIR_Coverage, 23256,
75314 /* 212359 */ GIR_EraseRootFromParent_Done,
75315 /* 212360 */ // Label 4869: @212360
75316 /* 212360 */ GIM_Try, /*On fail goto*//*Label 4870*/ GIMT_Encode4(212428), // Rule ID 23242 //
75317 /* 212365 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
75318 /* 212368 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75319 /* 212372 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75320 /* 212376 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75321 /* 212379 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75322 /* 212383 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
75323 /* 212390 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75324 /* 212394 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
75325 /* 212398 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75326 /* 212400 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75327 /* 212407 */ // (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)
75328 /* 212407 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m32),
75329 /* 212410 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75330 /* 212412 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75331 /* 212414 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75332 /* 212418 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75333 /* 212421 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75334 /* 212426 */ GIR_RootConstrainSelectedInstOperands,
75335 /* 212427 */ // GIR_Coverage, 23242,
75336 /* 212427 */ GIR_EraseRootFromParent_Done,
75337 /* 212428 */ // Label 4870: @212428
75338 /* 212428 */ GIM_Try, /*On fail goto*//*Label 4871*/ GIMT_Encode4(212496), // Rule ID 23244 //
75339 /* 212433 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
75340 /* 212436 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75341 /* 212440 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75342 /* 212444 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75343 /* 212447 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75344 /* 212451 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
75345 /* 212458 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75346 /* 212462 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
75347 /* 212466 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75348 /* 212468 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75349 /* 212475 */ // (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)
75350 /* 212475 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m64),
75351 /* 212478 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75352 /* 212480 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75353 /* 212482 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75354 /* 212486 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75355 /* 212489 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75356 /* 212494 */ GIR_RootConstrainSelectedInstOperands,
75357 /* 212495 */ // GIR_Coverage, 23244,
75358 /* 212495 */ GIR_EraseRootFromParent_Done,
75359 /* 212496 */ // Label 4871: @212496
75360 /* 212496 */ GIM_Try, /*On fail goto*//*Label 4872*/ GIMT_Encode4(212557), // Rule ID 928 //
75361 /* 212501 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
75362 /* 212504 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
75363 /* 212508 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75364 /* 212512 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
75365 /* 212516 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
75366 /* 212523 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75367 /* 212527 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75368 /* 212529 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75369 /* 212536 */ // (strict_fadd:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (ADD_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
75370 /* 212536 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m80),
75371 /* 212539 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75372 /* 212541 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75373 /* 212543 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75374 /* 212547 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75375 /* 212550 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75376 /* 212555 */ GIR_RootConstrainSelectedInstOperands,
75377 /* 212556 */ // GIR_Coverage, 928,
75378 /* 212556 */ GIR_EraseRootFromParent_Done,
75379 /* 212557 */ // Label 4872: @212557
75380 /* 212557 */ GIM_Try, /*On fail goto*//*Label 4873*/ GIMT_Encode4(212618), // Rule ID 930 //
75381 /* 212562 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
75382 /* 212565 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
75383 /* 212569 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75384 /* 212573 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
75385 /* 212577 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
75386 /* 212584 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75387 /* 212588 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75388 /* 212590 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75389 /* 212597 */ // (strict_fadd:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (ADD_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
75390 /* 212597 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m80),
75391 /* 212600 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75392 /* 212602 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75393 /* 212604 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75394 /* 212608 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75395 /* 212611 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75396 /* 212616 */ GIR_RootConstrainSelectedInstOperands,
75397 /* 212617 */ // GIR_Coverage, 930,
75398 /* 212617 */ GIR_EraseRootFromParent_Done,
75399 /* 212618 */ // Label 4873: @212618
75400 /* 212618 */ GIM_Try, /*On fail goto*//*Label 4874*/ GIMT_Encode4(212686), // Rule ID 916 //
75401 /* 212623 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
75402 /* 212626 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
75403 /* 212630 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75404 /* 212634 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75405 /* 212638 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75406 /* 212641 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75407 /* 212645 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
75408 /* 212652 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75409 /* 212656 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75410 /* 212658 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75411 /* 212665 */ // (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)
75412 /* 212665 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m32),
75413 /* 212668 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75414 /* 212670 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75415 /* 212672 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75416 /* 212676 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75417 /* 212679 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75418 /* 212684 */ GIR_RootConstrainSelectedInstOperands,
75419 /* 212685 */ // GIR_Coverage, 916,
75420 /* 212685 */ GIR_EraseRootFromParent_Done,
75421 /* 212686 */ // Label 4874: @212686
75422 /* 212686 */ GIM_Try, /*On fail goto*//*Label 4875*/ GIMT_Encode4(212754), // Rule ID 918 //
75423 /* 212691 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
75424 /* 212694 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
75425 /* 212698 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75426 /* 212702 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75427 /* 212706 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75428 /* 212709 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75429 /* 212713 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
75430 /* 212720 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75431 /* 212724 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75432 /* 212726 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75433 /* 212733 */ // (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)
75434 /* 212733 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m64),
75435 /* 212736 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75436 /* 212738 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75437 /* 212740 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75438 /* 212744 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75439 /* 212747 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75440 /* 212752 */ GIR_RootConstrainSelectedInstOperands,
75441 /* 212753 */ // GIR_Coverage, 918,
75442 /* 212753 */ GIR_EraseRootFromParent_Done,
75443 /* 212754 */ // Label 4875: @212754
75444 /* 212754 */ GIM_Try, /*On fail goto*//*Label 4876*/ GIMT_Encode4(212787), // Rule ID 890 //
75445 /* 212759 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
75446 /* 212762 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
75447 /* 212766 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
75448 /* 212770 */ // (strict_fadd:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (ADD_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
75449 /* 212770 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80),
75450 /* 212775 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(RegState::Dead),
75451 /* 212781 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
75452 /* 212785 */ GIR_RootConstrainSelectedInstOperands,
75453 /* 212786 */ // GIR_Coverage, 890,
75454 /* 212786 */ GIR_Done,
75455 /* 212787 */ // Label 4876: @212787
75456 /* 212787 */ GIM_Reject,
75457 /* 212788 */ // Label 4867: @212788
75458 /* 212788 */ GIM_Reject,
75459 /* 212789 */ // Label 4817: @212789
75460 /* 212789 */ GIM_Try, /*On fail goto*//*Label 4877*/ GIMT_Encode4(213142),
75461 /* 212794 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
75462 /* 212797 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
75463 /* 212800 */ GIM_Try, /*On fail goto*//*Label 4878*/ GIMT_Encode4(212862), // Rule ID 23371 //
75464 /* 212805 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75465 /* 212808 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75466 /* 212812 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75467 /* 212816 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75468 /* 212820 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75469 /* 212823 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75470 /* 212827 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75471 /* 212831 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75472 /* 212835 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75473 /* 212837 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75474 /* 212844 */ // (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)
75475 /* 212844 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDrm),
75476 /* 212847 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75477 /* 212849 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75478 /* 212851 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75479 /* 212855 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75480 /* 212860 */ GIR_RootConstrainSelectedInstOperands,
75481 /* 212861 */ // GIR_Coverage, 23371,
75482 /* 212861 */ GIR_EraseRootFromParent_Done,
75483 /* 212862 */ // Label 4878: @212862
75484 /* 212862 */ GIM_Try, /*On fail goto*//*Label 4879*/ GIMT_Encode4(212924), // Rule ID 24295 //
75485 /* 212867 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
75486 /* 212870 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75487 /* 212874 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75488 /* 212878 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75489 /* 212882 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75490 /* 212885 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75491 /* 212889 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75492 /* 212893 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75493 /* 212897 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75494 /* 212899 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75495 /* 212906 */ // (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)
75496 /* 212906 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ128rm),
75497 /* 212909 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75498 /* 212911 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75499 /* 212913 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75500 /* 212917 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75501 /* 212922 */ GIR_RootConstrainSelectedInstOperands,
75502 /* 212923 */ // GIR_Coverage, 24295,
75503 /* 212923 */ GIR_EraseRootFromParent_Done,
75504 /* 212924 */ // Label 4879: @212924
75505 /* 212924 */ GIM_Try, /*On fail goto*//*Label 4880*/ GIMT_Encode4(212986), // Rule ID 2140 //
75506 /* 212929 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75507 /* 212932 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75508 /* 212936 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75509 /* 212940 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75510 /* 212944 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75511 /* 212948 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75512 /* 212951 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75513 /* 212955 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75514 /* 212959 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75515 /* 212961 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75516 /* 212968 */ // (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)
75517 /* 212968 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDrm),
75518 /* 212971 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75519 /* 212973 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75520 /* 212975 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75521 /* 212979 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75522 /* 212984 */ GIR_RootConstrainSelectedInstOperands,
75523 /* 212985 */ // GIR_Coverage, 2140,
75524 /* 212985 */ GIR_EraseRootFromParent_Done,
75525 /* 212986 */ // Label 4880: @212986
75526 /* 212986 */ GIM_Try, /*On fail goto*//*Label 4881*/ GIMT_Encode4(213048), // Rule ID 6308 //
75527 /* 212991 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
75528 /* 212994 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75529 /* 212998 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75530 /* 213002 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75531 /* 213006 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75532 /* 213010 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75533 /* 213013 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75534 /* 213017 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75535 /* 213021 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75536 /* 213023 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75537 /* 213030 */ // (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)
75538 /* 213030 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ128rm),
75539 /* 213033 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75540 /* 213035 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75541 /* 213037 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75542 /* 213041 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75543 /* 213046 */ GIR_RootConstrainSelectedInstOperands,
75544 /* 213047 */ // GIR_Coverage, 6308,
75545 /* 213047 */ GIR_EraseRootFromParent_Done,
75546 /* 213048 */ // Label 4881: @213048
75547 /* 213048 */ GIM_Try, /*On fail goto*//*Label 4882*/ GIMT_Encode4(213079), // Rule ID 2138 //
75548 /* 213053 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75549 /* 213056 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75550 /* 213060 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75551 /* 213064 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75552 /* 213068 */ // (strict_fadd:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VADDPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
75553 /* 213068 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDrr),
75554 /* 213073 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75555 /* 213077 */ GIR_RootConstrainSelectedInstOperands,
75556 /* 213078 */ // GIR_Coverage, 2138,
75557 /* 213078 */ GIR_Done,
75558 /* 213079 */ // Label 4882: @213079
75559 /* 213079 */ GIM_Try, /*On fail goto*//*Label 4883*/ GIMT_Encode4(213110), // Rule ID 2154 //
75560 /* 213084 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
75561 /* 213087 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75562 /* 213091 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75563 /* 213095 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75564 /* 213099 */ // (strict_fadd:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (ADDPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
75565 /* 213099 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDPDrr),
75566 /* 213104 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75567 /* 213108 */ GIR_RootConstrainSelectedInstOperands,
75568 /* 213109 */ // GIR_Coverage, 2154,
75569 /* 213109 */ GIR_Done,
75570 /* 213110 */ // Label 4883: @213110
75571 /* 213110 */ GIM_Try, /*On fail goto*//*Label 4884*/ GIMT_Encode4(213141), // Rule ID 6304 //
75572 /* 213115 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
75573 /* 213118 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75574 /* 213122 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75575 /* 213126 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75576 /* 213130 */ // (strict_fadd:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VADDPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
75577 /* 213130 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDZ128rr),
75578 /* 213135 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75579 /* 213139 */ GIR_RootConstrainSelectedInstOperands,
75580 /* 213140 */ // GIR_Coverage, 6304,
75581 /* 213140 */ GIR_Done,
75582 /* 213141 */ // Label 4884: @213141
75583 /* 213141 */ GIM_Reject,
75584 /* 213142 */ // Label 4877: @213142
75585 /* 213142 */ GIM_Reject,
75586 /* 213143 */ // Label 4818: @213143
75587 /* 213143 */ GIM_Try, /*On fail goto*//*Label 4885*/ GIMT_Encode4(213496),
75588 /* 213148 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
75589 /* 213151 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
75590 /* 213154 */ GIM_Try, /*On fail goto*//*Label 4886*/ GIMT_Encode4(213216), // Rule ID 23369 //
75591 /* 213159 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75592 /* 213162 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75593 /* 213166 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75594 /* 213170 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75595 /* 213174 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75596 /* 213177 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75597 /* 213181 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75598 /* 213185 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75599 /* 213189 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75600 /* 213191 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75601 /* 213198 */ // (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)
75602 /* 213198 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSrm),
75603 /* 213201 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75604 /* 213203 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75605 /* 213205 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75606 /* 213209 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75607 /* 213214 */ GIR_RootConstrainSelectedInstOperands,
75608 /* 213215 */ // GIR_Coverage, 23369,
75609 /* 213215 */ GIR_EraseRootFromParent_Done,
75610 /* 213216 */ // Label 4886: @213216
75611 /* 213216 */ GIM_Try, /*On fail goto*//*Label 4887*/ GIMT_Encode4(213278), // Rule ID 24279 //
75612 /* 213221 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
75613 /* 213224 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75614 /* 213228 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75615 /* 213232 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75616 /* 213236 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75617 /* 213239 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75618 /* 213243 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75619 /* 213247 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75620 /* 213251 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75621 /* 213253 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75622 /* 213260 */ // (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)
75623 /* 213260 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ128rm),
75624 /* 213263 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75625 /* 213265 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75626 /* 213267 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75627 /* 213271 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75628 /* 213276 */ GIR_RootConstrainSelectedInstOperands,
75629 /* 213277 */ // GIR_Coverage, 24279,
75630 /* 213277 */ GIR_EraseRootFromParent_Done,
75631 /* 213278 */ // Label 4887: @213278
75632 /* 213278 */ GIM_Try, /*On fail goto*//*Label 4888*/ GIMT_Encode4(213340), // Rule ID 2136 //
75633 /* 213283 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75634 /* 213286 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75635 /* 213290 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75636 /* 213294 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75637 /* 213298 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75638 /* 213302 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75639 /* 213305 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75640 /* 213309 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75641 /* 213313 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75642 /* 213315 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75643 /* 213322 */ // (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)
75644 /* 213322 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSrm),
75645 /* 213325 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75646 /* 213327 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75647 /* 213329 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75648 /* 213333 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75649 /* 213338 */ GIR_RootConstrainSelectedInstOperands,
75650 /* 213339 */ // GIR_Coverage, 2136,
75651 /* 213339 */ GIR_EraseRootFromParent_Done,
75652 /* 213340 */ // Label 4888: @213340
75653 /* 213340 */ GIM_Try, /*On fail goto*//*Label 4889*/ GIMT_Encode4(213402), // Rule ID 6284 //
75654 /* 213345 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
75655 /* 213348 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75656 /* 213352 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75657 /* 213356 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75658 /* 213360 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75659 /* 213364 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75660 /* 213367 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75661 /* 213371 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75662 /* 213375 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75663 /* 213377 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75664 /* 213384 */ // (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)
75665 /* 213384 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ128rm),
75666 /* 213387 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75667 /* 213389 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75668 /* 213391 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75669 /* 213395 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75670 /* 213400 */ GIR_RootConstrainSelectedInstOperands,
75671 /* 213401 */ // GIR_Coverage, 6284,
75672 /* 213401 */ GIR_EraseRootFromParent_Done,
75673 /* 213402 */ // Label 4889: @213402
75674 /* 213402 */ GIM_Try, /*On fail goto*//*Label 4890*/ GIMT_Encode4(213433), // Rule ID 2134 //
75675 /* 213407 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75676 /* 213410 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75677 /* 213414 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75678 /* 213418 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75679 /* 213422 */ // (strict_fadd:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VADDPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
75680 /* 213422 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSrr),
75681 /* 213427 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75682 /* 213431 */ GIR_RootConstrainSelectedInstOperands,
75683 /* 213432 */ // GIR_Coverage, 2134,
75684 /* 213432 */ GIR_Done,
75685 /* 213433 */ // Label 4890: @213433
75686 /* 213433 */ GIM_Try, /*On fail goto*//*Label 4891*/ GIMT_Encode4(213464), // Rule ID 2150 //
75687 /* 213438 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
75688 /* 213441 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75689 /* 213445 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75690 /* 213449 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75691 /* 213453 */ // (strict_fadd:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (ADDPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
75692 /* 213453 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDPSrr),
75693 /* 213458 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75694 /* 213462 */ GIR_RootConstrainSelectedInstOperands,
75695 /* 213463 */ // GIR_Coverage, 2150,
75696 /* 213463 */ GIR_Done,
75697 /* 213464 */ // Label 4891: @213464
75698 /* 213464 */ GIM_Try, /*On fail goto*//*Label 4892*/ GIMT_Encode4(213495), // Rule ID 6280 //
75699 /* 213469 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
75700 /* 213472 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75701 /* 213476 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75702 /* 213480 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75703 /* 213484 */ // (strict_fadd:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VADDPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
75704 /* 213484 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSZ128rr),
75705 /* 213489 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75706 /* 213493 */ GIR_RootConstrainSelectedInstOperands,
75707 /* 213494 */ // GIR_Coverage, 6280,
75708 /* 213494 */ GIR_Done,
75709 /* 213495 */ // Label 4892: @213495
75710 /* 213495 */ GIM_Reject,
75711 /* 213496 */ // Label 4885: @213496
75712 /* 213496 */ GIM_Reject,
75713 /* 213497 */ // Label 4819: @213497
75714 /* 213497 */ GIM_Try, /*On fail goto*//*Label 4893*/ GIMT_Encode4(213819),
75715 /* 213502 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
75716 /* 213505 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
75717 /* 213508 */ GIM_Try, /*On fail goto*//*Label 4894*/ GIMT_Encode4(213570), // Rule ID 23375 //
75718 /* 213513 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75719 /* 213516 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75720 /* 213520 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75721 /* 213524 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75722 /* 213528 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75723 /* 213531 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75724 /* 213535 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75725 /* 213539 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75726 /* 213543 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75727 /* 213545 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75728 /* 213552 */ // (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)
75729 /* 213552 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDYrm),
75730 /* 213555 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75731 /* 213557 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75732 /* 213559 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75733 /* 213563 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75734 /* 213568 */ GIR_RootConstrainSelectedInstOperands,
75735 /* 213569 */ // GIR_Coverage, 23375,
75736 /* 213569 */ GIR_EraseRootFromParent_Done,
75737 /* 213570 */ // Label 4894: @213570
75738 /* 213570 */ GIM_Try, /*On fail goto*//*Label 4895*/ GIMT_Encode4(213632), // Rule ID 24303 //
75739 /* 213575 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
75740 /* 213578 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75741 /* 213582 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75742 /* 213586 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75743 /* 213590 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75744 /* 213593 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75745 /* 213597 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75746 /* 213601 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75747 /* 213605 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75748 /* 213607 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75749 /* 213614 */ // (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)
75750 /* 213614 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ256rm),
75751 /* 213617 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75752 /* 213619 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75753 /* 213621 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75754 /* 213625 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75755 /* 213630 */ GIR_RootConstrainSelectedInstOperands,
75756 /* 213631 */ // GIR_Coverage, 24303,
75757 /* 213631 */ GIR_EraseRootFromParent_Done,
75758 /* 213632 */ // Label 4895: @213632
75759 /* 213632 */ GIM_Try, /*On fail goto*//*Label 4896*/ GIMT_Encode4(213694), // Rule ID 2148 //
75760 /* 213637 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75761 /* 213640 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75762 /* 213644 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75763 /* 213648 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75764 /* 213652 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75765 /* 213656 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75766 /* 213659 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75767 /* 213663 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75768 /* 213667 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75769 /* 213669 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75770 /* 213676 */ // (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)
75771 /* 213676 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDYrm),
75772 /* 213679 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75773 /* 213681 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75774 /* 213683 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75775 /* 213687 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75776 /* 213692 */ GIR_RootConstrainSelectedInstOperands,
75777 /* 213693 */ // GIR_Coverage, 2148,
75778 /* 213693 */ GIR_EraseRootFromParent_Done,
75779 /* 213694 */ // Label 4896: @213694
75780 /* 213694 */ GIM_Try, /*On fail goto*//*Label 4897*/ GIMT_Encode4(213756), // Rule ID 6320 //
75781 /* 213699 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
75782 /* 213702 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75783 /* 213706 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75784 /* 213710 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75785 /* 213714 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75786 /* 213718 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75787 /* 213721 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75788 /* 213725 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75789 /* 213729 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75790 /* 213731 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75791 /* 213738 */ // (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)
75792 /* 213738 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ256rm),
75793 /* 213741 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75794 /* 213743 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75795 /* 213745 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75796 /* 213749 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75797 /* 213754 */ GIR_RootConstrainSelectedInstOperands,
75798 /* 213755 */ // GIR_Coverage, 6320,
75799 /* 213755 */ GIR_EraseRootFromParent_Done,
75800 /* 213756 */ // Label 4897: @213756
75801 /* 213756 */ GIM_Try, /*On fail goto*//*Label 4898*/ GIMT_Encode4(213787), // Rule ID 2146 //
75802 /* 213761 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75803 /* 213764 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75804 /* 213768 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75805 /* 213772 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75806 /* 213776 */ // (strict_fadd:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VADDPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
75807 /* 213776 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDYrr),
75808 /* 213781 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75809 /* 213785 */ GIR_RootConstrainSelectedInstOperands,
75810 /* 213786 */ // GIR_Coverage, 2146,
75811 /* 213786 */ GIR_Done,
75812 /* 213787 */ // Label 4898: @213787
75813 /* 213787 */ GIM_Try, /*On fail goto*//*Label 4899*/ GIMT_Encode4(213818), // Rule ID 6316 //
75814 /* 213792 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
75815 /* 213795 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75816 /* 213799 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75817 /* 213803 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75818 /* 213807 */ // (strict_fadd:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VADDPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
75819 /* 213807 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDZ256rr),
75820 /* 213812 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75821 /* 213816 */ GIR_RootConstrainSelectedInstOperands,
75822 /* 213817 */ // GIR_Coverage, 6316,
75823 /* 213817 */ GIR_Done,
75824 /* 213818 */ // Label 4899: @213818
75825 /* 213818 */ GIM_Reject,
75826 /* 213819 */ // Label 4893: @213819
75827 /* 213819 */ GIM_Reject,
75828 /* 213820 */ // Label 4820: @213820
75829 /* 213820 */ GIM_Try, /*On fail goto*//*Label 4900*/ GIMT_Encode4(213979),
75830 /* 213825 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
75831 /* 213828 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
75832 /* 213831 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75833 /* 213835 */ GIM_Try, /*On fail goto*//*Label 4901*/ GIMT_Encode4(213893), // Rule ID 24319 //
75834 /* 213840 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
75835 /* 213843 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75836 /* 213847 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75837 /* 213851 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75838 /* 213854 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75839 /* 213858 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75840 /* 213862 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75841 /* 213866 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75842 /* 213868 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75843 /* 213875 */ // (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)
75844 /* 213875 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ128rm),
75845 /* 213878 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75846 /* 213880 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75847 /* 213882 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75848 /* 213886 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75849 /* 213891 */ GIR_RootConstrainSelectedInstOperands,
75850 /* 213892 */ // GIR_Coverage, 24319,
75851 /* 213892 */ GIR_EraseRootFromParent_Done,
75852 /* 213893 */ // Label 4901: @213893
75853 /* 213893 */ GIM_Try, /*On fail goto*//*Label 4902*/ GIMT_Encode4(213951), // Rule ID 6344 //
75854 /* 213898 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
75855 /* 213901 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75856 /* 213905 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75857 /* 213909 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75858 /* 213913 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75859 /* 213916 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75860 /* 213920 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75861 /* 213924 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75862 /* 213926 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75863 /* 213933 */ // (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)
75864 /* 213933 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ128rm),
75865 /* 213936 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75866 /* 213938 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75867 /* 213940 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75868 /* 213944 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75869 /* 213949 */ GIR_RootConstrainSelectedInstOperands,
75870 /* 213950 */ // GIR_Coverage, 6344,
75871 /* 213950 */ GIR_EraseRootFromParent_Done,
75872 /* 213951 */ // Label 4902: @213951
75873 /* 213951 */ GIM_Try, /*On fail goto*//*Label 4903*/ GIMT_Encode4(213978), // Rule ID 6340 //
75874 /* 213956 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
75875 /* 213959 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75876 /* 213963 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75877 /* 213967 */ // (strict_fadd:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VADDPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
75878 /* 213967 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPHZ128rr),
75879 /* 213972 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75880 /* 213976 */ GIR_RootConstrainSelectedInstOperands,
75881 /* 213977 */ // GIR_Coverage, 6340,
75882 /* 213977 */ GIR_Done,
75883 /* 213978 */ // Label 4903: @213978
75884 /* 213978 */ GIM_Reject,
75885 /* 213979 */ // Label 4900: @213979
75886 /* 213979 */ GIM_Reject,
75887 /* 213980 */ // Label 4821: @213980
75888 /* 213980 */ GIM_Try, /*On fail goto*//*Label 4904*/ GIMT_Encode4(214302),
75889 /* 213985 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
75890 /* 213988 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
75891 /* 213991 */ GIM_Try, /*On fail goto*//*Label 4905*/ GIMT_Encode4(214053), // Rule ID 23373 //
75892 /* 213996 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75893 /* 213999 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75894 /* 214003 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75895 /* 214007 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75896 /* 214011 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75897 /* 214014 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75898 /* 214018 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75899 /* 214022 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75900 /* 214026 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75901 /* 214028 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75902 /* 214035 */ // (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)
75903 /* 214035 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSYrm),
75904 /* 214038 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75905 /* 214040 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75906 /* 214042 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75907 /* 214046 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75908 /* 214051 */ GIR_RootConstrainSelectedInstOperands,
75909 /* 214052 */ // GIR_Coverage, 23373,
75910 /* 214052 */ GIR_EraseRootFromParent_Done,
75911 /* 214053 */ // Label 4905: @214053
75912 /* 214053 */ GIM_Try, /*On fail goto*//*Label 4906*/ GIMT_Encode4(214115), // Rule ID 24287 //
75913 /* 214058 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
75914 /* 214061 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75915 /* 214065 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75916 /* 214069 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75917 /* 214073 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75918 /* 214076 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75919 /* 214080 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75920 /* 214084 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75921 /* 214088 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75922 /* 214090 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75923 /* 214097 */ // (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)
75924 /* 214097 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ256rm),
75925 /* 214100 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75926 /* 214102 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75927 /* 214104 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75928 /* 214108 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75929 /* 214113 */ GIR_RootConstrainSelectedInstOperands,
75930 /* 214114 */ // GIR_Coverage, 24287,
75931 /* 214114 */ GIR_EraseRootFromParent_Done,
75932 /* 214115 */ // Label 4906: @214115
75933 /* 214115 */ GIM_Try, /*On fail goto*//*Label 4907*/ GIMT_Encode4(214177), // Rule ID 2144 //
75934 /* 214120 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75935 /* 214123 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75936 /* 214127 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75937 /* 214131 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75938 /* 214135 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75939 /* 214139 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75940 /* 214142 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75941 /* 214146 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75942 /* 214150 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75943 /* 214152 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75944 /* 214159 */ // (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)
75945 /* 214159 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSYrm),
75946 /* 214162 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75947 /* 214164 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75948 /* 214166 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75949 /* 214170 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75950 /* 214175 */ GIR_RootConstrainSelectedInstOperands,
75951 /* 214176 */ // GIR_Coverage, 2144,
75952 /* 214176 */ GIR_EraseRootFromParent_Done,
75953 /* 214177 */ // Label 4907: @214177
75954 /* 214177 */ GIM_Try, /*On fail goto*//*Label 4908*/ GIMT_Encode4(214239), // Rule ID 6296 //
75955 /* 214182 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
75956 /* 214185 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75957 /* 214189 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75958 /* 214193 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75959 /* 214197 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75960 /* 214201 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75961 /* 214204 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75962 /* 214208 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75963 /* 214212 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75964 /* 214214 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75965 /* 214221 */ // (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)
75966 /* 214221 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ256rm),
75967 /* 214224 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75968 /* 214226 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75969 /* 214228 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75970 /* 214232 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75971 /* 214237 */ GIR_RootConstrainSelectedInstOperands,
75972 /* 214238 */ // GIR_Coverage, 6296,
75973 /* 214238 */ GIR_EraseRootFromParent_Done,
75974 /* 214239 */ // Label 4908: @214239
75975 /* 214239 */ GIM_Try, /*On fail goto*//*Label 4909*/ GIMT_Encode4(214270), // Rule ID 2142 //
75976 /* 214244 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75977 /* 214247 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75978 /* 214251 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75979 /* 214255 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75980 /* 214259 */ // (strict_fadd:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VADDPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
75981 /* 214259 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSYrr),
75982 /* 214264 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75983 /* 214268 */ GIR_RootConstrainSelectedInstOperands,
75984 /* 214269 */ // GIR_Coverage, 2142,
75985 /* 214269 */ GIR_Done,
75986 /* 214270 */ // Label 4909: @214270
75987 /* 214270 */ GIM_Try, /*On fail goto*//*Label 4910*/ GIMT_Encode4(214301), // Rule ID 6292 //
75988 /* 214275 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
75989 /* 214278 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75990 /* 214282 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75991 /* 214286 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75992 /* 214290 */ // (strict_fadd:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VADDPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
75993 /* 214290 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSZ256rr),
75994 /* 214295 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75995 /* 214299 */ GIR_RootConstrainSelectedInstOperands,
75996 /* 214300 */ // GIR_Coverage, 6292,
75997 /* 214300 */ GIR_Done,
75998 /* 214301 */ // Label 4910: @214301
75999 /* 214301 */ GIM_Reject,
76000 /* 214302 */ // Label 4904: @214302
76001 /* 214302 */ GIM_Reject,
76002 /* 214303 */ // Label 4822: @214303
76003 /* 214303 */ GIM_Try, /*On fail goto*//*Label 4911*/ GIMT_Encode4(214462),
76004 /* 214308 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
76005 /* 214311 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
76006 /* 214314 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
76007 /* 214318 */ GIM_Try, /*On fail goto*//*Label 4912*/ GIMT_Encode4(214376), // Rule ID 24271 //
76008 /* 214323 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
76009 /* 214326 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76010 /* 214330 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76011 /* 214334 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76012 /* 214337 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76013 /* 214341 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76014 /* 214345 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
76015 /* 214349 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76016 /* 214351 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76017 /* 214358 */ // (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)
76018 /* 214358 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZrm),
76019 /* 214361 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76020 /* 214363 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76021 /* 214365 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76022 /* 214369 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76023 /* 214374 */ GIR_RootConstrainSelectedInstOperands,
76024 /* 214375 */ // GIR_Coverage, 24271,
76025 /* 214375 */ GIR_EraseRootFromParent_Done,
76026 /* 214376 */ // Label 4912: @214376
76027 /* 214376 */ GIM_Try, /*On fail goto*//*Label 4913*/ GIMT_Encode4(214434), // Rule ID 6272 //
76028 /* 214381 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
76029 /* 214384 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
76030 /* 214388 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76031 /* 214392 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76032 /* 214396 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76033 /* 214399 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76034 /* 214403 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76035 /* 214407 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76036 /* 214409 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76037 /* 214416 */ // (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)
76038 /* 214416 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZrm),
76039 /* 214419 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76040 /* 214421 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76041 /* 214423 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76042 /* 214427 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76043 /* 214432 */ GIR_RootConstrainSelectedInstOperands,
76044 /* 214433 */ // GIR_Coverage, 6272,
76045 /* 214433 */ GIR_EraseRootFromParent_Done,
76046 /* 214434 */ // Label 4913: @214434
76047 /* 214434 */ GIM_Try, /*On fail goto*//*Label 4914*/ GIMT_Encode4(214461), // Rule ID 6268 //
76048 /* 214439 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
76049 /* 214442 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
76050 /* 214446 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
76051 /* 214450 */ // (strict_fadd:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VADDPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
76052 /* 214450 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDZrr),
76053 /* 214455 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76054 /* 214459 */ GIR_RootConstrainSelectedInstOperands,
76055 /* 214460 */ // GIR_Coverage, 6268,
76056 /* 214460 */ GIR_Done,
76057 /* 214461 */ // Label 4914: @214461
76058 /* 214461 */ GIM_Reject,
76059 /* 214462 */ // Label 4911: @214462
76060 /* 214462 */ GIM_Reject,
76061 /* 214463 */ // Label 4823: @214463
76062 /* 214463 */ GIM_Try, /*On fail goto*//*Label 4915*/ GIMT_Encode4(214622),
76063 /* 214468 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
76064 /* 214471 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
76065 /* 214474 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76066 /* 214478 */ GIM_Try, /*On fail goto*//*Label 4916*/ GIMT_Encode4(214536), // Rule ID 24327 //
76067 /* 214483 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
76068 /* 214486 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76069 /* 214490 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76070 /* 214494 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76071 /* 214497 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76072 /* 214501 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76073 /* 214505 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76074 /* 214509 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76075 /* 214511 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76076 /* 214518 */ // (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)
76077 /* 214518 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ256rm),
76078 /* 214521 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76079 /* 214523 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76080 /* 214525 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76081 /* 214529 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76082 /* 214534 */ GIR_RootConstrainSelectedInstOperands,
76083 /* 214535 */ // GIR_Coverage, 24327,
76084 /* 214535 */ GIR_EraseRootFromParent_Done,
76085 /* 214536 */ // Label 4916: @214536
76086 /* 214536 */ GIM_Try, /*On fail goto*//*Label 4917*/ GIMT_Encode4(214594), // Rule ID 6356 //
76087 /* 214541 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
76088 /* 214544 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76089 /* 214548 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76090 /* 214552 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76091 /* 214556 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76092 /* 214559 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76093 /* 214563 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76094 /* 214567 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76095 /* 214569 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76096 /* 214576 */ // (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)
76097 /* 214576 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ256rm),
76098 /* 214579 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76099 /* 214581 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76100 /* 214583 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76101 /* 214587 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76102 /* 214592 */ GIR_RootConstrainSelectedInstOperands,
76103 /* 214593 */ // GIR_Coverage, 6356,
76104 /* 214593 */ GIR_EraseRootFromParent_Done,
76105 /* 214594 */ // Label 4917: @214594
76106 /* 214594 */ GIM_Try, /*On fail goto*//*Label 4918*/ GIMT_Encode4(214621), // Rule ID 6352 //
76107 /* 214599 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
76108 /* 214602 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76109 /* 214606 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76110 /* 214610 */ // (strict_fadd:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VADDPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
76111 /* 214610 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPHZ256rr),
76112 /* 214615 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76113 /* 214619 */ GIR_RootConstrainSelectedInstOperands,
76114 /* 214620 */ // GIR_Coverage, 6352,
76115 /* 214620 */ GIR_Done,
76116 /* 214621 */ // Label 4918: @214621
76117 /* 214621 */ GIM_Reject,
76118 /* 214622 */ // Label 4915: @214622
76119 /* 214622 */ GIM_Reject,
76120 /* 214623 */ // Label 4824: @214623
76121 /* 214623 */ GIM_Try, /*On fail goto*//*Label 4919*/ GIMT_Encode4(214782),
76122 /* 214628 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
76123 /* 214631 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
76124 /* 214634 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
76125 /* 214638 */ GIM_Try, /*On fail goto*//*Label 4920*/ GIMT_Encode4(214696), // Rule ID 24263 //
76126 /* 214643 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
76127 /* 214646 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76128 /* 214650 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76129 /* 214654 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76130 /* 214657 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76131 /* 214661 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76132 /* 214665 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
76133 /* 214669 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76134 /* 214671 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76135 /* 214678 */ // (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)
76136 /* 214678 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZrm),
76137 /* 214681 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76138 /* 214683 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76139 /* 214685 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76140 /* 214689 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76141 /* 214694 */ GIR_RootConstrainSelectedInstOperands,
76142 /* 214695 */ // GIR_Coverage, 24263,
76143 /* 214695 */ GIR_EraseRootFromParent_Done,
76144 /* 214696 */ // Label 4920: @214696
76145 /* 214696 */ GIM_Try, /*On fail goto*//*Label 4921*/ GIMT_Encode4(214754), // Rule ID 6260 //
76146 /* 214701 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
76147 /* 214704 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
76148 /* 214708 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76149 /* 214712 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76150 /* 214716 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76151 /* 214719 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76152 /* 214723 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76153 /* 214727 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76154 /* 214729 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76155 /* 214736 */ // (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)
76156 /* 214736 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZrm),
76157 /* 214739 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76158 /* 214741 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76159 /* 214743 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76160 /* 214747 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76161 /* 214752 */ GIR_RootConstrainSelectedInstOperands,
76162 /* 214753 */ // GIR_Coverage, 6260,
76163 /* 214753 */ GIR_EraseRootFromParent_Done,
76164 /* 214754 */ // Label 4921: @214754
76165 /* 214754 */ GIM_Try, /*On fail goto*//*Label 4922*/ GIMT_Encode4(214781), // Rule ID 6256 //
76166 /* 214759 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
76167 /* 214762 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
76168 /* 214766 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
76169 /* 214770 */ // (strict_fadd:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VADDPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
76170 /* 214770 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSZrr),
76171 /* 214775 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76172 /* 214779 */ GIR_RootConstrainSelectedInstOperands,
76173 /* 214780 */ // GIR_Coverage, 6256,
76174 /* 214780 */ GIR_Done,
76175 /* 214781 */ // Label 4922: @214781
76176 /* 214781 */ GIM_Reject,
76177 /* 214782 */ // Label 4919: @214782
76178 /* 214782 */ GIM_Reject,
76179 /* 214783 */ // Label 4825: @214783
76180 /* 214783 */ GIM_Try, /*On fail goto*//*Label 4923*/ GIMT_Encode4(214942),
76181 /* 214788 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
76182 /* 214791 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
76183 /* 214794 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
76184 /* 214798 */ GIM_Try, /*On fail goto*//*Label 4924*/ GIMT_Encode4(214856), // Rule ID 24311 //
76185 /* 214803 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
76186 /* 214806 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76187 /* 214810 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76188 /* 214814 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76189 /* 214817 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76190 /* 214821 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76191 /* 214825 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
76192 /* 214829 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76193 /* 214831 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76194 /* 214838 */ // (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)
76195 /* 214838 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZrm),
76196 /* 214841 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76197 /* 214843 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76198 /* 214845 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76199 /* 214849 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76200 /* 214854 */ GIR_RootConstrainSelectedInstOperands,
76201 /* 214855 */ // GIR_Coverage, 24311,
76202 /* 214855 */ GIR_EraseRootFromParent_Done,
76203 /* 214856 */ // Label 4924: @214856
76204 /* 214856 */ GIM_Try, /*On fail goto*//*Label 4925*/ GIMT_Encode4(214914), // Rule ID 6332 //
76205 /* 214861 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
76206 /* 214864 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
76207 /* 214868 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76208 /* 214872 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76209 /* 214876 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76210 /* 214879 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76211 /* 214883 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76212 /* 214887 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76213 /* 214889 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76214 /* 214896 */ // (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)
76215 /* 214896 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZrm),
76216 /* 214899 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76217 /* 214901 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76218 /* 214903 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76219 /* 214907 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76220 /* 214912 */ GIR_RootConstrainSelectedInstOperands,
76221 /* 214913 */ // GIR_Coverage, 6332,
76222 /* 214913 */ GIR_EraseRootFromParent_Done,
76223 /* 214914 */ // Label 4925: @214914
76224 /* 214914 */ GIM_Try, /*On fail goto*//*Label 4926*/ GIMT_Encode4(214941), // Rule ID 6328 //
76225 /* 214919 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
76226 /* 214922 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
76227 /* 214926 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
76228 /* 214930 */ // (strict_fadd:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VADDPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
76229 /* 214930 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPHZrr),
76230 /* 214935 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76231 /* 214939 */ GIR_RootConstrainSelectedInstOperands,
76232 /* 214940 */ // GIR_Coverage, 6328,
76233 /* 214940 */ GIR_Done,
76234 /* 214941 */ // Label 4926: @214941
76235 /* 214941 */ GIM_Reject,
76236 /* 214942 */ // Label 4923: @214942
76237 /* 214942 */ GIM_Reject,
76238 /* 214943 */ // Label 4826: @214943
76239 /* 214943 */ GIM_Reject,
76240 /* 214944 */ // Label 69: @214944
76241 /* 214944 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 4940*/ GIMT_Encode4(218633),
76242 /* 214955 */ /*GILLT_s16*//*Label 4927*/ GIMT_Encode4(215039),
76243 /* 214959 */ /*GILLT_s32*//*Label 4928*/ GIMT_Encode4(215137),
76244 /* 214963 */ /*GILLT_s64*//*Label 4929*/ GIMT_Encode4(215856),
76245 /* 214967 */ /*GILLT_s80*//*Label 4930*/ GIMT_Encode4(216719), GIMT_Encode4(0), GIMT_Encode4(0),
76246 /* 214979 */ /*GILLT_v2s64*//*Label 4931*/ GIMT_Encode4(217285), GIMT_Encode4(0),
76247 /* 214987 */ /*GILLT_v4s32*//*Label 4932*/ GIMT_Encode4(217515),
76248 /* 214991 */ /*GILLT_v4s64*//*Label 4933*/ GIMT_Encode4(217745), GIMT_Encode4(0),
76249 /* 214999 */ /*GILLT_v8s16*//*Label 4934*/ GIMT_Encode4(217944),
76250 /* 215003 */ /*GILLT_v8s32*//*Label 4935*/ GIMT_Encode4(218042),
76251 /* 215007 */ /*GILLT_v8s64*//*Label 4936*/ GIMT_Encode4(218241), GIMT_Encode4(0), GIMT_Encode4(0),
76252 /* 215019 */ /*GILLT_v16s16*//*Label 4937*/ GIMT_Encode4(218339),
76253 /* 215023 */ /*GILLT_v16s32*//*Label 4938*/ GIMT_Encode4(218437), GIMT_Encode4(0), GIMT_Encode4(0),
76254 /* 215035 */ /*GILLT_v32s16*//*Label 4939*/ GIMT_Encode4(218535),
76255 /* 215039 */ // Label 4927: @215039
76256 /* 215039 */ GIM_Try, /*On fail goto*//*Label 4941*/ GIMT_Encode4(215136),
76257 /* 215044 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
76258 /* 215047 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
76259 /* 215050 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
76260 /* 215054 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
76261 /* 215058 */ GIM_Try, /*On fail goto*//*Label 4942*/ GIMT_Encode4(215112), // Rule ID 6068 //
76262 /* 215063 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
76263 /* 215066 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76264 /* 215070 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76265 /* 215074 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76266 /* 215077 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76267 /* 215081 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76268 /* 215085 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76269 /* 215087 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76270 /* 215094 */ // (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)
76271 /* 215094 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSHZrm),
76272 /* 215097 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76273 /* 215099 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76274 /* 215101 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76275 /* 215105 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76276 /* 215110 */ GIR_RootConstrainSelectedInstOperands,
76277 /* 215111 */ // GIR_Coverage, 6068,
76278 /* 215111 */ GIR_EraseRootFromParent_Done,
76279 /* 215112 */ // Label 4942: @215112
76280 /* 215112 */ GIM_Try, /*On fail goto*//*Label 4943*/ GIMT_Encode4(215135), // Rule ID 6066 //
76281 /* 215117 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
76282 /* 215120 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
76283 /* 215124 */ // (strict_fsub:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VSUBSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
76284 /* 215124 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSHZrr),
76285 /* 215129 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76286 /* 215133 */ GIR_RootConstrainSelectedInstOperands,
76287 /* 215134 */ // GIR_Coverage, 6066,
76288 /* 215134 */ GIR_Done,
76289 /* 215135 */ // Label 4943: @215135
76290 /* 215135 */ GIM_Reject,
76291 /* 215136 */ // Label 4941: @215136
76292 /* 215136 */ GIM_Reject,
76293 /* 215137 */ // Label 4928: @215137
76294 /* 215137 */ GIM_Try, /*On fail goto*//*Label 4944*/ GIMT_Encode4(215855),
76295 /* 215142 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
76296 /* 215145 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
76297 /* 215148 */ GIM_Try, /*On fail goto*//*Label 4945*/ GIMT_Encode4(215213), // Rule ID 964 //
76298 /* 215153 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
76299 /* 215156 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76300 /* 215160 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76301 /* 215164 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76302 /* 215168 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
76303 /* 215175 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76304 /* 215179 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76305 /* 215183 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76306 /* 215185 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76307 /* 215192 */ // (strict_fsub:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (SUBR_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
76308 /* 215192 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI16m32),
76309 /* 215195 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76310 /* 215197 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76311 /* 215199 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76312 /* 215203 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76313 /* 215206 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76314 /* 215211 */ GIR_RootConstrainSelectedInstOperands,
76315 /* 215212 */ // GIR_Coverage, 964,
76316 /* 215212 */ GIR_EraseRootFromParent_Done,
76317 /* 215213 */ // Label 4945: @215213
76318 /* 215213 */ GIM_Try, /*On fail goto*//*Label 4946*/ GIMT_Encode4(215278), // Rule ID 966 //
76319 /* 215218 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
76320 /* 215221 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76321 /* 215225 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76322 /* 215229 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76323 /* 215233 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76324 /* 215240 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76325 /* 215244 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76326 /* 215248 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76327 /* 215250 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76328 /* 215257 */ // (strict_fsub:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (SUBR_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
76329 /* 215257 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI32m32),
76330 /* 215260 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76331 /* 215262 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76332 /* 215264 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76333 /* 215268 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76334 /* 215271 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76335 /* 215276 */ GIR_RootConstrainSelectedInstOperands,
76336 /* 215277 */ // GIR_Coverage, 966,
76337 /* 215277 */ GIR_EraseRootFromParent_Done,
76338 /* 215278 */ // Label 4946: @215278
76339 /* 215278 */ GIM_Try, /*On fail goto*//*Label 4947*/ GIMT_Encode4(215343), // Rule ID 954 //
76340 /* 215283 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
76341 /* 215286 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76342 /* 215290 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76343 /* 215294 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76344 /* 215298 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76345 /* 215301 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76346 /* 215305 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76347 /* 215309 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76348 /* 215313 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76349 /* 215315 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76350 /* 215322 */ // (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)
76351 /* 215322 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp32m),
76352 /* 215325 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76353 /* 215327 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76354 /* 215329 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76355 /* 215333 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76356 /* 215336 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76357 /* 215341 */ GIR_RootConstrainSelectedInstOperands,
76358 /* 215342 */ // GIR_Coverage, 954,
76359 /* 215342 */ GIR_EraseRootFromParent_Done,
76360 /* 215343 */ // Label 4947: @215343
76361 /* 215343 */ GIM_Try, /*On fail goto*//*Label 4948*/ GIMT_Encode4(215408), // Rule ID 942 //
76362 /* 215348 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
76363 /* 215351 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76364 /* 215355 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76365 /* 215359 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76366 /* 215363 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76367 /* 215367 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
76368 /* 215374 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76369 /* 215378 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76370 /* 215380 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76371 /* 215387 */ // (strict_fsub:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (SUB_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
76372 /* 215387 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI16m32),
76373 /* 215390 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76374 /* 215392 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76375 /* 215394 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76376 /* 215398 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76377 /* 215401 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76378 /* 215406 */ GIR_RootConstrainSelectedInstOperands,
76379 /* 215407 */ // GIR_Coverage, 942,
76380 /* 215407 */ GIR_EraseRootFromParent_Done,
76381 /* 215408 */ // Label 4948: @215408
76382 /* 215408 */ GIM_Try, /*On fail goto*//*Label 4949*/ GIMT_Encode4(215473), // Rule ID 944 //
76383 /* 215413 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
76384 /* 215416 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76385 /* 215420 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76386 /* 215424 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76387 /* 215428 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76388 /* 215432 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76389 /* 215439 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76390 /* 215443 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76391 /* 215445 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76392 /* 215452 */ // (strict_fsub:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (SUB_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
76393 /* 215452 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI32m32),
76394 /* 215455 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76395 /* 215457 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76396 /* 215459 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76397 /* 215463 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76398 /* 215466 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76399 /* 215471 */ GIR_RootConstrainSelectedInstOperands,
76400 /* 215472 */ // GIR_Coverage, 944,
76401 /* 215472 */ GIR_EraseRootFromParent_Done,
76402 /* 215473 */ // Label 4949: @215473
76403 /* 215473 */ GIM_Try, /*On fail goto*//*Label 4950*/ GIMT_Encode4(215538), // Rule ID 932 //
76404 /* 215478 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
76405 /* 215481 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76406 /* 215485 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76407 /* 215489 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76408 /* 215493 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76409 /* 215497 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76410 /* 215500 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76411 /* 215504 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76412 /* 215508 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76413 /* 215510 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76414 /* 215517 */ // (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)
76415 /* 215517 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp32m),
76416 /* 215520 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76417 /* 215522 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76418 /* 215524 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76419 /* 215528 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76420 /* 215531 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76421 /* 215536 */ GIR_RootConstrainSelectedInstOperands,
76422 /* 215537 */ // GIR_Coverage, 932,
76423 /* 215537 */ GIR_EraseRootFromParent_Done,
76424 /* 215538 */ // Label 4950: @215538
76425 /* 215538 */ GIM_Try, /*On fail goto*//*Label 4951*/ GIMT_Encode4(215600), // Rule ID 2240 //
76426 /* 215543 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
76427 /* 215546 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
76428 /* 215550 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
76429 /* 215554 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76430 /* 215558 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76431 /* 215562 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76432 /* 215565 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76433 /* 215569 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76434 /* 215573 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76435 /* 215575 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76436 /* 215582 */ // (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)
76437 /* 215582 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSSrm),
76438 /* 215585 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76439 /* 215587 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76440 /* 215589 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76441 /* 215593 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76442 /* 215598 */ GIR_RootConstrainSelectedInstOperands,
76443 /* 215599 */ // GIR_Coverage, 2240,
76444 /* 215599 */ GIR_EraseRootFromParent_Done,
76445 /* 215600 */ // Label 4951: @215600
76446 /* 215600 */ GIM_Try, /*On fail goto*//*Label 4952*/ GIMT_Encode4(215662), // Rule ID 2248 //
76447 /* 215605 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
76448 /* 215608 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
76449 /* 215612 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
76450 /* 215616 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76451 /* 215620 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76452 /* 215624 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76453 /* 215627 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76454 /* 215631 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76455 /* 215635 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76456 /* 215637 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76457 /* 215644 */ // (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)
76458 /* 215644 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBSSrm),
76459 /* 215647 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76460 /* 215649 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76461 /* 215651 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76462 /* 215655 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76463 /* 215660 */ GIR_RootConstrainSelectedInstOperands,
76464 /* 215661 */ // GIR_Coverage, 2248,
76465 /* 215661 */ GIR_EraseRootFromParent_Done,
76466 /* 215662 */ // Label 4952: @215662
76467 /* 215662 */ GIM_Try, /*On fail goto*//*Label 4953*/ GIMT_Encode4(215724), // Rule ID 6030 //
76468 /* 215667 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
76469 /* 215670 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
76470 /* 215674 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
76471 /* 215678 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76472 /* 215682 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76473 /* 215686 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76474 /* 215689 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76475 /* 215693 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76476 /* 215697 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76477 /* 215699 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76478 /* 215706 */ // (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)
76479 /* 215706 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSSZrm),
76480 /* 215709 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76481 /* 215711 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76482 /* 215713 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76483 /* 215717 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76484 /* 215722 */ GIR_RootConstrainSelectedInstOperands,
76485 /* 215723 */ // GIR_Coverage, 6030,
76486 /* 215723 */ GIR_EraseRootFromParent_Done,
76487 /* 215724 */ // Label 4953: @215724
76488 /* 215724 */ GIM_Try, /*On fail goto*//*Label 4954*/ GIMT_Encode4(215761), // Rule ID 892 //
76489 /* 215729 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
76490 /* 215732 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76491 /* 215736 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76492 /* 215740 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76493 /* 215744 */ // (strict_fsub:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (SUB_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
76494 /* 215744 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB_Fp32),
76495 /* 215749 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(RegState::Dead),
76496 /* 215755 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
76497 /* 215759 */ GIR_RootConstrainSelectedInstOperands,
76498 /* 215760 */ // GIR_Coverage, 892,
76499 /* 215760 */ GIR_Done,
76500 /* 215761 */ // Label 4954: @215761
76501 /* 215761 */ GIM_Try, /*On fail goto*//*Label 4955*/ GIMT_Encode4(215792), // Rule ID 2238 //
76502 /* 215766 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
76503 /* 215769 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
76504 /* 215773 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
76505 /* 215777 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
76506 /* 215781 */ // (strict_fsub:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VSUBSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
76507 /* 215781 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSSrr),
76508 /* 215786 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76509 /* 215790 */ GIR_RootConstrainSelectedInstOperands,
76510 /* 215791 */ // GIR_Coverage, 2238,
76511 /* 215791 */ GIR_Done,
76512 /* 215792 */ // Label 4955: @215792
76513 /* 215792 */ GIM_Try, /*On fail goto*//*Label 4956*/ GIMT_Encode4(215823), // Rule ID 2246 //
76514 /* 215797 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
76515 /* 215800 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
76516 /* 215804 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
76517 /* 215808 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
76518 /* 215812 */ // (strict_fsub:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (SUBSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
76519 /* 215812 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBSSrr),
76520 /* 215817 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76521 /* 215821 */ GIR_RootConstrainSelectedInstOperands,
76522 /* 215822 */ // GIR_Coverage, 2246,
76523 /* 215822 */ GIR_Done,
76524 /* 215823 */ // Label 4956: @215823
76525 /* 215823 */ GIM_Try, /*On fail goto*//*Label 4957*/ GIMT_Encode4(215854), // Rule ID 6028 //
76526 /* 215828 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
76527 /* 215831 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
76528 /* 215835 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
76529 /* 215839 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
76530 /* 215843 */ // (strict_fsub:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VSUBSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
76531 /* 215843 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSSZrr),
76532 /* 215848 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76533 /* 215852 */ GIR_RootConstrainSelectedInstOperands,
76534 /* 215853 */ // GIR_Coverage, 6028,
76535 /* 215853 */ GIR_Done,
76536 /* 215854 */ // Label 4957: @215854
76537 /* 215854 */ GIM_Reject,
76538 /* 215855 */ // Label 4944: @215855
76539 /* 215855 */ GIM_Reject,
76540 /* 215856 */ // Label 4929: @215856
76541 /* 215856 */ GIM_Try, /*On fail goto*//*Label 4958*/ GIMT_Encode4(216718),
76542 /* 215861 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
76543 /* 215864 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
76544 /* 215867 */ GIM_Try, /*On fail goto*//*Label 4959*/ GIMT_Encode4(215932), // Rule ID 968 //
76545 /* 215872 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
76546 /* 215875 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76547 /* 215879 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76548 /* 215883 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76549 /* 215887 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
76550 /* 215894 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76551 /* 215898 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76552 /* 215902 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76553 /* 215904 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76554 /* 215911 */ // (strict_fsub:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (SUBR_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
76555 /* 215911 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI16m64),
76556 /* 215914 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76557 /* 215916 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76558 /* 215918 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76559 /* 215922 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76560 /* 215925 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76561 /* 215930 */ GIR_RootConstrainSelectedInstOperands,
76562 /* 215931 */ // GIR_Coverage, 968,
76563 /* 215931 */ GIR_EraseRootFromParent_Done,
76564 /* 215932 */ // Label 4959: @215932
76565 /* 215932 */ GIM_Try, /*On fail goto*//*Label 4960*/ GIMT_Encode4(215997), // Rule ID 970 //
76566 /* 215937 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
76567 /* 215940 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76568 /* 215944 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76569 /* 215948 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76570 /* 215952 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76571 /* 215959 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76572 /* 215963 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76573 /* 215967 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76574 /* 215969 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76575 /* 215976 */ // (strict_fsub:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (SUBR_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
76576 /* 215976 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI32m64),
76577 /* 215979 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76578 /* 215981 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76579 /* 215983 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76580 /* 215987 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76581 /* 215990 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76582 /* 215995 */ GIR_RootConstrainSelectedInstOperands,
76583 /* 215996 */ // GIR_Coverage, 970,
76584 /* 215996 */ GIR_EraseRootFromParent_Done,
76585 /* 215997 */ // Label 4960: @215997
76586 /* 215997 */ GIM_Try, /*On fail goto*//*Label 4961*/ GIMT_Encode4(216062), // Rule ID 956 //
76587 /* 216002 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
76588 /* 216005 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76589 /* 216009 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76590 /* 216013 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76591 /* 216017 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76592 /* 216020 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76593 /* 216024 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76594 /* 216028 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76595 /* 216032 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76596 /* 216034 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76597 /* 216041 */ // (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)
76598 /* 216041 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp64m),
76599 /* 216044 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76600 /* 216046 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76601 /* 216048 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76602 /* 216052 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76603 /* 216055 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76604 /* 216060 */ GIR_RootConstrainSelectedInstOperands,
76605 /* 216061 */ // GIR_Coverage, 956,
76606 /* 216061 */ GIR_EraseRootFromParent_Done,
76607 /* 216062 */ // Label 4961: @216062
76608 /* 216062 */ GIM_Try, /*On fail goto*//*Label 4962*/ GIMT_Encode4(216134), // Rule ID 958 //
76609 /* 216067 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
76610 /* 216070 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76611 /* 216074 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76612 /* 216078 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76613 /* 216082 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76614 /* 216085 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76615 /* 216089 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76616 /* 216096 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76617 /* 216100 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76618 /* 216104 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76619 /* 216106 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76620 /* 216113 */ // (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)
76621 /* 216113 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp64m32),
76622 /* 216116 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76623 /* 216118 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76624 /* 216120 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76625 /* 216124 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76626 /* 216127 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76627 /* 216132 */ GIR_RootConstrainSelectedInstOperands,
76628 /* 216133 */ // GIR_Coverage, 958,
76629 /* 216133 */ GIR_EraseRootFromParent_Done,
76630 /* 216134 */ // Label 4962: @216134
76631 /* 216134 */ GIM_Try, /*On fail goto*//*Label 4963*/ GIMT_Encode4(216199), // Rule ID 946 //
76632 /* 216139 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
76633 /* 216142 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76634 /* 216146 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76635 /* 216150 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76636 /* 216154 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76637 /* 216158 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
76638 /* 216165 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76639 /* 216169 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76640 /* 216171 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76641 /* 216178 */ // (strict_fsub:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (SUB_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
76642 /* 216178 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI16m64),
76643 /* 216181 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76644 /* 216183 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76645 /* 216185 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76646 /* 216189 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76647 /* 216192 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76648 /* 216197 */ GIR_RootConstrainSelectedInstOperands,
76649 /* 216198 */ // GIR_Coverage, 946,
76650 /* 216198 */ GIR_EraseRootFromParent_Done,
76651 /* 216199 */ // Label 4963: @216199
76652 /* 216199 */ GIM_Try, /*On fail goto*//*Label 4964*/ GIMT_Encode4(216264), // Rule ID 948 //
76653 /* 216204 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
76654 /* 216207 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76655 /* 216211 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76656 /* 216215 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76657 /* 216219 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76658 /* 216223 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76659 /* 216230 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76660 /* 216234 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76661 /* 216236 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76662 /* 216243 */ // (strict_fsub:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (SUB_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
76663 /* 216243 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI32m64),
76664 /* 216246 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76665 /* 216248 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76666 /* 216250 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76667 /* 216254 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76668 /* 216257 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76669 /* 216262 */ GIR_RootConstrainSelectedInstOperands,
76670 /* 216263 */ // GIR_Coverage, 948,
76671 /* 216263 */ GIR_EraseRootFromParent_Done,
76672 /* 216264 */ // Label 4964: @216264
76673 /* 216264 */ GIM_Try, /*On fail goto*//*Label 4965*/ GIMT_Encode4(216329), // Rule ID 934 //
76674 /* 216269 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
76675 /* 216272 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76676 /* 216276 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76677 /* 216280 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76678 /* 216284 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76679 /* 216288 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76680 /* 216291 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76681 /* 216295 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76682 /* 216299 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76683 /* 216301 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76684 /* 216308 */ // (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)
76685 /* 216308 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp64m),
76686 /* 216311 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76687 /* 216313 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76688 /* 216315 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76689 /* 216319 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76690 /* 216322 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76691 /* 216327 */ GIR_RootConstrainSelectedInstOperands,
76692 /* 216328 */ // GIR_Coverage, 934,
76693 /* 216328 */ GIR_EraseRootFromParent_Done,
76694 /* 216329 */ // Label 4965: @216329
76695 /* 216329 */ GIM_Try, /*On fail goto*//*Label 4966*/ GIMT_Encode4(216401), // Rule ID 936 //
76696 /* 216334 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
76697 /* 216337 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76698 /* 216341 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76699 /* 216345 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76700 /* 216349 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76701 /* 216353 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76702 /* 216356 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76703 /* 216360 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76704 /* 216367 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76705 /* 216371 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76706 /* 216373 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76707 /* 216380 */ // (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)
76708 /* 216380 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp64m32),
76709 /* 216383 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76710 /* 216385 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76711 /* 216387 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76712 /* 216391 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76713 /* 216394 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76714 /* 216399 */ GIR_RootConstrainSelectedInstOperands,
76715 /* 216400 */ // GIR_Coverage, 936,
76716 /* 216400 */ GIR_EraseRootFromParent_Done,
76717 /* 216401 */ // Label 4966: @216401
76718 /* 216401 */ GIM_Try, /*On fail goto*//*Label 4967*/ GIMT_Encode4(216463), // Rule ID 2244 //
76719 /* 216406 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
76720 /* 216409 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76721 /* 216413 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76722 /* 216417 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76723 /* 216421 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76724 /* 216425 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76725 /* 216428 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76726 /* 216432 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76727 /* 216436 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76728 /* 216438 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76729 /* 216445 */ // (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)
76730 /* 216445 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSDrm),
76731 /* 216448 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76732 /* 216450 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76733 /* 216452 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76734 /* 216456 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76735 /* 216461 */ GIR_RootConstrainSelectedInstOperands,
76736 /* 216462 */ // GIR_Coverage, 2244,
76737 /* 216462 */ GIR_EraseRootFromParent_Done,
76738 /* 216463 */ // Label 4967: @216463
76739 /* 216463 */ GIM_Try, /*On fail goto*//*Label 4968*/ GIMT_Encode4(216525), // Rule ID 2252 //
76740 /* 216468 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
76741 /* 216471 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76742 /* 216475 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76743 /* 216479 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76744 /* 216483 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76745 /* 216487 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76746 /* 216490 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76747 /* 216494 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76748 /* 216498 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76749 /* 216500 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76750 /* 216507 */ // (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)
76751 /* 216507 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBSDrm),
76752 /* 216510 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76753 /* 216512 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76754 /* 216514 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76755 /* 216518 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76756 /* 216523 */ GIR_RootConstrainSelectedInstOperands,
76757 /* 216524 */ // GIR_Coverage, 2252,
76758 /* 216524 */ GIR_EraseRootFromParent_Done,
76759 /* 216525 */ // Label 4968: @216525
76760 /* 216525 */ GIM_Try, /*On fail goto*//*Label 4969*/ GIMT_Encode4(216587), // Rule ID 6049 //
76761 /* 216530 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
76762 /* 216533 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
76763 /* 216537 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
76764 /* 216541 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76765 /* 216545 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76766 /* 216549 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76767 /* 216552 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76768 /* 216556 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76769 /* 216560 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76770 /* 216562 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76771 /* 216569 */ // (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)
76772 /* 216569 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSDZrm),
76773 /* 216572 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76774 /* 216574 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76775 /* 216576 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76776 /* 216580 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76777 /* 216585 */ GIR_RootConstrainSelectedInstOperands,
76778 /* 216586 */ // GIR_Coverage, 6049,
76779 /* 216586 */ GIR_EraseRootFromParent_Done,
76780 /* 216587 */ // Label 4969: @216587
76781 /* 216587 */ GIM_Try, /*On fail goto*//*Label 4970*/ GIMT_Encode4(216624), // Rule ID 894 //
76782 /* 216592 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
76783 /* 216595 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76784 /* 216599 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76785 /* 216603 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76786 /* 216607 */ // (strict_fsub:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (SUB_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
76787 /* 216607 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB_Fp64),
76788 /* 216612 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(RegState::Dead),
76789 /* 216618 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
76790 /* 216622 */ GIR_RootConstrainSelectedInstOperands,
76791 /* 216623 */ // GIR_Coverage, 894,
76792 /* 216623 */ GIR_Done,
76793 /* 216624 */ // Label 4970: @216624
76794 /* 216624 */ GIM_Try, /*On fail goto*//*Label 4971*/ GIMT_Encode4(216655), // Rule ID 2242 //
76795 /* 216629 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
76796 /* 216632 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76797 /* 216636 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76798 /* 216640 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76799 /* 216644 */ // (strict_fsub:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VSUBSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
76800 /* 216644 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSDrr),
76801 /* 216649 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76802 /* 216653 */ GIR_RootConstrainSelectedInstOperands,
76803 /* 216654 */ // GIR_Coverage, 2242,
76804 /* 216654 */ GIR_Done,
76805 /* 216655 */ // Label 4971: @216655
76806 /* 216655 */ GIM_Try, /*On fail goto*//*Label 4972*/ GIMT_Encode4(216686), // Rule ID 2250 //
76807 /* 216660 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
76808 /* 216663 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76809 /* 216667 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76810 /* 216671 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76811 /* 216675 */ // (strict_fsub:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (SUBSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
76812 /* 216675 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBSDrr),
76813 /* 216680 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76814 /* 216684 */ GIR_RootConstrainSelectedInstOperands,
76815 /* 216685 */ // GIR_Coverage, 2250,
76816 /* 216685 */ GIR_Done,
76817 /* 216686 */ // Label 4972: @216686
76818 /* 216686 */ GIM_Try, /*On fail goto*//*Label 4973*/ GIMT_Encode4(216717), // Rule ID 6047 //
76819 /* 216691 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
76820 /* 216694 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
76821 /* 216698 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
76822 /* 216702 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
76823 /* 216706 */ // (strict_fsub:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VSUBSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
76824 /* 216706 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSDZrr),
76825 /* 216711 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76826 /* 216715 */ GIR_RootConstrainSelectedInstOperands,
76827 /* 216716 */ // GIR_Coverage, 6047,
76828 /* 216716 */ GIR_Done,
76829 /* 216717 */ // Label 4973: @216717
76830 /* 216717 */ GIM_Reject,
76831 /* 216718 */ // Label 4958: @216718
76832 /* 216718 */ GIM_Reject,
76833 /* 216719 */ // Label 4930: @216719
76834 /* 216719 */ GIM_Try, /*On fail goto*//*Label 4974*/ GIMT_Encode4(217284),
76835 /* 216724 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
76836 /* 216727 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
76837 /* 216730 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76838 /* 216734 */ GIM_Try, /*On fail goto*//*Label 4975*/ GIMT_Encode4(216795), // Rule ID 972 //
76839 /* 216739 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
76840 /* 216742 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76841 /* 216746 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76842 /* 216750 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
76843 /* 216757 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76844 /* 216761 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76845 /* 216765 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76846 /* 216767 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76847 /* 216774 */ // (strict_fsub:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (SUBR_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
76848 /* 216774 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI16m80),
76849 /* 216777 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76850 /* 216779 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76851 /* 216781 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76852 /* 216785 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76853 /* 216788 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76854 /* 216793 */ GIR_RootConstrainSelectedInstOperands,
76855 /* 216794 */ // GIR_Coverage, 972,
76856 /* 216794 */ GIR_EraseRootFromParent_Done,
76857 /* 216795 */ // Label 4975: @216795
76858 /* 216795 */ GIM_Try, /*On fail goto*//*Label 4976*/ GIMT_Encode4(216856), // Rule ID 974 //
76859 /* 216800 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
76860 /* 216803 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76861 /* 216807 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76862 /* 216811 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76863 /* 216818 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76864 /* 216822 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76865 /* 216826 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76866 /* 216828 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76867 /* 216835 */ // (strict_fsub:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (SUBR_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
76868 /* 216835 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI32m80),
76869 /* 216838 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76870 /* 216840 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76871 /* 216842 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76872 /* 216846 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76873 /* 216849 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76874 /* 216854 */ GIR_RootConstrainSelectedInstOperands,
76875 /* 216855 */ // GIR_Coverage, 974,
76876 /* 216855 */ GIR_EraseRootFromParent_Done,
76877 /* 216856 */ // Label 4976: @216856
76878 /* 216856 */ GIM_Try, /*On fail goto*//*Label 4977*/ GIMT_Encode4(216924), // Rule ID 960 //
76879 /* 216861 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
76880 /* 216864 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76881 /* 216868 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76882 /* 216872 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76883 /* 216875 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76884 /* 216879 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76885 /* 216886 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76886 /* 216890 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76887 /* 216894 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76888 /* 216896 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76889 /* 216903 */ // (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)
76890 /* 216903 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp80m32),
76891 /* 216906 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76892 /* 216908 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76893 /* 216910 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76894 /* 216914 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76895 /* 216917 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76896 /* 216922 */ GIR_RootConstrainSelectedInstOperands,
76897 /* 216923 */ // GIR_Coverage, 960,
76898 /* 216923 */ GIR_EraseRootFromParent_Done,
76899 /* 216924 */ // Label 4977: @216924
76900 /* 216924 */ GIM_Try, /*On fail goto*//*Label 4978*/ GIMT_Encode4(216992), // Rule ID 962 //
76901 /* 216929 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
76902 /* 216932 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76903 /* 216936 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76904 /* 216940 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76905 /* 216943 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76906 /* 216947 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
76907 /* 216954 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76908 /* 216958 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76909 /* 216962 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76910 /* 216964 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76911 /* 216971 */ // (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)
76912 /* 216971 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp80m64),
76913 /* 216974 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76914 /* 216976 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76915 /* 216978 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76916 /* 216982 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76917 /* 216985 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76918 /* 216990 */ GIR_RootConstrainSelectedInstOperands,
76919 /* 216991 */ // GIR_Coverage, 962,
76920 /* 216991 */ GIR_EraseRootFromParent_Done,
76921 /* 216992 */ // Label 4978: @216992
76922 /* 216992 */ GIM_Try, /*On fail goto*//*Label 4979*/ GIMT_Encode4(217053), // Rule ID 950 //
76923 /* 216997 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
76924 /* 217000 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76925 /* 217004 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76926 /* 217008 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76927 /* 217012 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
76928 /* 217019 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76929 /* 217023 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76930 /* 217025 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76931 /* 217032 */ // (strict_fsub:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (SUB_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
76932 /* 217032 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI16m80),
76933 /* 217035 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76934 /* 217037 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76935 /* 217039 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76936 /* 217043 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76937 /* 217046 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76938 /* 217051 */ GIR_RootConstrainSelectedInstOperands,
76939 /* 217052 */ // GIR_Coverage, 950,
76940 /* 217052 */ GIR_EraseRootFromParent_Done,
76941 /* 217053 */ // Label 4979: @217053
76942 /* 217053 */ GIM_Try, /*On fail goto*//*Label 4980*/ GIMT_Encode4(217114), // Rule ID 952 //
76943 /* 217058 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
76944 /* 217061 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76945 /* 217065 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76946 /* 217069 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76947 /* 217073 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76948 /* 217080 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76949 /* 217084 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76950 /* 217086 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76951 /* 217093 */ // (strict_fsub:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (SUB_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
76952 /* 217093 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI32m80),
76953 /* 217096 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76954 /* 217098 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76955 /* 217100 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76956 /* 217104 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76957 /* 217107 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76958 /* 217112 */ GIR_RootConstrainSelectedInstOperands,
76959 /* 217113 */ // GIR_Coverage, 952,
76960 /* 217113 */ GIR_EraseRootFromParent_Done,
76961 /* 217114 */ // Label 4980: @217114
76962 /* 217114 */ GIM_Try, /*On fail goto*//*Label 4981*/ GIMT_Encode4(217182), // Rule ID 938 //
76963 /* 217119 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
76964 /* 217122 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76965 /* 217126 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76966 /* 217130 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76967 /* 217134 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76968 /* 217137 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76969 /* 217141 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76970 /* 217148 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76971 /* 217152 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76972 /* 217154 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76973 /* 217161 */ // (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)
76974 /* 217161 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp80m32),
76975 /* 217164 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76976 /* 217166 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76977 /* 217168 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76978 /* 217172 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76979 /* 217175 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76980 /* 217180 */ GIR_RootConstrainSelectedInstOperands,
76981 /* 217181 */ // GIR_Coverage, 938,
76982 /* 217181 */ GIR_EraseRootFromParent_Done,
76983 /* 217182 */ // Label 4981: @217182
76984 /* 217182 */ GIM_Try, /*On fail goto*//*Label 4982*/ GIMT_Encode4(217250), // Rule ID 940 //
76985 /* 217187 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
76986 /* 217190 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76987 /* 217194 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76988 /* 217198 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76989 /* 217202 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76990 /* 217205 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76991 /* 217209 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
76992 /* 217216 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76993 /* 217220 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76994 /* 217222 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76995 /* 217229 */ // (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)
76996 /* 217229 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp80m64),
76997 /* 217232 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76998 /* 217234 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76999 /* 217236 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77000 /* 217240 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77001 /* 217243 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77002 /* 217248 */ GIR_RootConstrainSelectedInstOperands,
77003 /* 217249 */ // GIR_Coverage, 940,
77004 /* 217249 */ GIR_EraseRootFromParent_Done,
77005 /* 217250 */ // Label 4982: @217250
77006 /* 217250 */ GIM_Try, /*On fail goto*//*Label 4983*/ GIMT_Encode4(217283), // Rule ID 896 //
77007 /* 217255 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
77008 /* 217258 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
77009 /* 217262 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
77010 /* 217266 */ // (strict_fsub:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (SUB_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
77011 /* 217266 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB_Fp80),
77012 /* 217271 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(RegState::Dead),
77013 /* 217277 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
77014 /* 217281 */ GIR_RootConstrainSelectedInstOperands,
77015 /* 217282 */ // GIR_Coverage, 896,
77016 /* 217282 */ GIR_Done,
77017 /* 217283 */ // Label 4983: @217283
77018 /* 217283 */ GIM_Reject,
77019 /* 217284 */ // Label 4974: @217284
77020 /* 217284 */ GIM_Reject,
77021 /* 217285 */ // Label 4931: @217285
77022 /* 217285 */ GIM_Try, /*On fail goto*//*Label 4984*/ GIMT_Encode4(217514),
77023 /* 217290 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
77024 /* 217293 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
77025 /* 217296 */ GIM_Try, /*On fail goto*//*Label 4985*/ GIMT_Encode4(217358), // Rule ID 2220 //
77026 /* 217301 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
77027 /* 217304 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77028 /* 217308 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77029 /* 217312 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77030 /* 217316 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77031 /* 217320 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77032 /* 217323 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77033 /* 217327 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77034 /* 217331 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77035 /* 217333 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77036 /* 217340 */ // (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)
77037 /* 217340 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDrm),
77038 /* 217343 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77039 /* 217345 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77040 /* 217347 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77041 /* 217351 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77042 /* 217356 */ GIR_RootConstrainSelectedInstOperands,
77043 /* 217357 */ // GIR_Coverage, 2220,
77044 /* 217357 */ GIR_EraseRootFromParent_Done,
77045 /* 217358 */ // Label 4985: @217358
77046 /* 217358 */ GIM_Try, /*On fail goto*//*Label 4986*/ GIMT_Encode4(217420), // Rule ID 6542 //
77047 /* 217363 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
77048 /* 217366 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77049 /* 217370 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77050 /* 217374 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77051 /* 217378 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77052 /* 217382 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77053 /* 217385 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77054 /* 217389 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77055 /* 217393 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77056 /* 217395 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77057 /* 217402 */ // (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)
77058 /* 217402 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ128rm),
77059 /* 217405 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77060 /* 217407 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77061 /* 217409 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77062 /* 217413 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77063 /* 217418 */ GIR_RootConstrainSelectedInstOperands,
77064 /* 217419 */ // GIR_Coverage, 6542,
77065 /* 217419 */ GIR_EraseRootFromParent_Done,
77066 /* 217420 */ // Label 4986: @217420
77067 /* 217420 */ GIM_Try, /*On fail goto*//*Label 4987*/ GIMT_Encode4(217451), // Rule ID 2218 //
77068 /* 217425 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
77069 /* 217428 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77070 /* 217432 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77071 /* 217436 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77072 /* 217440 */ // (strict_fsub:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VSUBPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
77073 /* 217440 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDrr),
77074 /* 217445 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77075 /* 217449 */ GIR_RootConstrainSelectedInstOperands,
77076 /* 217450 */ // GIR_Coverage, 2218,
77077 /* 217450 */ GIR_Done,
77078 /* 217451 */ // Label 4987: @217451
77079 /* 217451 */ GIM_Try, /*On fail goto*//*Label 4988*/ GIMT_Encode4(217482), // Rule ID 2234 //
77080 /* 217456 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
77081 /* 217459 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77082 /* 217463 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77083 /* 217467 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77084 /* 217471 */ // (strict_fsub:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (SUBPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
77085 /* 217471 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBPDrr),
77086 /* 217476 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77087 /* 217480 */ GIR_RootConstrainSelectedInstOperands,
77088 /* 217481 */ // GIR_Coverage, 2234,
77089 /* 217481 */ GIR_Done,
77090 /* 217482 */ // Label 4988: @217482
77091 /* 217482 */ GIM_Try, /*On fail goto*//*Label 4989*/ GIMT_Encode4(217513), // Rule ID 6538 //
77092 /* 217487 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
77093 /* 217490 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77094 /* 217494 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77095 /* 217498 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77096 /* 217502 */ // (strict_fsub:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VSUBPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
77097 /* 217502 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ128rr),
77098 /* 217507 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77099 /* 217511 */ GIR_RootConstrainSelectedInstOperands,
77100 /* 217512 */ // GIR_Coverage, 6538,
77101 /* 217512 */ GIR_Done,
77102 /* 217513 */ // Label 4989: @217513
77103 /* 217513 */ GIM_Reject,
77104 /* 217514 */ // Label 4984: @217514
77105 /* 217514 */ GIM_Reject,
77106 /* 217515 */ // Label 4932: @217515
77107 /* 217515 */ GIM_Try, /*On fail goto*//*Label 4990*/ GIMT_Encode4(217744),
77108 /* 217520 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
77109 /* 217523 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
77110 /* 217526 */ GIM_Try, /*On fail goto*//*Label 4991*/ GIMT_Encode4(217588), // Rule ID 2216 //
77111 /* 217531 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
77112 /* 217534 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77113 /* 217538 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77114 /* 217542 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77115 /* 217546 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77116 /* 217550 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77117 /* 217553 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77118 /* 217557 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77119 /* 217561 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77120 /* 217563 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77121 /* 217570 */ // (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)
77122 /* 217570 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSrm),
77123 /* 217573 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77124 /* 217575 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77125 /* 217577 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77126 /* 217581 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77127 /* 217586 */ GIR_RootConstrainSelectedInstOperands,
77128 /* 217587 */ // GIR_Coverage, 2216,
77129 /* 217587 */ GIR_EraseRootFromParent_Done,
77130 /* 217588 */ // Label 4991: @217588
77131 /* 217588 */ GIM_Try, /*On fail goto*//*Label 4992*/ GIMT_Encode4(217650), // Rule ID 6518 //
77132 /* 217593 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
77133 /* 217596 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77134 /* 217600 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77135 /* 217604 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77136 /* 217608 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77137 /* 217612 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77138 /* 217615 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77139 /* 217619 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77140 /* 217623 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77141 /* 217625 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77142 /* 217632 */ // (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)
77143 /* 217632 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ128rm),
77144 /* 217635 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77145 /* 217637 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77146 /* 217639 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77147 /* 217643 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77148 /* 217648 */ GIR_RootConstrainSelectedInstOperands,
77149 /* 217649 */ // GIR_Coverage, 6518,
77150 /* 217649 */ GIR_EraseRootFromParent_Done,
77151 /* 217650 */ // Label 4992: @217650
77152 /* 217650 */ GIM_Try, /*On fail goto*//*Label 4993*/ GIMT_Encode4(217681), // Rule ID 2214 //
77153 /* 217655 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
77154 /* 217658 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77155 /* 217662 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77156 /* 217666 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77157 /* 217670 */ // (strict_fsub:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VSUBPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
77158 /* 217670 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSrr),
77159 /* 217675 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77160 /* 217679 */ GIR_RootConstrainSelectedInstOperands,
77161 /* 217680 */ // GIR_Coverage, 2214,
77162 /* 217680 */ GIR_Done,
77163 /* 217681 */ // Label 4993: @217681
77164 /* 217681 */ GIM_Try, /*On fail goto*//*Label 4994*/ GIMT_Encode4(217712), // Rule ID 2230 //
77165 /* 217686 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
77166 /* 217689 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77167 /* 217693 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77168 /* 217697 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77169 /* 217701 */ // (strict_fsub:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (SUBPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
77170 /* 217701 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBPSrr),
77171 /* 217706 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77172 /* 217710 */ GIR_RootConstrainSelectedInstOperands,
77173 /* 217711 */ // GIR_Coverage, 2230,
77174 /* 217711 */ GIR_Done,
77175 /* 217712 */ // Label 4994: @217712
77176 /* 217712 */ GIM_Try, /*On fail goto*//*Label 4995*/ GIMT_Encode4(217743), // Rule ID 6514 //
77177 /* 217717 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
77178 /* 217720 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77179 /* 217724 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77180 /* 217728 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77181 /* 217732 */ // (strict_fsub:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VSUBPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
77182 /* 217732 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ128rr),
77183 /* 217737 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77184 /* 217741 */ GIR_RootConstrainSelectedInstOperands,
77185 /* 217742 */ // GIR_Coverage, 6514,
77186 /* 217742 */ GIR_Done,
77187 /* 217743 */ // Label 4995: @217743
77188 /* 217743 */ GIM_Reject,
77189 /* 217744 */ // Label 4990: @217744
77190 /* 217744 */ GIM_Reject,
77191 /* 217745 */ // Label 4933: @217745
77192 /* 217745 */ GIM_Try, /*On fail goto*//*Label 4996*/ GIMT_Encode4(217943),
77193 /* 217750 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
77194 /* 217753 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
77195 /* 217756 */ GIM_Try, /*On fail goto*//*Label 4997*/ GIMT_Encode4(217818), // Rule ID 2228 //
77196 /* 217761 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
77197 /* 217764 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77198 /* 217768 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77199 /* 217772 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77200 /* 217776 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77201 /* 217780 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77202 /* 217783 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77203 /* 217787 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77204 /* 217791 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77205 /* 217793 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77206 /* 217800 */ // (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)
77207 /* 217800 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDYrm),
77208 /* 217803 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77209 /* 217805 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77210 /* 217807 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77211 /* 217811 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77212 /* 217816 */ GIR_RootConstrainSelectedInstOperands,
77213 /* 217817 */ // GIR_Coverage, 2228,
77214 /* 217817 */ GIR_EraseRootFromParent_Done,
77215 /* 217818 */ // Label 4997: @217818
77216 /* 217818 */ GIM_Try, /*On fail goto*//*Label 4998*/ GIMT_Encode4(217880), // Rule ID 6554 //
77217 /* 217823 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
77218 /* 217826 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77219 /* 217830 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77220 /* 217834 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77221 /* 217838 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77222 /* 217842 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77223 /* 217845 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77224 /* 217849 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77225 /* 217853 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77226 /* 217855 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77227 /* 217862 */ // (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)
77228 /* 217862 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ256rm),
77229 /* 217865 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77230 /* 217867 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77231 /* 217869 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77232 /* 217873 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77233 /* 217878 */ GIR_RootConstrainSelectedInstOperands,
77234 /* 217879 */ // GIR_Coverage, 6554,
77235 /* 217879 */ GIR_EraseRootFromParent_Done,
77236 /* 217880 */ // Label 4998: @217880
77237 /* 217880 */ GIM_Try, /*On fail goto*//*Label 4999*/ GIMT_Encode4(217911), // Rule ID 2226 //
77238 /* 217885 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
77239 /* 217888 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77240 /* 217892 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77241 /* 217896 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77242 /* 217900 */ // (strict_fsub:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VSUBPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
77243 /* 217900 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDYrr),
77244 /* 217905 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77245 /* 217909 */ GIR_RootConstrainSelectedInstOperands,
77246 /* 217910 */ // GIR_Coverage, 2226,
77247 /* 217910 */ GIR_Done,
77248 /* 217911 */ // Label 4999: @217911
77249 /* 217911 */ GIM_Try, /*On fail goto*//*Label 5000*/ GIMT_Encode4(217942), // Rule ID 6550 //
77250 /* 217916 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
77251 /* 217919 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77252 /* 217923 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77253 /* 217927 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77254 /* 217931 */ // (strict_fsub:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VSUBPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
77255 /* 217931 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ256rr),
77256 /* 217936 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77257 /* 217940 */ GIR_RootConstrainSelectedInstOperands,
77258 /* 217941 */ // GIR_Coverage, 6550,
77259 /* 217941 */ GIR_Done,
77260 /* 217942 */ // Label 5000: @217942
77261 /* 217942 */ GIM_Reject,
77262 /* 217943 */ // Label 4996: @217943
77263 /* 217943 */ GIM_Reject,
77264 /* 217944 */ // Label 4934: @217944
77265 /* 217944 */ GIM_Try, /*On fail goto*//*Label 5001*/ GIMT_Encode4(218041),
77266 /* 217949 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
77267 /* 217952 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
77268 /* 217955 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77269 /* 217959 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77270 /* 217963 */ GIM_Try, /*On fail goto*//*Label 5002*/ GIMT_Encode4(218017), // Rule ID 6578 //
77271 /* 217968 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
77272 /* 217971 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77273 /* 217975 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77274 /* 217979 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77275 /* 217982 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77276 /* 217986 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77277 /* 217990 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77278 /* 217992 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77279 /* 217999 */ // (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)
77280 /* 217999 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ128rm),
77281 /* 218002 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77282 /* 218004 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77283 /* 218006 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77284 /* 218010 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77285 /* 218015 */ GIR_RootConstrainSelectedInstOperands,
77286 /* 218016 */ // GIR_Coverage, 6578,
77287 /* 218016 */ GIR_EraseRootFromParent_Done,
77288 /* 218017 */ // Label 5002: @218017
77289 /* 218017 */ GIM_Try, /*On fail goto*//*Label 5003*/ GIMT_Encode4(218040), // Rule ID 6574 //
77290 /* 218022 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
77291 /* 218025 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77292 /* 218029 */ // (strict_fsub:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VSUBPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
77293 /* 218029 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ128rr),
77294 /* 218034 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77295 /* 218038 */ GIR_RootConstrainSelectedInstOperands,
77296 /* 218039 */ // GIR_Coverage, 6574,
77297 /* 218039 */ GIR_Done,
77298 /* 218040 */ // Label 5003: @218040
77299 /* 218040 */ GIM_Reject,
77300 /* 218041 */ // Label 5001: @218041
77301 /* 218041 */ GIM_Reject,
77302 /* 218042 */ // Label 4935: @218042
77303 /* 218042 */ GIM_Try, /*On fail goto*//*Label 5004*/ GIMT_Encode4(218240),
77304 /* 218047 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
77305 /* 218050 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
77306 /* 218053 */ GIM_Try, /*On fail goto*//*Label 5005*/ GIMT_Encode4(218115), // Rule ID 2224 //
77307 /* 218058 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
77308 /* 218061 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77309 /* 218065 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77310 /* 218069 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77311 /* 218073 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77312 /* 218077 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77313 /* 218080 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77314 /* 218084 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77315 /* 218088 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77316 /* 218090 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77317 /* 218097 */ // (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)
77318 /* 218097 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSYrm),
77319 /* 218100 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77320 /* 218102 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77321 /* 218104 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77322 /* 218108 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77323 /* 218113 */ GIR_RootConstrainSelectedInstOperands,
77324 /* 218114 */ // GIR_Coverage, 2224,
77325 /* 218114 */ GIR_EraseRootFromParent_Done,
77326 /* 218115 */ // Label 5005: @218115
77327 /* 218115 */ GIM_Try, /*On fail goto*//*Label 5006*/ GIMT_Encode4(218177), // Rule ID 6530 //
77328 /* 218120 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
77329 /* 218123 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77330 /* 218127 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77331 /* 218131 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77332 /* 218135 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77333 /* 218139 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77334 /* 218142 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77335 /* 218146 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77336 /* 218150 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77337 /* 218152 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77338 /* 218159 */ // (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)
77339 /* 218159 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ256rm),
77340 /* 218162 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77341 /* 218164 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77342 /* 218166 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77343 /* 218170 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77344 /* 218175 */ GIR_RootConstrainSelectedInstOperands,
77345 /* 218176 */ // GIR_Coverage, 6530,
77346 /* 218176 */ GIR_EraseRootFromParent_Done,
77347 /* 218177 */ // Label 5006: @218177
77348 /* 218177 */ GIM_Try, /*On fail goto*//*Label 5007*/ GIMT_Encode4(218208), // Rule ID 2222 //
77349 /* 218182 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
77350 /* 218185 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77351 /* 218189 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77352 /* 218193 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77353 /* 218197 */ // (strict_fsub:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VSUBPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
77354 /* 218197 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSYrr),
77355 /* 218202 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77356 /* 218206 */ GIR_RootConstrainSelectedInstOperands,
77357 /* 218207 */ // GIR_Coverage, 2222,
77358 /* 218207 */ GIR_Done,
77359 /* 218208 */ // Label 5007: @218208
77360 /* 218208 */ GIM_Try, /*On fail goto*//*Label 5008*/ GIMT_Encode4(218239), // Rule ID 6526 //
77361 /* 218213 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
77362 /* 218216 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77363 /* 218220 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77364 /* 218224 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77365 /* 218228 */ // (strict_fsub:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VSUBPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
77366 /* 218228 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ256rr),
77367 /* 218233 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77368 /* 218237 */ GIR_RootConstrainSelectedInstOperands,
77369 /* 218238 */ // GIR_Coverage, 6526,
77370 /* 218238 */ GIR_Done,
77371 /* 218239 */ // Label 5008: @218239
77372 /* 218239 */ GIM_Reject,
77373 /* 218240 */ // Label 5004: @218240
77374 /* 218240 */ GIM_Reject,
77375 /* 218241 */ // Label 4936: @218241
77376 /* 218241 */ GIM_Try, /*On fail goto*//*Label 5009*/ GIMT_Encode4(218338),
77377 /* 218246 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
77378 /* 218249 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
77379 /* 218252 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77380 /* 218256 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77381 /* 218260 */ GIM_Try, /*On fail goto*//*Label 5010*/ GIMT_Encode4(218314), // Rule ID 6506 //
77382 /* 218265 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
77383 /* 218268 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77384 /* 218272 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77385 /* 218276 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77386 /* 218279 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77387 /* 218283 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77388 /* 218287 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77389 /* 218289 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77390 /* 218296 */ // (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)
77391 /* 218296 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDZrm),
77392 /* 218299 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77393 /* 218301 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77394 /* 218303 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77395 /* 218307 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77396 /* 218312 */ GIR_RootConstrainSelectedInstOperands,
77397 /* 218313 */ // GIR_Coverage, 6506,
77398 /* 218313 */ GIR_EraseRootFromParent_Done,
77399 /* 218314 */ // Label 5010: @218314
77400 /* 218314 */ GIM_Try, /*On fail goto*//*Label 5011*/ GIMT_Encode4(218337), // Rule ID 6502 //
77401 /* 218319 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
77402 /* 218322 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77403 /* 218326 */ // (strict_fsub:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VSUBPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
77404 /* 218326 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDZrr),
77405 /* 218331 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77406 /* 218335 */ GIR_RootConstrainSelectedInstOperands,
77407 /* 218336 */ // GIR_Coverage, 6502,
77408 /* 218336 */ GIR_Done,
77409 /* 218337 */ // Label 5011: @218337
77410 /* 218337 */ GIM_Reject,
77411 /* 218338 */ // Label 5009: @218338
77412 /* 218338 */ GIM_Reject,
77413 /* 218339 */ // Label 4937: @218339
77414 /* 218339 */ GIM_Try, /*On fail goto*//*Label 5012*/ GIMT_Encode4(218436),
77415 /* 218344 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
77416 /* 218347 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
77417 /* 218350 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77418 /* 218354 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77419 /* 218358 */ GIM_Try, /*On fail goto*//*Label 5013*/ GIMT_Encode4(218412), // Rule ID 6590 //
77420 /* 218363 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
77421 /* 218366 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77422 /* 218370 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77423 /* 218374 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77424 /* 218377 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77425 /* 218381 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77426 /* 218385 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77427 /* 218387 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77428 /* 218394 */ // (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)
77429 /* 218394 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ256rm),
77430 /* 218397 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77431 /* 218399 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77432 /* 218401 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77433 /* 218405 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77434 /* 218410 */ GIR_RootConstrainSelectedInstOperands,
77435 /* 218411 */ // GIR_Coverage, 6590,
77436 /* 218411 */ GIR_EraseRootFromParent_Done,
77437 /* 218412 */ // Label 5013: @218412
77438 /* 218412 */ GIM_Try, /*On fail goto*//*Label 5014*/ GIMT_Encode4(218435), // Rule ID 6586 //
77439 /* 218417 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
77440 /* 218420 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77441 /* 218424 */ // (strict_fsub:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VSUBPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
77442 /* 218424 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ256rr),
77443 /* 218429 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77444 /* 218433 */ GIR_RootConstrainSelectedInstOperands,
77445 /* 218434 */ // GIR_Coverage, 6586,
77446 /* 218434 */ GIR_Done,
77447 /* 218435 */ // Label 5014: @218435
77448 /* 218435 */ GIM_Reject,
77449 /* 218436 */ // Label 5012: @218436
77450 /* 218436 */ GIM_Reject,
77451 /* 218437 */ // Label 4938: @218437
77452 /* 218437 */ GIM_Try, /*On fail goto*//*Label 5015*/ GIMT_Encode4(218534),
77453 /* 218442 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
77454 /* 218445 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
77455 /* 218448 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77456 /* 218452 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77457 /* 218456 */ GIM_Try, /*On fail goto*//*Label 5016*/ GIMT_Encode4(218510), // Rule ID 6494 //
77458 /* 218461 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
77459 /* 218464 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77460 /* 218468 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77461 /* 218472 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77462 /* 218475 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77463 /* 218479 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77464 /* 218483 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77465 /* 218485 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77466 /* 218492 */ // (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)
77467 /* 218492 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSZrm),
77468 /* 218495 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77469 /* 218497 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77470 /* 218499 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77471 /* 218503 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77472 /* 218508 */ GIR_RootConstrainSelectedInstOperands,
77473 /* 218509 */ // GIR_Coverage, 6494,
77474 /* 218509 */ GIR_EraseRootFromParent_Done,
77475 /* 218510 */ // Label 5016: @218510
77476 /* 218510 */ GIM_Try, /*On fail goto*//*Label 5017*/ GIMT_Encode4(218533), // Rule ID 6490 //
77477 /* 218515 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
77478 /* 218518 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77479 /* 218522 */ // (strict_fsub:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VSUBPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
77480 /* 218522 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSZrr),
77481 /* 218527 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77482 /* 218531 */ GIR_RootConstrainSelectedInstOperands,
77483 /* 218532 */ // GIR_Coverage, 6490,
77484 /* 218532 */ GIR_Done,
77485 /* 218533 */ // Label 5017: @218533
77486 /* 218533 */ GIM_Reject,
77487 /* 218534 */ // Label 5015: @218534
77488 /* 218534 */ GIM_Reject,
77489 /* 218535 */ // Label 4939: @218535
77490 /* 218535 */ GIM_Try, /*On fail goto*//*Label 5018*/ GIMT_Encode4(218632),
77491 /* 218540 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
77492 /* 218543 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
77493 /* 218546 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77494 /* 218550 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77495 /* 218554 */ GIM_Try, /*On fail goto*//*Label 5019*/ GIMT_Encode4(218608), // Rule ID 6566 //
77496 /* 218559 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
77497 /* 218562 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77498 /* 218566 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77499 /* 218570 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77500 /* 218573 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77501 /* 218577 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77502 /* 218581 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77503 /* 218583 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77504 /* 218590 */ // (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)
77505 /* 218590 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPHZrm),
77506 /* 218593 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77507 /* 218595 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77508 /* 218597 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77509 /* 218601 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77510 /* 218606 */ GIR_RootConstrainSelectedInstOperands,
77511 /* 218607 */ // GIR_Coverage, 6566,
77512 /* 218607 */ GIR_EraseRootFromParent_Done,
77513 /* 218608 */ // Label 5019: @218608
77514 /* 218608 */ GIM_Try, /*On fail goto*//*Label 5020*/ GIMT_Encode4(218631), // Rule ID 6562 //
77515 /* 218613 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
77516 /* 218616 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77517 /* 218620 */ // (strict_fsub:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VSUBPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
77518 /* 218620 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPHZrr),
77519 /* 218625 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77520 /* 218629 */ GIR_RootConstrainSelectedInstOperands,
77521 /* 218630 */ // GIR_Coverage, 6562,
77522 /* 218630 */ GIR_Done,
77523 /* 218631 */ // Label 5020: @218631
77524 /* 218631 */ GIM_Reject,
77525 /* 218632 */ // Label 5018: @218632
77526 /* 218632 */ GIM_Reject,
77527 /* 218633 */ // Label 4940: @218633
77528 /* 218633 */ GIM_Reject,
77529 /* 218634 */ // Label 70: @218634
77530 /* 218634 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 5034*/ GIMT_Encode4(223563),
77531 /* 218645 */ /*GILLT_s16*//*Label 5021*/ GIMT_Encode4(218729),
77532 /* 218649 */ /*GILLT_s32*//*Label 5022*/ GIMT_Encode4(218889),
77533 /* 218653 */ /*GILLT_s64*//*Label 5023*/ GIMT_Encode4(219794),
77534 /* 218657 */ /*GILLT_s80*//*Label 5024*/ GIMT_Encode4(220843), GIMT_Encode4(0), GIMT_Encode4(0),
77535 /* 218669 */ /*GILLT_v2s64*//*Label 5025*/ GIMT_Encode4(221409), GIMT_Encode4(0),
77536 /* 218677 */ /*GILLT_v4s32*//*Label 5026*/ GIMT_Encode4(221763),
77537 /* 218681 */ /*GILLT_v4s64*//*Label 5027*/ GIMT_Encode4(222117), GIMT_Encode4(0),
77538 /* 218689 */ /*GILLT_v8s16*//*Label 5028*/ GIMT_Encode4(222440),
77539 /* 218693 */ /*GILLT_v8s32*//*Label 5029*/ GIMT_Encode4(222600),
77540 /* 218697 */ /*GILLT_v8s64*//*Label 5030*/ GIMT_Encode4(222923), GIMT_Encode4(0), GIMT_Encode4(0),
77541 /* 218709 */ /*GILLT_v16s16*//*Label 5031*/ GIMT_Encode4(223083),
77542 /* 218713 */ /*GILLT_v16s32*//*Label 5032*/ GIMT_Encode4(223243), GIMT_Encode4(0), GIMT_Encode4(0),
77543 /* 218725 */ /*GILLT_v32s16*//*Label 5033*/ GIMT_Encode4(223403),
77544 /* 218729 */ // Label 5021: @218729
77545 /* 218729 */ GIM_Try, /*On fail goto*//*Label 5035*/ GIMT_Encode4(218888),
77546 /* 218734 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
77547 /* 218737 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
77548 /* 218740 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
77549 /* 218744 */ GIM_Try, /*On fail goto*//*Label 5036*/ GIMT_Encode4(218802), // Rule ID 24255 //
77550 /* 218749 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
77551 /* 218752 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77552 /* 218756 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77553 /* 218760 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77554 /* 218763 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77555 /* 218767 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77556 /* 218771 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
77557 /* 218775 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77558 /* 218777 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77559 /* 218784 */ // (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)
77560 /* 218784 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSHZrm),
77561 /* 218787 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77562 /* 218789 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77563 /* 218791 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77564 /* 218795 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77565 /* 218800 */ GIR_RootConstrainSelectedInstOperands,
77566 /* 218801 */ // GIR_Coverage, 24255,
77567 /* 218801 */ GIR_EraseRootFromParent_Done,
77568 /* 218802 */ // Label 5036: @218802
77569 /* 218802 */ GIM_Try, /*On fail goto*//*Label 5037*/ GIMT_Encode4(218860), // Rule ID 6011 //
77570 /* 218807 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
77571 /* 218810 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
77572 /* 218814 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77573 /* 218818 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77574 /* 218822 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77575 /* 218825 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77576 /* 218829 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77577 /* 218833 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77578 /* 218835 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77579 /* 218842 */ // (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)
77580 /* 218842 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSHZrm),
77581 /* 218845 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77582 /* 218847 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77583 /* 218849 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77584 /* 218853 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77585 /* 218858 */ GIR_RootConstrainSelectedInstOperands,
77586 /* 218859 */ // GIR_Coverage, 6011,
77587 /* 218859 */ GIR_EraseRootFromParent_Done,
77588 /* 218860 */ // Label 5037: @218860
77589 /* 218860 */ GIM_Try, /*On fail goto*//*Label 5038*/ GIMT_Encode4(218887), // Rule ID 6009 //
77590 /* 218865 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
77591 /* 218868 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
77592 /* 218872 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
77593 /* 218876 */ // (strict_fmul:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VMULSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
77594 /* 218876 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSHZrr),
77595 /* 218881 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77596 /* 218885 */ GIR_RootConstrainSelectedInstOperands,
77597 /* 218886 */ // GIR_Coverage, 6009,
77598 /* 218886 */ GIR_Done,
77599 /* 218887 */ // Label 5038: @218887
77600 /* 218887 */ GIM_Reject,
77601 /* 218888 */ // Label 5035: @218888
77602 /* 218888 */ GIM_Reject,
77603 /* 218889 */ // Label 5022: @218889
77604 /* 218889 */ GIM_Try, /*On fail goto*//*Label 5039*/ GIMT_Encode4(219793),
77605 /* 218894 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
77606 /* 218897 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
77607 /* 218900 */ GIM_Try, /*On fail goto*//*Label 5040*/ GIMT_Encode4(218965), // Rule ID 23268 //
77608 /* 218905 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
77609 /* 218908 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77610 /* 218912 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77611 /* 218916 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77612 /* 218920 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
77613 /* 218927 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77614 /* 218931 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77615 /* 218935 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77616 /* 218937 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77617 /* 218944 */ // (strict_fmul:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (MUL_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
77618 /* 218944 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m32),
77619 /* 218947 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77620 /* 218949 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77621 /* 218951 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77622 /* 218955 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77623 /* 218958 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77624 /* 218963 */ GIR_RootConstrainSelectedInstOperands,
77625 /* 218964 */ // GIR_Coverage, 23268,
77626 /* 218964 */ GIR_EraseRootFromParent_Done,
77627 /* 218965 */ // Label 5040: @218965
77628 /* 218965 */ GIM_Try, /*On fail goto*//*Label 5041*/ GIMT_Encode4(219030), // Rule ID 23270 //
77629 /* 218970 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
77630 /* 218973 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77631 /* 218977 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77632 /* 218981 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77633 /* 218985 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
77634 /* 218992 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77635 /* 218996 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77636 /* 219000 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77637 /* 219002 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77638 /* 219009 */ // (strict_fmul:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (MUL_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
77639 /* 219009 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m32),
77640 /* 219012 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77641 /* 219014 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77642 /* 219016 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77643 /* 219020 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77644 /* 219023 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77645 /* 219028 */ GIR_RootConstrainSelectedInstOperands,
77646 /* 219029 */ // GIR_Coverage, 23270,
77647 /* 219029 */ GIR_EraseRootFromParent_Done,
77648 /* 219030 */ // Label 5041: @219030
77649 /* 219030 */ GIM_Try, /*On fail goto*//*Label 5042*/ GIMT_Encode4(219095), // Rule ID 23258 //
77650 /* 219035 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
77651 /* 219038 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77652 /* 219042 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77653 /* 219046 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77654 /* 219050 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77655 /* 219053 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77656 /* 219057 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77657 /* 219061 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77658 /* 219065 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77659 /* 219067 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77660 /* 219074 */ // (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)
77661 /* 219074 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp32m),
77662 /* 219077 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77663 /* 219079 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77664 /* 219081 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77665 /* 219085 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77666 /* 219088 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77667 /* 219093 */ GIR_RootConstrainSelectedInstOperands,
77668 /* 219094 */ // GIR_Coverage, 23258,
77669 /* 219094 */ GIR_EraseRootFromParent_Done,
77670 /* 219095 */ // Label 5042: @219095
77671 /* 219095 */ GIM_Try, /*On fail goto*//*Label 5043*/ GIMT_Encode4(219157), // Rule ID 23401 //
77672 /* 219100 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
77673 /* 219103 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77674 /* 219107 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77675 /* 219111 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77676 /* 219115 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77677 /* 219118 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77678 /* 219122 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77679 /* 219126 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77680 /* 219130 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77681 /* 219132 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77682 /* 219139 */ // (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)
77683 /* 219139 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSrm),
77684 /* 219142 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77685 /* 219144 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77686 /* 219146 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77687 /* 219150 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77688 /* 219155 */ GIR_RootConstrainSelectedInstOperands,
77689 /* 219156 */ // GIR_Coverage, 23401,
77690 /* 219156 */ GIR_EraseRootFromParent_Done,
77691 /* 219157 */ // Label 5043: @219157
77692 /* 219157 */ GIM_Try, /*On fail goto*//*Label 5044*/ GIMT_Encode4(219219), // Rule ID 23405 //
77693 /* 219162 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
77694 /* 219165 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77695 /* 219169 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77696 /* 219173 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77697 /* 219177 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77698 /* 219180 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77699 /* 219184 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77700 /* 219188 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77701 /* 219192 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77702 /* 219194 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77703 /* 219201 */ // (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)
77704 /* 219201 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSSrm),
77705 /* 219204 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77706 /* 219206 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77707 /* 219208 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77708 /* 219212 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77709 /* 219217 */ GIR_RootConstrainSelectedInstOperands,
77710 /* 219218 */ // GIR_Coverage, 23405,
77711 /* 219218 */ GIR_EraseRootFromParent_Done,
77712 /* 219219 */ // Label 5044: @219219
77713 /* 219219 */ GIM_Try, /*On fail goto*//*Label 5045*/ GIMT_Encode4(219281), // Rule ID 24251 //
77714 /* 219224 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
77715 /* 219227 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
77716 /* 219231 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77717 /* 219235 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77718 /* 219239 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77719 /* 219242 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77720 /* 219246 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77721 /* 219250 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
77722 /* 219254 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77723 /* 219256 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77724 /* 219263 */ // (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)
77725 /* 219263 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSZrm),
77726 /* 219266 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77727 /* 219268 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77728 /* 219270 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77729 /* 219274 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77730 /* 219279 */ GIR_RootConstrainSelectedInstOperands,
77731 /* 219280 */ // GIR_Coverage, 24251,
77732 /* 219280 */ GIR_EraseRootFromParent_Done,
77733 /* 219281 */ // Label 5045: @219281
77734 /* 219281 */ GIM_Try, /*On fail goto*//*Label 5046*/ GIMT_Encode4(219346), // Rule ID 986 //
77735 /* 219286 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
77736 /* 219289 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77737 /* 219293 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77738 /* 219297 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77739 /* 219301 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77740 /* 219305 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
77741 /* 219312 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77742 /* 219316 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77743 /* 219318 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77744 /* 219325 */ // (strict_fmul:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (MUL_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
77745 /* 219325 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m32),
77746 /* 219328 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77747 /* 219330 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77748 /* 219332 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77749 /* 219336 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77750 /* 219339 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77751 /* 219344 */ GIR_RootConstrainSelectedInstOperands,
77752 /* 219345 */ // GIR_Coverage, 986,
77753 /* 219345 */ GIR_EraseRootFromParent_Done,
77754 /* 219346 */ // Label 5046: @219346
77755 /* 219346 */ GIM_Try, /*On fail goto*//*Label 5047*/ GIMT_Encode4(219411), // Rule ID 988 //
77756 /* 219351 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
77757 /* 219354 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77758 /* 219358 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77759 /* 219362 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77760 /* 219366 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77761 /* 219370 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
77762 /* 219377 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77763 /* 219381 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77764 /* 219383 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77765 /* 219390 */ // (strict_fmul:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (MUL_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
77766 /* 219390 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m32),
77767 /* 219393 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77768 /* 219395 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77769 /* 219397 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77770 /* 219401 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77771 /* 219404 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77772 /* 219409 */ GIR_RootConstrainSelectedInstOperands,
77773 /* 219410 */ // GIR_Coverage, 988,
77774 /* 219410 */ GIR_EraseRootFromParent_Done,
77775 /* 219411 */ // Label 5047: @219411
77776 /* 219411 */ GIM_Try, /*On fail goto*//*Label 5048*/ GIMT_Encode4(219476), // Rule ID 976 //
77777 /* 219416 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
77778 /* 219419 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77779 /* 219423 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77780 /* 219427 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77781 /* 219431 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77782 /* 219435 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77783 /* 219438 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77784 /* 219442 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77785 /* 219446 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77786 /* 219448 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77787 /* 219455 */ // (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)
77788 /* 219455 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp32m),
77789 /* 219458 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77790 /* 219460 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77791 /* 219462 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77792 /* 219466 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77793 /* 219469 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77794 /* 219474 */ GIR_RootConstrainSelectedInstOperands,
77795 /* 219475 */ // GIR_Coverage, 976,
77796 /* 219475 */ GIR_EraseRootFromParent_Done,
77797 /* 219476 */ // Label 5048: @219476
77798 /* 219476 */ GIM_Try, /*On fail goto*//*Label 5049*/ GIMT_Encode4(219538), // Rule ID 2200 //
77799 /* 219481 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
77800 /* 219484 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77801 /* 219488 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77802 /* 219492 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77803 /* 219496 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77804 /* 219500 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77805 /* 219503 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77806 /* 219507 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77807 /* 219511 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77808 /* 219513 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77809 /* 219520 */ // (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)
77810 /* 219520 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSrm),
77811 /* 219523 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77812 /* 219525 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77813 /* 219527 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77814 /* 219531 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77815 /* 219536 */ GIR_RootConstrainSelectedInstOperands,
77816 /* 219537 */ // GIR_Coverage, 2200,
77817 /* 219537 */ GIR_EraseRootFromParent_Done,
77818 /* 219538 */ // Label 5049: @219538
77819 /* 219538 */ GIM_Try, /*On fail goto*//*Label 5050*/ GIMT_Encode4(219600), // Rule ID 2208 //
77820 /* 219543 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
77821 /* 219546 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77822 /* 219550 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77823 /* 219554 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77824 /* 219558 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77825 /* 219562 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77826 /* 219565 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77827 /* 219569 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77828 /* 219573 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77829 /* 219575 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77830 /* 219582 */ // (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)
77831 /* 219582 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSSrm),
77832 /* 219585 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77833 /* 219587 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77834 /* 219589 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77835 /* 219593 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77836 /* 219598 */ GIR_RootConstrainSelectedInstOperands,
77837 /* 219599 */ // GIR_Coverage, 2208,
77838 /* 219599 */ GIR_EraseRootFromParent_Done,
77839 /* 219600 */ // Label 5050: @219600
77840 /* 219600 */ GIM_Try, /*On fail goto*//*Label 5051*/ GIMT_Encode4(219662), // Rule ID 5973 //
77841 /* 219605 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
77842 /* 219608 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
77843 /* 219612 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
77844 /* 219616 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77845 /* 219620 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77846 /* 219624 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77847 /* 219627 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77848 /* 219631 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77849 /* 219635 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77850 /* 219637 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77851 /* 219644 */ // (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)
77852 /* 219644 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSZrm),
77853 /* 219647 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77854 /* 219649 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77855 /* 219651 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77856 /* 219655 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77857 /* 219660 */ GIR_RootConstrainSelectedInstOperands,
77858 /* 219661 */ // GIR_Coverage, 5973,
77859 /* 219661 */ GIR_EraseRootFromParent_Done,
77860 /* 219662 */ // Label 5051: @219662
77861 /* 219662 */ GIM_Try, /*On fail goto*//*Label 5052*/ GIMT_Encode4(219699), // Rule ID 898 //
77862 /* 219667 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
77863 /* 219670 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77864 /* 219674 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77865 /* 219678 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77866 /* 219682 */ // (strict_fmul:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (MUL_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
77867 /* 219682 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MUL_Fp32),
77868 /* 219687 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(RegState::Dead),
77869 /* 219693 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
77870 /* 219697 */ GIR_RootConstrainSelectedInstOperands,
77871 /* 219698 */ // GIR_Coverage, 898,
77872 /* 219698 */ GIR_Done,
77873 /* 219699 */ // Label 5052: @219699
77874 /* 219699 */ GIM_Try, /*On fail goto*//*Label 5053*/ GIMT_Encode4(219730), // Rule ID 2198 //
77875 /* 219704 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
77876 /* 219707 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77877 /* 219711 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77878 /* 219715 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77879 /* 219719 */ // (strict_fmul:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VMULSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
77880 /* 219719 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSSrr),
77881 /* 219724 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77882 /* 219728 */ GIR_RootConstrainSelectedInstOperands,
77883 /* 219729 */ // GIR_Coverage, 2198,
77884 /* 219729 */ GIR_Done,
77885 /* 219730 */ // Label 5053: @219730
77886 /* 219730 */ GIM_Try, /*On fail goto*//*Label 5054*/ GIMT_Encode4(219761), // Rule ID 2206 //
77887 /* 219735 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
77888 /* 219738 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77889 /* 219742 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77890 /* 219746 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77891 /* 219750 */ // (strict_fmul:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (MULSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
77892 /* 219750 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULSSrr),
77893 /* 219755 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77894 /* 219759 */ GIR_RootConstrainSelectedInstOperands,
77895 /* 219760 */ // GIR_Coverage, 2206,
77896 /* 219760 */ GIR_Done,
77897 /* 219761 */ // Label 5054: @219761
77898 /* 219761 */ GIM_Try, /*On fail goto*//*Label 5055*/ GIMT_Encode4(219792), // Rule ID 5971 //
77899 /* 219766 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
77900 /* 219769 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
77901 /* 219773 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
77902 /* 219777 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
77903 /* 219781 */ // (strict_fmul:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VMULSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
77904 /* 219781 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSSZrr),
77905 /* 219786 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77906 /* 219790 */ GIR_RootConstrainSelectedInstOperands,
77907 /* 219791 */ // GIR_Coverage, 5971,
77908 /* 219791 */ GIR_Done,
77909 /* 219792 */ // Label 5055: @219792
77910 /* 219792 */ GIM_Reject,
77911 /* 219793 */ // Label 5039: @219793
77912 /* 219793 */ GIM_Reject,
77913 /* 219794 */ // Label 5023: @219794
77914 /* 219794 */ GIM_Try, /*On fail goto*//*Label 5056*/ GIMT_Encode4(220842),
77915 /* 219799 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
77916 /* 219802 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
77917 /* 219805 */ GIM_Try, /*On fail goto*//*Label 5057*/ GIMT_Encode4(219870), // Rule ID 23272 //
77918 /* 219810 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
77919 /* 219813 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77920 /* 219817 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77921 /* 219821 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77922 /* 219825 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
77923 /* 219832 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77924 /* 219836 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77925 /* 219840 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77926 /* 219842 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77927 /* 219849 */ // (strict_fmul:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (MUL_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
77928 /* 219849 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m64),
77929 /* 219852 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77930 /* 219854 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77931 /* 219856 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77932 /* 219860 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77933 /* 219863 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77934 /* 219868 */ GIR_RootConstrainSelectedInstOperands,
77935 /* 219869 */ // GIR_Coverage, 23272,
77936 /* 219869 */ GIR_EraseRootFromParent_Done,
77937 /* 219870 */ // Label 5057: @219870
77938 /* 219870 */ GIM_Try, /*On fail goto*//*Label 5058*/ GIMT_Encode4(219935), // Rule ID 23274 //
77939 /* 219875 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
77940 /* 219878 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77941 /* 219882 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77942 /* 219886 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77943 /* 219890 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
77944 /* 219897 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77945 /* 219901 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77946 /* 219905 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77947 /* 219907 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77948 /* 219914 */ // (strict_fmul:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (MUL_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
77949 /* 219914 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m64),
77950 /* 219917 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77951 /* 219919 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77952 /* 219921 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77953 /* 219925 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77954 /* 219928 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77955 /* 219933 */ GIR_RootConstrainSelectedInstOperands,
77956 /* 219934 */ // GIR_Coverage, 23274,
77957 /* 219934 */ GIR_EraseRootFromParent_Done,
77958 /* 219935 */ // Label 5058: @219935
77959 /* 219935 */ GIM_Try, /*On fail goto*//*Label 5059*/ GIMT_Encode4(220000), // Rule ID 23260 //
77960 /* 219940 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
77961 /* 219943 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77962 /* 219947 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77963 /* 219951 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77964 /* 219955 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77965 /* 219958 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77966 /* 219962 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77967 /* 219966 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77968 /* 219970 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77969 /* 219972 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77970 /* 219979 */ // (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)
77971 /* 219979 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m),
77972 /* 219982 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77973 /* 219984 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77974 /* 219986 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77975 /* 219990 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77976 /* 219993 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77977 /* 219998 */ GIR_RootConstrainSelectedInstOperands,
77978 /* 219999 */ // GIR_Coverage, 23260,
77979 /* 219999 */ GIR_EraseRootFromParent_Done,
77980 /* 220000 */ // Label 5059: @220000
77981 /* 220000 */ GIM_Try, /*On fail goto*//*Label 5060*/ GIMT_Encode4(220072), // Rule ID 23262 //
77982 /* 220005 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
77983 /* 220008 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77984 /* 220012 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77985 /* 220016 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77986 /* 220020 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77987 /* 220023 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77988 /* 220027 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
77989 /* 220034 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77990 /* 220038 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77991 /* 220042 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77992 /* 220044 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77993 /* 220051 */ // (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)
77994 /* 220051 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m32),
77995 /* 220054 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77996 /* 220056 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77997 /* 220058 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77998 /* 220062 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77999 /* 220065 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78000 /* 220070 */ GIR_RootConstrainSelectedInstOperands,
78001 /* 220071 */ // GIR_Coverage, 23262,
78002 /* 220071 */ GIR_EraseRootFromParent_Done,
78003 /* 220072 */ // Label 5060: @220072
78004 /* 220072 */ GIM_Try, /*On fail goto*//*Label 5061*/ GIMT_Encode4(220134), // Rule ID 23403 //
78005 /* 220077 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
78006 /* 220080 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
78007 /* 220084 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78008 /* 220088 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78009 /* 220092 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78010 /* 220095 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78011 /* 220099 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78012 /* 220103 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
78013 /* 220107 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78014 /* 220109 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78015 /* 220116 */ // (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)
78016 /* 220116 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDrm),
78017 /* 220119 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78018 /* 220121 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78019 /* 220123 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78020 /* 220127 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78021 /* 220132 */ GIR_RootConstrainSelectedInstOperands,
78022 /* 220133 */ // GIR_Coverage, 23403,
78023 /* 220133 */ GIR_EraseRootFromParent_Done,
78024 /* 220134 */ // Label 5061: @220134
78025 /* 220134 */ GIM_Try, /*On fail goto*//*Label 5062*/ GIMT_Encode4(220196), // Rule ID 23407 //
78026 /* 220139 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
78027 /* 220142 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
78028 /* 220146 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78029 /* 220150 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78030 /* 220154 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78031 /* 220157 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78032 /* 220161 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78033 /* 220165 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
78034 /* 220169 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78035 /* 220171 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78036 /* 220178 */ // (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)
78037 /* 220178 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSDrm),
78038 /* 220181 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78039 /* 220183 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78040 /* 220185 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78041 /* 220189 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78042 /* 220194 */ GIR_RootConstrainSelectedInstOperands,
78043 /* 220195 */ // GIR_Coverage, 23407,
78044 /* 220195 */ GIR_EraseRootFromParent_Done,
78045 /* 220196 */ // Label 5062: @220196
78046 /* 220196 */ GIM_Try, /*On fail goto*//*Label 5063*/ GIMT_Encode4(220258), // Rule ID 24253 //
78047 /* 220201 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
78048 /* 220204 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
78049 /* 220208 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78050 /* 220212 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78051 /* 220216 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78052 /* 220219 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78053 /* 220223 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78054 /* 220227 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
78055 /* 220231 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78056 /* 220233 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78057 /* 220240 */ // (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)
78058 /* 220240 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDZrm),
78059 /* 220243 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78060 /* 220245 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78061 /* 220247 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78062 /* 220251 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78063 /* 220256 */ GIR_RootConstrainSelectedInstOperands,
78064 /* 220257 */ // GIR_Coverage, 24253,
78065 /* 220257 */ GIR_EraseRootFromParent_Done,
78066 /* 220258 */ // Label 5063: @220258
78067 /* 220258 */ GIM_Try, /*On fail goto*//*Label 5064*/ GIMT_Encode4(220323), // Rule ID 990 //
78068 /* 220263 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
78069 /* 220266 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
78070 /* 220270 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
78071 /* 220274 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78072 /* 220278 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
78073 /* 220282 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
78074 /* 220289 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78075 /* 220293 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78076 /* 220295 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78077 /* 220302 */ // (strict_fmul:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (MUL_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
78078 /* 220302 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m64),
78079 /* 220305 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78080 /* 220307 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78081 /* 220309 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78082 /* 220313 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78083 /* 220316 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78084 /* 220321 */ GIR_RootConstrainSelectedInstOperands,
78085 /* 220322 */ // GIR_Coverage, 990,
78086 /* 220322 */ GIR_EraseRootFromParent_Done,
78087 /* 220323 */ // Label 5064: @220323
78088 /* 220323 */ GIM_Try, /*On fail goto*//*Label 5065*/ GIMT_Encode4(220388), // Rule ID 992 //
78089 /* 220328 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
78090 /* 220331 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
78091 /* 220335 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
78092 /* 220339 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78093 /* 220343 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
78094 /* 220347 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
78095 /* 220354 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78096 /* 220358 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78097 /* 220360 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78098 /* 220367 */ // (strict_fmul:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (MUL_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
78099 /* 220367 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m64),
78100 /* 220370 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78101 /* 220372 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78102 /* 220374 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78103 /* 220378 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78104 /* 220381 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78105 /* 220386 */ GIR_RootConstrainSelectedInstOperands,
78106 /* 220387 */ // GIR_Coverage, 992,
78107 /* 220387 */ GIR_EraseRootFromParent_Done,
78108 /* 220388 */ // Label 5065: @220388
78109 /* 220388 */ GIM_Try, /*On fail goto*//*Label 5066*/ GIMT_Encode4(220453), // Rule ID 978 //
78110 /* 220393 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
78111 /* 220396 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
78112 /* 220400 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
78113 /* 220404 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78114 /* 220408 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78115 /* 220412 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78116 /* 220415 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78117 /* 220419 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78118 /* 220423 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78119 /* 220425 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78120 /* 220432 */ // (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)
78121 /* 220432 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m),
78122 /* 220435 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78123 /* 220437 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78124 /* 220439 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78125 /* 220443 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78126 /* 220446 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78127 /* 220451 */ GIR_RootConstrainSelectedInstOperands,
78128 /* 220452 */ // GIR_Coverage, 978,
78129 /* 220452 */ GIR_EraseRootFromParent_Done,
78130 /* 220453 */ // Label 5066: @220453
78131 /* 220453 */ GIM_Try, /*On fail goto*//*Label 5067*/ GIMT_Encode4(220525), // Rule ID 980 //
78132 /* 220458 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
78133 /* 220461 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
78134 /* 220465 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
78135 /* 220469 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78136 /* 220473 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78137 /* 220477 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78138 /* 220480 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78139 /* 220484 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
78140 /* 220491 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78141 /* 220495 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78142 /* 220497 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78143 /* 220504 */ // (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)
78144 /* 220504 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m32),
78145 /* 220507 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78146 /* 220509 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78147 /* 220511 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78148 /* 220515 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78149 /* 220518 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78150 /* 220523 */ GIR_RootConstrainSelectedInstOperands,
78151 /* 220524 */ // GIR_Coverage, 980,
78152 /* 220524 */ GIR_EraseRootFromParent_Done,
78153 /* 220525 */ // Label 5067: @220525
78154 /* 220525 */ GIM_Try, /*On fail goto*//*Label 5068*/ GIMT_Encode4(220587), // Rule ID 2204 //
78155 /* 220530 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
78156 /* 220533 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
78157 /* 220537 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
78158 /* 220541 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78159 /* 220545 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78160 /* 220549 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78161 /* 220552 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78162 /* 220556 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78163 /* 220560 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78164 /* 220562 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78165 /* 220569 */ // (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)
78166 /* 220569 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDrm),
78167 /* 220572 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78168 /* 220574 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78169 /* 220576 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78170 /* 220580 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78171 /* 220585 */ GIR_RootConstrainSelectedInstOperands,
78172 /* 220586 */ // GIR_Coverage, 2204,
78173 /* 220586 */ GIR_EraseRootFromParent_Done,
78174 /* 220587 */ // Label 5068: @220587
78175 /* 220587 */ GIM_Try, /*On fail goto*//*Label 5069*/ GIMT_Encode4(220649), // Rule ID 2212 //
78176 /* 220592 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
78177 /* 220595 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
78178 /* 220599 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
78179 /* 220603 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78180 /* 220607 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78181 /* 220611 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78182 /* 220614 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78183 /* 220618 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78184 /* 220622 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78185 /* 220624 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78186 /* 220631 */ // (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)
78187 /* 220631 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSDrm),
78188 /* 220634 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78189 /* 220636 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78190 /* 220638 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78191 /* 220642 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78192 /* 220647 */ GIR_RootConstrainSelectedInstOperands,
78193 /* 220648 */ // GIR_Coverage, 2212,
78194 /* 220648 */ GIR_EraseRootFromParent_Done,
78195 /* 220649 */ // Label 5069: @220649
78196 /* 220649 */ GIM_Try, /*On fail goto*//*Label 5070*/ GIMT_Encode4(220711), // Rule ID 5992 //
78197 /* 220654 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
78198 /* 220657 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
78199 /* 220661 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
78200 /* 220665 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78201 /* 220669 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78202 /* 220673 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78203 /* 220676 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78204 /* 220680 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78205 /* 220684 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78206 /* 220686 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78207 /* 220693 */ // (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)
78208 /* 220693 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDZrm),
78209 /* 220696 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78210 /* 220698 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78211 /* 220700 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78212 /* 220704 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78213 /* 220709 */ GIR_RootConstrainSelectedInstOperands,
78214 /* 220710 */ // GIR_Coverage, 5992,
78215 /* 220710 */ GIR_EraseRootFromParent_Done,
78216 /* 220711 */ // Label 5070: @220711
78217 /* 220711 */ GIM_Try, /*On fail goto*//*Label 5071*/ GIMT_Encode4(220748), // Rule ID 900 //
78218 /* 220716 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
78219 /* 220719 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
78220 /* 220723 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
78221 /* 220727 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
78222 /* 220731 */ // (strict_fmul:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (MUL_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
78223 /* 220731 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64),
78224 /* 220736 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(RegState::Dead),
78225 /* 220742 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
78226 /* 220746 */ GIR_RootConstrainSelectedInstOperands,
78227 /* 220747 */ // GIR_Coverage, 900,
78228 /* 220747 */ GIR_Done,
78229 /* 220748 */ // Label 5071: @220748
78230 /* 220748 */ GIM_Try, /*On fail goto*//*Label 5072*/ GIMT_Encode4(220779), // Rule ID 2202 //
78231 /* 220753 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
78232 /* 220756 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
78233 /* 220760 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
78234 /* 220764 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
78235 /* 220768 */ // (strict_fmul:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VMULSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
78236 /* 220768 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSDrr),
78237 /* 220773 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78238 /* 220777 */ GIR_RootConstrainSelectedInstOperands,
78239 /* 220778 */ // GIR_Coverage, 2202,
78240 /* 220778 */ GIR_Done,
78241 /* 220779 */ // Label 5072: @220779
78242 /* 220779 */ GIM_Try, /*On fail goto*//*Label 5073*/ GIMT_Encode4(220810), // Rule ID 2210 //
78243 /* 220784 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
78244 /* 220787 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
78245 /* 220791 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
78246 /* 220795 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
78247 /* 220799 */ // (strict_fmul:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (MULSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
78248 /* 220799 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULSDrr),
78249 /* 220804 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78250 /* 220808 */ GIR_RootConstrainSelectedInstOperands,
78251 /* 220809 */ // GIR_Coverage, 2210,
78252 /* 220809 */ GIR_Done,
78253 /* 220810 */ // Label 5073: @220810
78254 /* 220810 */ GIM_Try, /*On fail goto*//*Label 5074*/ GIMT_Encode4(220841), // Rule ID 5990 //
78255 /* 220815 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
78256 /* 220818 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
78257 /* 220822 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
78258 /* 220826 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
78259 /* 220830 */ // (strict_fmul:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VMULSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
78260 /* 220830 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSDZrr),
78261 /* 220835 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78262 /* 220839 */ GIR_RootConstrainSelectedInstOperands,
78263 /* 220840 */ // GIR_Coverage, 5990,
78264 /* 220840 */ GIR_Done,
78265 /* 220841 */ // Label 5074: @220841
78266 /* 220841 */ GIM_Reject,
78267 /* 220842 */ // Label 5056: @220842
78268 /* 220842 */ GIM_Reject,
78269 /* 220843 */ // Label 5024: @220843
78270 /* 220843 */ GIM_Try, /*On fail goto*//*Label 5075*/ GIMT_Encode4(221408),
78271 /* 220848 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
78272 /* 220851 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
78273 /* 220854 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
78274 /* 220858 */ GIM_Try, /*On fail goto*//*Label 5076*/ GIMT_Encode4(220919), // Rule ID 23276 //
78275 /* 220863 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
78276 /* 220866 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78277 /* 220870 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
78278 /* 220874 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
78279 /* 220881 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78280 /* 220885 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
78281 /* 220889 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78282 /* 220891 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78283 /* 220898 */ // (strict_fmul:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (MUL_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
78284 /* 220898 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m80),
78285 /* 220901 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78286 /* 220903 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78287 /* 220905 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78288 /* 220909 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78289 /* 220912 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78290 /* 220917 */ GIR_RootConstrainSelectedInstOperands,
78291 /* 220918 */ // GIR_Coverage, 23276,
78292 /* 220918 */ GIR_EraseRootFromParent_Done,
78293 /* 220919 */ // Label 5076: @220919
78294 /* 220919 */ GIM_Try, /*On fail goto*//*Label 5077*/ GIMT_Encode4(220980), // Rule ID 23278 //
78295 /* 220924 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
78296 /* 220927 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78297 /* 220931 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
78298 /* 220935 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
78299 /* 220942 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78300 /* 220946 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
78301 /* 220950 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78302 /* 220952 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78303 /* 220959 */ // (strict_fmul:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (MUL_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
78304 /* 220959 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m80),
78305 /* 220962 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78306 /* 220964 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78307 /* 220966 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78308 /* 220970 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78309 /* 220973 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78310 /* 220978 */ GIR_RootConstrainSelectedInstOperands,
78311 /* 220979 */ // GIR_Coverage, 23278,
78312 /* 220979 */ GIR_EraseRootFromParent_Done,
78313 /* 220980 */ // Label 5077: @220980
78314 /* 220980 */ GIM_Try, /*On fail goto*//*Label 5078*/ GIMT_Encode4(221048), // Rule ID 23264 //
78315 /* 220985 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
78316 /* 220988 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78317 /* 220992 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78318 /* 220996 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78319 /* 220999 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78320 /* 221003 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
78321 /* 221010 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78322 /* 221014 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
78323 /* 221018 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78324 /* 221020 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78325 /* 221027 */ // (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)
78326 /* 221027 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m32),
78327 /* 221030 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78328 /* 221032 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78329 /* 221034 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78330 /* 221038 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78331 /* 221041 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78332 /* 221046 */ GIR_RootConstrainSelectedInstOperands,
78333 /* 221047 */ // GIR_Coverage, 23264,
78334 /* 221047 */ GIR_EraseRootFromParent_Done,
78335 /* 221048 */ // Label 5078: @221048
78336 /* 221048 */ GIM_Try, /*On fail goto*//*Label 5079*/ GIMT_Encode4(221116), // Rule ID 23266 //
78337 /* 221053 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
78338 /* 221056 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78339 /* 221060 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78340 /* 221064 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78341 /* 221067 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78342 /* 221071 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
78343 /* 221078 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78344 /* 221082 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
78345 /* 221086 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78346 /* 221088 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78347 /* 221095 */ // (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)
78348 /* 221095 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m64),
78349 /* 221098 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78350 /* 221100 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78351 /* 221102 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78352 /* 221106 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78353 /* 221109 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78354 /* 221114 */ GIR_RootConstrainSelectedInstOperands,
78355 /* 221115 */ // GIR_Coverage, 23266,
78356 /* 221115 */ GIR_EraseRootFromParent_Done,
78357 /* 221116 */ // Label 5079: @221116
78358 /* 221116 */ GIM_Try, /*On fail goto*//*Label 5080*/ GIMT_Encode4(221177), // Rule ID 994 //
78359 /* 221121 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
78360 /* 221124 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
78361 /* 221128 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78362 /* 221132 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
78363 /* 221136 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
78364 /* 221143 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78365 /* 221147 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78366 /* 221149 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78367 /* 221156 */ // (strict_fmul:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (MUL_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
78368 /* 221156 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m80),
78369 /* 221159 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78370 /* 221161 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78371 /* 221163 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78372 /* 221167 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78373 /* 221170 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78374 /* 221175 */ GIR_RootConstrainSelectedInstOperands,
78375 /* 221176 */ // GIR_Coverage, 994,
78376 /* 221176 */ GIR_EraseRootFromParent_Done,
78377 /* 221177 */ // Label 5080: @221177
78378 /* 221177 */ GIM_Try, /*On fail goto*//*Label 5081*/ GIMT_Encode4(221238), // Rule ID 996 //
78379 /* 221182 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
78380 /* 221185 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
78381 /* 221189 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78382 /* 221193 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
78383 /* 221197 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
78384 /* 221204 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78385 /* 221208 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78386 /* 221210 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78387 /* 221217 */ // (strict_fmul:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (MUL_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
78388 /* 221217 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m80),
78389 /* 221220 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78390 /* 221222 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78391 /* 221224 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78392 /* 221228 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78393 /* 221231 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78394 /* 221236 */ GIR_RootConstrainSelectedInstOperands,
78395 /* 221237 */ // GIR_Coverage, 996,
78396 /* 221237 */ GIR_EraseRootFromParent_Done,
78397 /* 221238 */ // Label 5081: @221238
78398 /* 221238 */ GIM_Try, /*On fail goto*//*Label 5082*/ GIMT_Encode4(221306), // Rule ID 982 //
78399 /* 221243 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
78400 /* 221246 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
78401 /* 221250 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78402 /* 221254 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78403 /* 221258 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78404 /* 221261 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78405 /* 221265 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
78406 /* 221272 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78407 /* 221276 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78408 /* 221278 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78409 /* 221285 */ // (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)
78410 /* 221285 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m32),
78411 /* 221288 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78412 /* 221290 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78413 /* 221292 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78414 /* 221296 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78415 /* 221299 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78416 /* 221304 */ GIR_RootConstrainSelectedInstOperands,
78417 /* 221305 */ // GIR_Coverage, 982,
78418 /* 221305 */ GIR_EraseRootFromParent_Done,
78419 /* 221306 */ // Label 5082: @221306
78420 /* 221306 */ GIM_Try, /*On fail goto*//*Label 5083*/ GIMT_Encode4(221374), // Rule ID 984 //
78421 /* 221311 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
78422 /* 221314 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
78423 /* 221318 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78424 /* 221322 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78425 /* 221326 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78426 /* 221329 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78427 /* 221333 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
78428 /* 221340 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78429 /* 221344 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78430 /* 221346 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78431 /* 221353 */ // (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)
78432 /* 221353 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m64),
78433 /* 221356 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78434 /* 221358 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78435 /* 221360 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78436 /* 221364 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78437 /* 221367 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78438 /* 221372 */ GIR_RootConstrainSelectedInstOperands,
78439 /* 221373 */ // GIR_Coverage, 984,
78440 /* 221373 */ GIR_EraseRootFromParent_Done,
78441 /* 221374 */ // Label 5083: @221374
78442 /* 221374 */ GIM_Try, /*On fail goto*//*Label 5084*/ GIMT_Encode4(221407), // Rule ID 902 //
78443 /* 221379 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
78444 /* 221382 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
78445 /* 221386 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
78446 /* 221390 */ // (strict_fmul:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (MUL_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
78447 /* 221390 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80),
78448 /* 221395 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(RegState::Dead),
78449 /* 221401 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
78450 /* 221405 */ GIR_RootConstrainSelectedInstOperands,
78451 /* 221406 */ // GIR_Coverage, 902,
78452 /* 221406 */ GIR_Done,
78453 /* 221407 */ // Label 5084: @221407
78454 /* 221407 */ GIM_Reject,
78455 /* 221408 */ // Label 5075: @221408
78456 /* 221408 */ GIM_Reject,
78457 /* 221409 */ // Label 5025: @221409
78458 /* 221409 */ GIM_Try, /*On fail goto*//*Label 5085*/ GIMT_Encode4(221762),
78459 /* 221414 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
78460 /* 221417 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
78461 /* 221420 */ GIM_Try, /*On fail goto*//*Label 5086*/ GIMT_Encode4(221482), // Rule ID 23391 //
78462 /* 221425 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
78463 /* 221428 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78464 /* 221432 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78465 /* 221436 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78466 /* 221440 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78467 /* 221443 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78468 /* 221447 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78469 /* 221451 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78470 /* 221455 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78471 /* 221457 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78472 /* 221464 */ // (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)
78473 /* 221464 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDrm),
78474 /* 221467 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78475 /* 221469 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78476 /* 221471 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78477 /* 221475 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78478 /* 221480 */ GIR_RootConstrainSelectedInstOperands,
78479 /* 221481 */ // GIR_Coverage, 23391,
78480 /* 221481 */ GIR_EraseRootFromParent_Done,
78481 /* 221482 */ // Label 5086: @221482
78482 /* 221482 */ GIM_Try, /*On fail goto*//*Label 5087*/ GIMT_Encode4(221544), // Rule ID 24367 //
78483 /* 221487 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78484 /* 221490 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78485 /* 221494 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78486 /* 221498 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78487 /* 221502 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78488 /* 221505 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78489 /* 221509 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78490 /* 221513 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78491 /* 221517 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78492 /* 221519 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78493 /* 221526 */ // (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)
78494 /* 221526 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ128rm),
78495 /* 221529 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78496 /* 221531 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78497 /* 221533 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78498 /* 221537 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78499 /* 221542 */ GIR_RootConstrainSelectedInstOperands,
78500 /* 221543 */ // GIR_Coverage, 24367,
78501 /* 221543 */ GIR_EraseRootFromParent_Done,
78502 /* 221544 */ // Label 5087: @221544
78503 /* 221544 */ GIM_Try, /*On fail goto*//*Label 5088*/ GIMT_Encode4(221606), // Rule ID 2180 //
78504 /* 221549 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
78505 /* 221552 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78506 /* 221556 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78507 /* 221560 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78508 /* 221564 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78509 /* 221568 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78510 /* 221571 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78511 /* 221575 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78512 /* 221579 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78513 /* 221581 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78514 /* 221588 */ // (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)
78515 /* 221588 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDrm),
78516 /* 221591 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78517 /* 221593 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78518 /* 221595 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78519 /* 221599 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78520 /* 221604 */ GIR_RootConstrainSelectedInstOperands,
78521 /* 221605 */ // GIR_Coverage, 2180,
78522 /* 221605 */ GIR_EraseRootFromParent_Done,
78523 /* 221606 */ // Label 5088: @221606
78524 /* 221606 */ GIM_Try, /*On fail goto*//*Label 5089*/ GIMT_Encode4(221668), // Rule ID 6425 //
78525 /* 221611 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78526 /* 221614 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78527 /* 221618 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78528 /* 221622 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78529 /* 221626 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78530 /* 221630 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78531 /* 221633 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78532 /* 221637 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78533 /* 221641 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78534 /* 221643 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78535 /* 221650 */ // (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)
78536 /* 221650 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ128rm),
78537 /* 221653 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78538 /* 221655 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78539 /* 221657 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78540 /* 221661 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78541 /* 221666 */ GIR_RootConstrainSelectedInstOperands,
78542 /* 221667 */ // GIR_Coverage, 6425,
78543 /* 221667 */ GIR_EraseRootFromParent_Done,
78544 /* 221668 */ // Label 5089: @221668
78545 /* 221668 */ GIM_Try, /*On fail goto*//*Label 5090*/ GIMT_Encode4(221699), // Rule ID 2178 //
78546 /* 221673 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
78547 /* 221676 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78548 /* 221680 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78549 /* 221684 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78550 /* 221688 */ // (strict_fmul:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VMULPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
78551 /* 221688 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDrr),
78552 /* 221693 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78553 /* 221697 */ GIR_RootConstrainSelectedInstOperands,
78554 /* 221698 */ // GIR_Coverage, 2178,
78555 /* 221698 */ GIR_Done,
78556 /* 221699 */ // Label 5090: @221699
78557 /* 221699 */ GIM_Try, /*On fail goto*//*Label 5091*/ GIMT_Encode4(221730), // Rule ID 2194 //
78558 /* 221704 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
78559 /* 221707 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78560 /* 221711 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78561 /* 221715 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78562 /* 221719 */ // (strict_fmul:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (MULPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
78563 /* 221719 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULPDrr),
78564 /* 221724 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78565 /* 221728 */ GIR_RootConstrainSelectedInstOperands,
78566 /* 221729 */ // GIR_Coverage, 2194,
78567 /* 221729 */ GIR_Done,
78568 /* 221730 */ // Label 5091: @221730
78569 /* 221730 */ GIM_Try, /*On fail goto*//*Label 5092*/ GIMT_Encode4(221761), // Rule ID 6421 //
78570 /* 221735 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78571 /* 221738 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78572 /* 221742 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78573 /* 221746 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78574 /* 221750 */ // (strict_fmul:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VMULPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
78575 /* 221750 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDZ128rr),
78576 /* 221755 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78577 /* 221759 */ GIR_RootConstrainSelectedInstOperands,
78578 /* 221760 */ // GIR_Coverage, 6421,
78579 /* 221760 */ GIR_Done,
78580 /* 221761 */ // Label 5092: @221761
78581 /* 221761 */ GIM_Reject,
78582 /* 221762 */ // Label 5085: @221762
78583 /* 221762 */ GIM_Reject,
78584 /* 221763 */ // Label 5026: @221763
78585 /* 221763 */ GIM_Try, /*On fail goto*//*Label 5093*/ GIMT_Encode4(222116),
78586 /* 221768 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
78587 /* 221771 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
78588 /* 221774 */ GIM_Try, /*On fail goto*//*Label 5094*/ GIMT_Encode4(221836), // Rule ID 23389 //
78589 /* 221779 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
78590 /* 221782 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78591 /* 221786 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78592 /* 221790 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78593 /* 221794 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78594 /* 221797 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78595 /* 221801 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78596 /* 221805 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78597 /* 221809 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78598 /* 221811 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78599 /* 221818 */ // (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)
78600 /* 221818 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSrm),
78601 /* 221821 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78602 /* 221823 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78603 /* 221825 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78604 /* 221829 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78605 /* 221834 */ GIR_RootConstrainSelectedInstOperands,
78606 /* 221835 */ // GIR_Coverage, 23389,
78607 /* 221835 */ GIR_EraseRootFromParent_Done,
78608 /* 221836 */ // Label 5094: @221836
78609 /* 221836 */ GIM_Try, /*On fail goto*//*Label 5095*/ GIMT_Encode4(221898), // Rule ID 24351 //
78610 /* 221841 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78611 /* 221844 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78612 /* 221848 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78613 /* 221852 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78614 /* 221856 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78615 /* 221859 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78616 /* 221863 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78617 /* 221867 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78618 /* 221871 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78619 /* 221873 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78620 /* 221880 */ // (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)
78621 /* 221880 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ128rm),
78622 /* 221883 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78623 /* 221885 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78624 /* 221887 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78625 /* 221891 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78626 /* 221896 */ GIR_RootConstrainSelectedInstOperands,
78627 /* 221897 */ // GIR_Coverage, 24351,
78628 /* 221897 */ GIR_EraseRootFromParent_Done,
78629 /* 221898 */ // Label 5095: @221898
78630 /* 221898 */ GIM_Try, /*On fail goto*//*Label 5096*/ GIMT_Encode4(221960), // Rule ID 2176 //
78631 /* 221903 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
78632 /* 221906 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78633 /* 221910 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78634 /* 221914 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78635 /* 221918 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78636 /* 221922 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78637 /* 221925 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78638 /* 221929 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78639 /* 221933 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78640 /* 221935 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78641 /* 221942 */ // (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)
78642 /* 221942 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSrm),
78643 /* 221945 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78644 /* 221947 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78645 /* 221949 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78646 /* 221953 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78647 /* 221958 */ GIR_RootConstrainSelectedInstOperands,
78648 /* 221959 */ // GIR_Coverage, 2176,
78649 /* 221959 */ GIR_EraseRootFromParent_Done,
78650 /* 221960 */ // Label 5096: @221960
78651 /* 221960 */ GIM_Try, /*On fail goto*//*Label 5097*/ GIMT_Encode4(222022), // Rule ID 6401 //
78652 /* 221965 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78653 /* 221968 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78654 /* 221972 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78655 /* 221976 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78656 /* 221980 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78657 /* 221984 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78658 /* 221987 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78659 /* 221991 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78660 /* 221995 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78661 /* 221997 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78662 /* 222004 */ // (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)
78663 /* 222004 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ128rm),
78664 /* 222007 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78665 /* 222009 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78666 /* 222011 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78667 /* 222015 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78668 /* 222020 */ GIR_RootConstrainSelectedInstOperands,
78669 /* 222021 */ // GIR_Coverage, 6401,
78670 /* 222021 */ GIR_EraseRootFromParent_Done,
78671 /* 222022 */ // Label 5097: @222022
78672 /* 222022 */ GIM_Try, /*On fail goto*//*Label 5098*/ GIMT_Encode4(222053), // Rule ID 2174 //
78673 /* 222027 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
78674 /* 222030 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78675 /* 222034 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78676 /* 222038 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78677 /* 222042 */ // (strict_fmul:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VMULPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
78678 /* 222042 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSrr),
78679 /* 222047 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78680 /* 222051 */ GIR_RootConstrainSelectedInstOperands,
78681 /* 222052 */ // GIR_Coverage, 2174,
78682 /* 222052 */ GIR_Done,
78683 /* 222053 */ // Label 5098: @222053
78684 /* 222053 */ GIM_Try, /*On fail goto*//*Label 5099*/ GIMT_Encode4(222084), // Rule ID 2190 //
78685 /* 222058 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
78686 /* 222061 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78687 /* 222065 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78688 /* 222069 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78689 /* 222073 */ // (strict_fmul:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (MULPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
78690 /* 222073 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULPSrr),
78691 /* 222078 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78692 /* 222082 */ GIR_RootConstrainSelectedInstOperands,
78693 /* 222083 */ // GIR_Coverage, 2190,
78694 /* 222083 */ GIR_Done,
78695 /* 222084 */ // Label 5099: @222084
78696 /* 222084 */ GIM_Try, /*On fail goto*//*Label 5100*/ GIMT_Encode4(222115), // Rule ID 6397 //
78697 /* 222089 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78698 /* 222092 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78699 /* 222096 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78700 /* 222100 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78701 /* 222104 */ // (strict_fmul:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VMULPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
78702 /* 222104 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSZ128rr),
78703 /* 222109 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78704 /* 222113 */ GIR_RootConstrainSelectedInstOperands,
78705 /* 222114 */ // GIR_Coverage, 6397,
78706 /* 222114 */ GIR_Done,
78707 /* 222115 */ // Label 5100: @222115
78708 /* 222115 */ GIM_Reject,
78709 /* 222116 */ // Label 5093: @222116
78710 /* 222116 */ GIM_Reject,
78711 /* 222117 */ // Label 5027: @222117
78712 /* 222117 */ GIM_Try, /*On fail goto*//*Label 5101*/ GIMT_Encode4(222439),
78713 /* 222122 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
78714 /* 222125 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
78715 /* 222128 */ GIM_Try, /*On fail goto*//*Label 5102*/ GIMT_Encode4(222190), // Rule ID 23395 //
78716 /* 222133 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
78717 /* 222136 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78718 /* 222140 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78719 /* 222144 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78720 /* 222148 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78721 /* 222151 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78722 /* 222155 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78723 /* 222159 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78724 /* 222163 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78725 /* 222165 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78726 /* 222172 */ // (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)
78727 /* 222172 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDYrm),
78728 /* 222175 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78729 /* 222177 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78730 /* 222179 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78731 /* 222183 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78732 /* 222188 */ GIR_RootConstrainSelectedInstOperands,
78733 /* 222189 */ // GIR_Coverage, 23395,
78734 /* 222189 */ GIR_EraseRootFromParent_Done,
78735 /* 222190 */ // Label 5102: @222190
78736 /* 222190 */ GIM_Try, /*On fail goto*//*Label 5103*/ GIMT_Encode4(222252), // Rule ID 24375 //
78737 /* 222195 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78738 /* 222198 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78739 /* 222202 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78740 /* 222206 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78741 /* 222210 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78742 /* 222213 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78743 /* 222217 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78744 /* 222221 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78745 /* 222225 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78746 /* 222227 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78747 /* 222234 */ // (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)
78748 /* 222234 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ256rm),
78749 /* 222237 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78750 /* 222239 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78751 /* 222241 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78752 /* 222245 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78753 /* 222250 */ GIR_RootConstrainSelectedInstOperands,
78754 /* 222251 */ // GIR_Coverage, 24375,
78755 /* 222251 */ GIR_EraseRootFromParent_Done,
78756 /* 222252 */ // Label 5103: @222252
78757 /* 222252 */ GIM_Try, /*On fail goto*//*Label 5104*/ GIMT_Encode4(222314), // Rule ID 2188 //
78758 /* 222257 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
78759 /* 222260 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78760 /* 222264 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78761 /* 222268 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78762 /* 222272 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78763 /* 222276 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78764 /* 222279 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78765 /* 222283 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78766 /* 222287 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78767 /* 222289 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78768 /* 222296 */ // (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)
78769 /* 222296 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDYrm),
78770 /* 222299 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78771 /* 222301 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78772 /* 222303 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78773 /* 222307 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78774 /* 222312 */ GIR_RootConstrainSelectedInstOperands,
78775 /* 222313 */ // GIR_Coverage, 2188,
78776 /* 222313 */ GIR_EraseRootFromParent_Done,
78777 /* 222314 */ // Label 5104: @222314
78778 /* 222314 */ GIM_Try, /*On fail goto*//*Label 5105*/ GIMT_Encode4(222376), // Rule ID 6437 //
78779 /* 222319 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78780 /* 222322 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78781 /* 222326 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78782 /* 222330 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78783 /* 222334 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78784 /* 222338 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78785 /* 222341 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78786 /* 222345 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78787 /* 222349 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78788 /* 222351 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78789 /* 222358 */ // (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)
78790 /* 222358 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ256rm),
78791 /* 222361 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78792 /* 222363 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78793 /* 222365 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78794 /* 222369 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78795 /* 222374 */ GIR_RootConstrainSelectedInstOperands,
78796 /* 222375 */ // GIR_Coverage, 6437,
78797 /* 222375 */ GIR_EraseRootFromParent_Done,
78798 /* 222376 */ // Label 5105: @222376
78799 /* 222376 */ GIM_Try, /*On fail goto*//*Label 5106*/ GIMT_Encode4(222407), // Rule ID 2186 //
78800 /* 222381 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
78801 /* 222384 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78802 /* 222388 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78803 /* 222392 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78804 /* 222396 */ // (strict_fmul:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VMULPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
78805 /* 222396 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDYrr),
78806 /* 222401 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78807 /* 222405 */ GIR_RootConstrainSelectedInstOperands,
78808 /* 222406 */ // GIR_Coverage, 2186,
78809 /* 222406 */ GIR_Done,
78810 /* 222407 */ // Label 5106: @222407
78811 /* 222407 */ GIM_Try, /*On fail goto*//*Label 5107*/ GIMT_Encode4(222438), // Rule ID 6433 //
78812 /* 222412 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78813 /* 222415 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78814 /* 222419 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78815 /* 222423 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78816 /* 222427 */ // (strict_fmul:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VMULPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
78817 /* 222427 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDZ256rr),
78818 /* 222432 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78819 /* 222436 */ GIR_RootConstrainSelectedInstOperands,
78820 /* 222437 */ // GIR_Coverage, 6433,
78821 /* 222437 */ GIR_Done,
78822 /* 222438 */ // Label 5107: @222438
78823 /* 222438 */ GIM_Reject,
78824 /* 222439 */ // Label 5101: @222439
78825 /* 222439 */ GIM_Reject,
78826 /* 222440 */ // Label 5028: @222440
78827 /* 222440 */ GIM_Try, /*On fail goto*//*Label 5108*/ GIMT_Encode4(222599),
78828 /* 222445 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
78829 /* 222448 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
78830 /* 222451 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78831 /* 222455 */ GIM_Try, /*On fail goto*//*Label 5109*/ GIMT_Encode4(222513), // Rule ID 24391 //
78832 /* 222460 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
78833 /* 222463 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78834 /* 222467 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78835 /* 222471 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78836 /* 222474 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78837 /* 222478 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78838 /* 222482 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78839 /* 222486 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78840 /* 222488 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78841 /* 222495 */ // (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)
78842 /* 222495 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ128rm),
78843 /* 222498 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78844 /* 222500 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78845 /* 222502 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78846 /* 222506 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78847 /* 222511 */ GIR_RootConstrainSelectedInstOperands,
78848 /* 222512 */ // GIR_Coverage, 24391,
78849 /* 222512 */ GIR_EraseRootFromParent_Done,
78850 /* 222513 */ // Label 5109: @222513
78851 /* 222513 */ GIM_Try, /*On fail goto*//*Label 5110*/ GIMT_Encode4(222571), // Rule ID 6461 //
78852 /* 222518 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
78853 /* 222521 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78854 /* 222525 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78855 /* 222529 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78856 /* 222533 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78857 /* 222536 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78858 /* 222540 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78859 /* 222544 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78860 /* 222546 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78861 /* 222553 */ // (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)
78862 /* 222553 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ128rm),
78863 /* 222556 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78864 /* 222558 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78865 /* 222560 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78866 /* 222564 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78867 /* 222569 */ GIR_RootConstrainSelectedInstOperands,
78868 /* 222570 */ // GIR_Coverage, 6461,
78869 /* 222570 */ GIR_EraseRootFromParent_Done,
78870 /* 222571 */ // Label 5110: @222571
78871 /* 222571 */ GIM_Try, /*On fail goto*//*Label 5111*/ GIMT_Encode4(222598), // Rule ID 6457 //
78872 /* 222576 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
78873 /* 222579 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78874 /* 222583 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78875 /* 222587 */ // (strict_fmul:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VMULPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
78876 /* 222587 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPHZ128rr),
78877 /* 222592 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78878 /* 222596 */ GIR_RootConstrainSelectedInstOperands,
78879 /* 222597 */ // GIR_Coverage, 6457,
78880 /* 222597 */ GIR_Done,
78881 /* 222598 */ // Label 5111: @222598
78882 /* 222598 */ GIM_Reject,
78883 /* 222599 */ // Label 5108: @222599
78884 /* 222599 */ GIM_Reject,
78885 /* 222600 */ // Label 5029: @222600
78886 /* 222600 */ GIM_Try, /*On fail goto*//*Label 5112*/ GIMT_Encode4(222922),
78887 /* 222605 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
78888 /* 222608 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
78889 /* 222611 */ GIM_Try, /*On fail goto*//*Label 5113*/ GIMT_Encode4(222673), // Rule ID 23393 //
78890 /* 222616 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
78891 /* 222619 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78892 /* 222623 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78893 /* 222627 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78894 /* 222631 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78895 /* 222634 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78896 /* 222638 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78897 /* 222642 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78898 /* 222646 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78899 /* 222648 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78900 /* 222655 */ // (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)
78901 /* 222655 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSYrm),
78902 /* 222658 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78903 /* 222660 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78904 /* 222662 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78905 /* 222666 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78906 /* 222671 */ GIR_RootConstrainSelectedInstOperands,
78907 /* 222672 */ // GIR_Coverage, 23393,
78908 /* 222672 */ GIR_EraseRootFromParent_Done,
78909 /* 222673 */ // Label 5113: @222673
78910 /* 222673 */ GIM_Try, /*On fail goto*//*Label 5114*/ GIMT_Encode4(222735), // Rule ID 24359 //
78911 /* 222678 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78912 /* 222681 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78913 /* 222685 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78914 /* 222689 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78915 /* 222693 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78916 /* 222696 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78917 /* 222700 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78918 /* 222704 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78919 /* 222708 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78920 /* 222710 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78921 /* 222717 */ // (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)
78922 /* 222717 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ256rm),
78923 /* 222720 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78924 /* 222722 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78925 /* 222724 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78926 /* 222728 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78927 /* 222733 */ GIR_RootConstrainSelectedInstOperands,
78928 /* 222734 */ // GIR_Coverage, 24359,
78929 /* 222734 */ GIR_EraseRootFromParent_Done,
78930 /* 222735 */ // Label 5114: @222735
78931 /* 222735 */ GIM_Try, /*On fail goto*//*Label 5115*/ GIMT_Encode4(222797), // Rule ID 2184 //
78932 /* 222740 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
78933 /* 222743 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78934 /* 222747 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78935 /* 222751 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78936 /* 222755 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78937 /* 222759 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78938 /* 222762 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78939 /* 222766 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78940 /* 222770 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78941 /* 222772 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78942 /* 222779 */ // (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)
78943 /* 222779 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSYrm),
78944 /* 222782 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78945 /* 222784 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78946 /* 222786 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78947 /* 222790 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78948 /* 222795 */ GIR_RootConstrainSelectedInstOperands,
78949 /* 222796 */ // GIR_Coverage, 2184,
78950 /* 222796 */ GIR_EraseRootFromParent_Done,
78951 /* 222797 */ // Label 5115: @222797
78952 /* 222797 */ GIM_Try, /*On fail goto*//*Label 5116*/ GIMT_Encode4(222859), // Rule ID 6413 //
78953 /* 222802 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78954 /* 222805 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78955 /* 222809 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78956 /* 222813 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78957 /* 222817 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78958 /* 222821 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78959 /* 222824 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78960 /* 222828 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78961 /* 222832 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78962 /* 222834 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78963 /* 222841 */ // (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)
78964 /* 222841 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ256rm),
78965 /* 222844 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78966 /* 222846 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78967 /* 222848 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78968 /* 222852 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78969 /* 222857 */ GIR_RootConstrainSelectedInstOperands,
78970 /* 222858 */ // GIR_Coverage, 6413,
78971 /* 222858 */ GIR_EraseRootFromParent_Done,
78972 /* 222859 */ // Label 5116: @222859
78973 /* 222859 */ GIM_Try, /*On fail goto*//*Label 5117*/ GIMT_Encode4(222890), // Rule ID 2182 //
78974 /* 222864 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
78975 /* 222867 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78976 /* 222871 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78977 /* 222875 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78978 /* 222879 */ // (strict_fmul:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VMULPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
78979 /* 222879 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSYrr),
78980 /* 222884 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78981 /* 222888 */ GIR_RootConstrainSelectedInstOperands,
78982 /* 222889 */ // GIR_Coverage, 2182,
78983 /* 222889 */ GIR_Done,
78984 /* 222890 */ // Label 5117: @222890
78985 /* 222890 */ GIM_Try, /*On fail goto*//*Label 5118*/ GIMT_Encode4(222921), // Rule ID 6409 //
78986 /* 222895 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78987 /* 222898 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78988 /* 222902 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78989 /* 222906 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78990 /* 222910 */ // (strict_fmul:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VMULPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
78991 /* 222910 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSZ256rr),
78992 /* 222915 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78993 /* 222919 */ GIR_RootConstrainSelectedInstOperands,
78994 /* 222920 */ // GIR_Coverage, 6409,
78995 /* 222920 */ GIR_Done,
78996 /* 222921 */ // Label 5118: @222921
78997 /* 222921 */ GIM_Reject,
78998 /* 222922 */ // Label 5112: @222922
78999 /* 222922 */ GIM_Reject,
79000 /* 222923 */ // Label 5030: @222923
79001 /* 222923 */ GIM_Try, /*On fail goto*//*Label 5119*/ GIMT_Encode4(223082),
79002 /* 222928 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
79003 /* 222931 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
79004 /* 222934 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79005 /* 222938 */ GIM_Try, /*On fail goto*//*Label 5120*/ GIMT_Encode4(222996), // Rule ID 24343 //
79006 /* 222943 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
79007 /* 222946 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79008 /* 222950 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79009 /* 222954 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79010 /* 222957 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79011 /* 222961 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79012 /* 222965 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79013 /* 222969 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79014 /* 222971 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79015 /* 222978 */ // (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)
79016 /* 222978 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZrm),
79017 /* 222981 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79018 /* 222983 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79019 /* 222985 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79020 /* 222989 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79021 /* 222994 */ GIR_RootConstrainSelectedInstOperands,
79022 /* 222995 */ // GIR_Coverage, 24343,
79023 /* 222995 */ GIR_EraseRootFromParent_Done,
79024 /* 222996 */ // Label 5120: @222996
79025 /* 222996 */ GIM_Try, /*On fail goto*//*Label 5121*/ GIMT_Encode4(223054), // Rule ID 6389 //
79026 /* 223001 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
79027 /* 223004 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79028 /* 223008 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79029 /* 223012 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79030 /* 223016 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79031 /* 223019 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79032 /* 223023 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79033 /* 223027 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79034 /* 223029 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79035 /* 223036 */ // (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)
79036 /* 223036 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZrm),
79037 /* 223039 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79038 /* 223041 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79039 /* 223043 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79040 /* 223047 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79041 /* 223052 */ GIR_RootConstrainSelectedInstOperands,
79042 /* 223053 */ // GIR_Coverage, 6389,
79043 /* 223053 */ GIR_EraseRootFromParent_Done,
79044 /* 223054 */ // Label 5121: @223054
79045 /* 223054 */ GIM_Try, /*On fail goto*//*Label 5122*/ GIMT_Encode4(223081), // Rule ID 6385 //
79046 /* 223059 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
79047 /* 223062 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79048 /* 223066 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79049 /* 223070 */ // (strict_fmul:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VMULPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
79050 /* 223070 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDZrr),
79051 /* 223075 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79052 /* 223079 */ GIR_RootConstrainSelectedInstOperands,
79053 /* 223080 */ // GIR_Coverage, 6385,
79054 /* 223080 */ GIR_Done,
79055 /* 223081 */ // Label 5122: @223081
79056 /* 223081 */ GIM_Reject,
79057 /* 223082 */ // Label 5119: @223082
79058 /* 223082 */ GIM_Reject,
79059 /* 223083 */ // Label 5031: @223083
79060 /* 223083 */ GIM_Try, /*On fail goto*//*Label 5123*/ GIMT_Encode4(223242),
79061 /* 223088 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
79062 /* 223091 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
79063 /* 223094 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79064 /* 223098 */ GIM_Try, /*On fail goto*//*Label 5124*/ GIMT_Encode4(223156), // Rule ID 24399 //
79065 /* 223103 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
79066 /* 223106 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79067 /* 223110 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79068 /* 223114 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79069 /* 223117 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79070 /* 223121 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79071 /* 223125 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79072 /* 223129 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79073 /* 223131 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79074 /* 223138 */ // (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)
79075 /* 223138 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ256rm),
79076 /* 223141 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79077 /* 223143 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79078 /* 223145 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79079 /* 223149 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79080 /* 223154 */ GIR_RootConstrainSelectedInstOperands,
79081 /* 223155 */ // GIR_Coverage, 24399,
79082 /* 223155 */ GIR_EraseRootFromParent_Done,
79083 /* 223156 */ // Label 5124: @223156
79084 /* 223156 */ GIM_Try, /*On fail goto*//*Label 5125*/ GIMT_Encode4(223214), // Rule ID 6473 //
79085 /* 223161 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
79086 /* 223164 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79087 /* 223168 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79088 /* 223172 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79089 /* 223176 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79090 /* 223179 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79091 /* 223183 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79092 /* 223187 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79093 /* 223189 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79094 /* 223196 */ // (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)
79095 /* 223196 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ256rm),
79096 /* 223199 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79097 /* 223201 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79098 /* 223203 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79099 /* 223207 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79100 /* 223212 */ GIR_RootConstrainSelectedInstOperands,
79101 /* 223213 */ // GIR_Coverage, 6473,
79102 /* 223213 */ GIR_EraseRootFromParent_Done,
79103 /* 223214 */ // Label 5125: @223214
79104 /* 223214 */ GIM_Try, /*On fail goto*//*Label 5126*/ GIMT_Encode4(223241), // Rule ID 6469 //
79105 /* 223219 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
79106 /* 223222 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79107 /* 223226 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79108 /* 223230 */ // (strict_fmul:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VMULPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
79109 /* 223230 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPHZ256rr),
79110 /* 223235 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79111 /* 223239 */ GIR_RootConstrainSelectedInstOperands,
79112 /* 223240 */ // GIR_Coverage, 6469,
79113 /* 223240 */ GIR_Done,
79114 /* 223241 */ // Label 5126: @223241
79115 /* 223241 */ GIM_Reject,
79116 /* 223242 */ // Label 5123: @223242
79117 /* 223242 */ GIM_Reject,
79118 /* 223243 */ // Label 5032: @223243
79119 /* 223243 */ GIM_Try, /*On fail goto*//*Label 5127*/ GIMT_Encode4(223402),
79120 /* 223248 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
79121 /* 223251 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
79122 /* 223254 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79123 /* 223258 */ GIM_Try, /*On fail goto*//*Label 5128*/ GIMT_Encode4(223316), // Rule ID 24335 //
79124 /* 223263 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
79125 /* 223266 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79126 /* 223270 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79127 /* 223274 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79128 /* 223277 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79129 /* 223281 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79130 /* 223285 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79131 /* 223289 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79132 /* 223291 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79133 /* 223298 */ // (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)
79134 /* 223298 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZrm),
79135 /* 223301 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79136 /* 223303 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79137 /* 223305 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79138 /* 223309 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79139 /* 223314 */ GIR_RootConstrainSelectedInstOperands,
79140 /* 223315 */ // GIR_Coverage, 24335,
79141 /* 223315 */ GIR_EraseRootFromParent_Done,
79142 /* 223316 */ // Label 5128: @223316
79143 /* 223316 */ GIM_Try, /*On fail goto*//*Label 5129*/ GIMT_Encode4(223374), // Rule ID 6377 //
79144 /* 223321 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
79145 /* 223324 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79146 /* 223328 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79147 /* 223332 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79148 /* 223336 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79149 /* 223339 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79150 /* 223343 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79151 /* 223347 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79152 /* 223349 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79153 /* 223356 */ // (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)
79154 /* 223356 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZrm),
79155 /* 223359 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79156 /* 223361 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79157 /* 223363 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79158 /* 223367 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79159 /* 223372 */ GIR_RootConstrainSelectedInstOperands,
79160 /* 223373 */ // GIR_Coverage, 6377,
79161 /* 223373 */ GIR_EraseRootFromParent_Done,
79162 /* 223374 */ // Label 5129: @223374
79163 /* 223374 */ GIM_Try, /*On fail goto*//*Label 5130*/ GIMT_Encode4(223401), // Rule ID 6373 //
79164 /* 223379 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
79165 /* 223382 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79166 /* 223386 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79167 /* 223390 */ // (strict_fmul:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VMULPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
79168 /* 223390 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSZrr),
79169 /* 223395 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79170 /* 223399 */ GIR_RootConstrainSelectedInstOperands,
79171 /* 223400 */ // GIR_Coverage, 6373,
79172 /* 223400 */ GIR_Done,
79173 /* 223401 */ // Label 5130: @223401
79174 /* 223401 */ GIM_Reject,
79175 /* 223402 */ // Label 5127: @223402
79176 /* 223402 */ GIM_Reject,
79177 /* 223403 */ // Label 5033: @223403
79178 /* 223403 */ GIM_Try, /*On fail goto*//*Label 5131*/ GIMT_Encode4(223562),
79179 /* 223408 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
79180 /* 223411 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
79181 /* 223414 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79182 /* 223418 */ GIM_Try, /*On fail goto*//*Label 5132*/ GIMT_Encode4(223476), // Rule ID 24383 //
79183 /* 223423 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
79184 /* 223426 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79185 /* 223430 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79186 /* 223434 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79187 /* 223437 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79188 /* 223441 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79189 /* 223445 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79190 /* 223449 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79191 /* 223451 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79192 /* 223458 */ // (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)
79193 /* 223458 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZrm),
79194 /* 223461 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79195 /* 223463 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79196 /* 223465 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79197 /* 223469 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79198 /* 223474 */ GIR_RootConstrainSelectedInstOperands,
79199 /* 223475 */ // GIR_Coverage, 24383,
79200 /* 223475 */ GIR_EraseRootFromParent_Done,
79201 /* 223476 */ // Label 5132: @223476
79202 /* 223476 */ GIM_Try, /*On fail goto*//*Label 5133*/ GIMT_Encode4(223534), // Rule ID 6449 //
79203 /* 223481 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
79204 /* 223484 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79205 /* 223488 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79206 /* 223492 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79207 /* 223496 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79208 /* 223499 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79209 /* 223503 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79210 /* 223507 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79211 /* 223509 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79212 /* 223516 */ // (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)
79213 /* 223516 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZrm),
79214 /* 223519 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79215 /* 223521 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79216 /* 223523 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79217 /* 223527 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79218 /* 223532 */ GIR_RootConstrainSelectedInstOperands,
79219 /* 223533 */ // GIR_Coverage, 6449,
79220 /* 223533 */ GIR_EraseRootFromParent_Done,
79221 /* 223534 */ // Label 5133: @223534
79222 /* 223534 */ GIM_Try, /*On fail goto*//*Label 5134*/ GIMT_Encode4(223561), // Rule ID 6445 //
79223 /* 223539 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
79224 /* 223542 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79225 /* 223546 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79226 /* 223550 */ // (strict_fmul:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VMULPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
79227 /* 223550 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPHZrr),
79228 /* 223555 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79229 /* 223559 */ GIR_RootConstrainSelectedInstOperands,
79230 /* 223560 */ // GIR_Coverage, 6445,
79231 /* 223560 */ GIR_Done,
79232 /* 223561 */ // Label 5134: @223561
79233 /* 223561 */ GIM_Reject,
79234 /* 223562 */ // Label 5131: @223562
79235 /* 223562 */ GIM_Reject,
79236 /* 223563 */ // Label 5034: @223563
79237 /* 223563 */ GIM_Reject,
79238 /* 223564 */ // Label 71: @223564
79239 /* 223564 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 5148*/ GIMT_Encode4(227253),
79240 /* 223575 */ /*GILLT_s16*//*Label 5135*/ GIMT_Encode4(223659),
79241 /* 223579 */ /*GILLT_s32*//*Label 5136*/ GIMT_Encode4(223757),
79242 /* 223583 */ /*GILLT_s64*//*Label 5137*/ GIMT_Encode4(224476),
79243 /* 223587 */ /*GILLT_s80*//*Label 5138*/ GIMT_Encode4(225339), GIMT_Encode4(0), GIMT_Encode4(0),
79244 /* 223599 */ /*GILLT_v2s64*//*Label 5139*/ GIMT_Encode4(225905), GIMT_Encode4(0),
79245 /* 223607 */ /*GILLT_v4s32*//*Label 5140*/ GIMT_Encode4(226135),
79246 /* 223611 */ /*GILLT_v4s64*//*Label 5141*/ GIMT_Encode4(226365), GIMT_Encode4(0),
79247 /* 223619 */ /*GILLT_v8s16*//*Label 5142*/ GIMT_Encode4(226564),
79248 /* 223623 */ /*GILLT_v8s32*//*Label 5143*/ GIMT_Encode4(226662),
79249 /* 223627 */ /*GILLT_v8s64*//*Label 5144*/ GIMT_Encode4(226861), GIMT_Encode4(0), GIMT_Encode4(0),
79250 /* 223639 */ /*GILLT_v16s16*//*Label 5145*/ GIMT_Encode4(226959),
79251 /* 223643 */ /*GILLT_v16s32*//*Label 5146*/ GIMT_Encode4(227057), GIMT_Encode4(0), GIMT_Encode4(0),
79252 /* 223655 */ /*GILLT_v32s16*//*Label 5147*/ GIMT_Encode4(227155),
79253 /* 223659 */ // Label 5135: @223659
79254 /* 223659 */ GIM_Try, /*On fail goto*//*Label 5149*/ GIMT_Encode4(223756),
79255 /* 223664 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
79256 /* 223667 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
79257 /* 223670 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
79258 /* 223674 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
79259 /* 223678 */ GIM_Try, /*On fail goto*//*Label 5150*/ GIMT_Encode4(223732), // Rule ID 6125 //
79260 /* 223683 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
79261 /* 223686 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79262 /* 223690 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79263 /* 223694 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79264 /* 223697 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79265 /* 223701 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79266 /* 223705 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79267 /* 223707 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79268 /* 223714 */ // (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)
79269 /* 223714 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSHZrm),
79270 /* 223717 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79271 /* 223719 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79272 /* 223721 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79273 /* 223725 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79274 /* 223730 */ GIR_RootConstrainSelectedInstOperands,
79275 /* 223731 */ // GIR_Coverage, 6125,
79276 /* 223731 */ GIR_EraseRootFromParent_Done,
79277 /* 223732 */ // Label 5150: @223732
79278 /* 223732 */ GIM_Try, /*On fail goto*//*Label 5151*/ GIMT_Encode4(223755), // Rule ID 6123 //
79279 /* 223737 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
79280 /* 223740 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
79281 /* 223744 */ // (strict_fdiv:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VDIVSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
79282 /* 223744 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSHZrr),
79283 /* 223749 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79284 /* 223753 */ GIR_RootConstrainSelectedInstOperands,
79285 /* 223754 */ // GIR_Coverage, 6123,
79286 /* 223754 */ GIR_Done,
79287 /* 223755 */ // Label 5151: @223755
79288 /* 223755 */ GIM_Reject,
79289 /* 223756 */ // Label 5149: @223756
79290 /* 223756 */ GIM_Reject,
79291 /* 223757 */ // Label 5136: @223757
79292 /* 223757 */ GIM_Try, /*On fail goto*//*Label 5152*/ GIMT_Encode4(224475),
79293 /* 223762 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
79294 /* 223765 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
79295 /* 223768 */ GIM_Try, /*On fail goto*//*Label 5153*/ GIMT_Encode4(223833), // Rule ID 1030 //
79296 /* 223773 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
79297 /* 223776 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
79298 /* 223780 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79299 /* 223784 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
79300 /* 223788 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
79301 /* 223795 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79302 /* 223799 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
79303 /* 223803 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79304 /* 223805 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79305 /* 223812 */ // (strict_fdiv:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (DIVR_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
79306 /* 223812 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI16m32),
79307 /* 223815 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79308 /* 223817 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79309 /* 223819 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79310 /* 223823 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79311 /* 223826 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79312 /* 223831 */ GIR_RootConstrainSelectedInstOperands,
79313 /* 223832 */ // GIR_Coverage, 1030,
79314 /* 223832 */ GIR_EraseRootFromParent_Done,
79315 /* 223833 */ // Label 5153: @223833
79316 /* 223833 */ GIM_Try, /*On fail goto*//*Label 5154*/ GIMT_Encode4(223898), // Rule ID 1032 //
79317 /* 223838 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
79318 /* 223841 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
79319 /* 223845 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79320 /* 223849 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
79321 /* 223853 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
79322 /* 223860 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79323 /* 223864 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
79324 /* 223868 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79325 /* 223870 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79326 /* 223877 */ // (strict_fdiv:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (DIVR_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
79327 /* 223877 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI32m32),
79328 /* 223880 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79329 /* 223882 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79330 /* 223884 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79331 /* 223888 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79332 /* 223891 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79333 /* 223896 */ GIR_RootConstrainSelectedInstOperands,
79334 /* 223897 */ // GIR_Coverage, 1032,
79335 /* 223897 */ GIR_EraseRootFromParent_Done,
79336 /* 223898 */ // Label 5154: @223898
79337 /* 223898 */ GIM_Try, /*On fail goto*//*Label 5155*/ GIMT_Encode4(223963), // Rule ID 1020 //
79338 /* 223903 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
79339 /* 223906 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
79340 /* 223910 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79341 /* 223914 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79342 /* 223918 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79343 /* 223921 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79344 /* 223925 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79345 /* 223929 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
79346 /* 223933 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79347 /* 223935 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79348 /* 223942 */ // (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)
79349 /* 223942 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp32m),
79350 /* 223945 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79351 /* 223947 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79352 /* 223949 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79353 /* 223953 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79354 /* 223956 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79355 /* 223961 */ GIR_RootConstrainSelectedInstOperands,
79356 /* 223962 */ // GIR_Coverage, 1020,
79357 /* 223962 */ GIR_EraseRootFromParent_Done,
79358 /* 223963 */ // Label 5155: @223963
79359 /* 223963 */ GIM_Try, /*On fail goto*//*Label 5156*/ GIMT_Encode4(224028), // Rule ID 1008 //
79360 /* 223968 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
79361 /* 223971 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
79362 /* 223975 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
79363 /* 223979 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79364 /* 223983 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
79365 /* 223987 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
79366 /* 223994 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79367 /* 223998 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79368 /* 224000 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79369 /* 224007 */ // (strict_fdiv:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (DIV_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
79370 /* 224007 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI16m32),
79371 /* 224010 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79372 /* 224012 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79373 /* 224014 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79374 /* 224018 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79375 /* 224021 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79376 /* 224026 */ GIR_RootConstrainSelectedInstOperands,
79377 /* 224027 */ // GIR_Coverage, 1008,
79378 /* 224027 */ GIR_EraseRootFromParent_Done,
79379 /* 224028 */ // Label 5156: @224028
79380 /* 224028 */ GIM_Try, /*On fail goto*//*Label 5157*/ GIMT_Encode4(224093), // Rule ID 1010 //
79381 /* 224033 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
79382 /* 224036 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
79383 /* 224040 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
79384 /* 224044 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79385 /* 224048 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
79386 /* 224052 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
79387 /* 224059 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79388 /* 224063 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79389 /* 224065 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79390 /* 224072 */ // (strict_fdiv:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (DIV_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
79391 /* 224072 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI32m32),
79392 /* 224075 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79393 /* 224077 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79394 /* 224079 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79395 /* 224083 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79396 /* 224086 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79397 /* 224091 */ GIR_RootConstrainSelectedInstOperands,
79398 /* 224092 */ // GIR_Coverage, 1010,
79399 /* 224092 */ GIR_EraseRootFromParent_Done,
79400 /* 224093 */ // Label 5157: @224093
79401 /* 224093 */ GIM_Try, /*On fail goto*//*Label 5158*/ GIMT_Encode4(224158), // Rule ID 998 //
79402 /* 224098 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
79403 /* 224101 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
79404 /* 224105 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
79405 /* 224109 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79406 /* 224113 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79407 /* 224117 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79408 /* 224120 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79409 /* 224124 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79410 /* 224128 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79411 /* 224130 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79412 /* 224137 */ // (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)
79413 /* 224137 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp32m),
79414 /* 224140 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79415 /* 224142 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79416 /* 224144 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79417 /* 224148 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79418 /* 224151 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79419 /* 224156 */ GIR_RootConstrainSelectedInstOperands,
79420 /* 224157 */ // GIR_Coverage, 998,
79421 /* 224157 */ GIR_EraseRootFromParent_Done,
79422 /* 224158 */ // Label 5158: @224158
79423 /* 224158 */ GIM_Try, /*On fail goto*//*Label 5159*/ GIMT_Encode4(224220), // Rule ID 2280 //
79424 /* 224163 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
79425 /* 224166 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79426 /* 224170 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79427 /* 224174 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79428 /* 224178 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79429 /* 224182 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79430 /* 224185 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79431 /* 224189 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79432 /* 224193 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79433 /* 224195 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79434 /* 224202 */ // (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)
79435 /* 224202 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSSrm),
79436 /* 224205 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79437 /* 224207 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79438 /* 224209 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79439 /* 224213 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79440 /* 224218 */ GIR_RootConstrainSelectedInstOperands,
79441 /* 224219 */ // GIR_Coverage, 2280,
79442 /* 224219 */ GIR_EraseRootFromParent_Done,
79443 /* 224220 */ // Label 5159: @224220
79444 /* 224220 */ GIM_Try, /*On fail goto*//*Label 5160*/ GIMT_Encode4(224282), // Rule ID 2288 //
79445 /* 224225 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
79446 /* 224228 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79447 /* 224232 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79448 /* 224236 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79449 /* 224240 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79450 /* 224244 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79451 /* 224247 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79452 /* 224251 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79453 /* 224255 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79454 /* 224257 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79455 /* 224264 */ // (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)
79456 /* 224264 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVSSrm),
79457 /* 224267 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79458 /* 224269 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79459 /* 224271 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79460 /* 224275 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79461 /* 224280 */ GIR_RootConstrainSelectedInstOperands,
79462 /* 224281 */ // GIR_Coverage, 2288,
79463 /* 224281 */ GIR_EraseRootFromParent_Done,
79464 /* 224282 */ // Label 5160: @224282
79465 /* 224282 */ GIM_Try, /*On fail goto*//*Label 5161*/ GIMT_Encode4(224344), // Rule ID 6087 //
79466 /* 224287 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
79467 /* 224290 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
79468 /* 224294 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
79469 /* 224298 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79470 /* 224302 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79471 /* 224306 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79472 /* 224309 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79473 /* 224313 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79474 /* 224317 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79475 /* 224319 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79476 /* 224326 */ // (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)
79477 /* 224326 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSSZrm),
79478 /* 224329 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79479 /* 224331 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79480 /* 224333 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79481 /* 224337 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79482 /* 224342 */ GIR_RootConstrainSelectedInstOperands,
79483 /* 224343 */ // GIR_Coverage, 6087,
79484 /* 224343 */ GIR_EraseRootFromParent_Done,
79485 /* 224344 */ // Label 5161: @224344
79486 /* 224344 */ GIM_Try, /*On fail goto*//*Label 5162*/ GIMT_Encode4(224381), // Rule ID 904 //
79487 /* 224349 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
79488 /* 224352 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
79489 /* 224356 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
79490 /* 224360 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
79491 /* 224364 */ // (strict_fdiv:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (DIV_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
79492 /* 224364 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIV_Fp32),
79493 /* 224369 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(RegState::Dead),
79494 /* 224375 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
79495 /* 224379 */ GIR_RootConstrainSelectedInstOperands,
79496 /* 224380 */ // GIR_Coverage, 904,
79497 /* 224380 */ GIR_Done,
79498 /* 224381 */ // Label 5162: @224381
79499 /* 224381 */ GIM_Try, /*On fail goto*//*Label 5163*/ GIMT_Encode4(224412), // Rule ID 2278 //
79500 /* 224386 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
79501 /* 224389 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79502 /* 224393 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79503 /* 224397 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79504 /* 224401 */ // (strict_fdiv:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VDIVSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
79505 /* 224401 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSSrr),
79506 /* 224406 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79507 /* 224410 */ GIR_RootConstrainSelectedInstOperands,
79508 /* 224411 */ // GIR_Coverage, 2278,
79509 /* 224411 */ GIR_Done,
79510 /* 224412 */ // Label 5163: @224412
79511 /* 224412 */ GIM_Try, /*On fail goto*//*Label 5164*/ GIMT_Encode4(224443), // Rule ID 2286 //
79512 /* 224417 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
79513 /* 224420 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79514 /* 224424 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79515 /* 224428 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79516 /* 224432 */ // (strict_fdiv:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (DIVSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
79517 /* 224432 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVSSrr),
79518 /* 224437 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79519 /* 224441 */ GIR_RootConstrainSelectedInstOperands,
79520 /* 224442 */ // GIR_Coverage, 2286,
79521 /* 224442 */ GIR_Done,
79522 /* 224443 */ // Label 5164: @224443
79523 /* 224443 */ GIM_Try, /*On fail goto*//*Label 5165*/ GIMT_Encode4(224474), // Rule ID 6085 //
79524 /* 224448 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
79525 /* 224451 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
79526 /* 224455 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
79527 /* 224459 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
79528 /* 224463 */ // (strict_fdiv:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VDIVSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
79529 /* 224463 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSSZrr),
79530 /* 224468 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79531 /* 224472 */ GIR_RootConstrainSelectedInstOperands,
79532 /* 224473 */ // GIR_Coverage, 6085,
79533 /* 224473 */ GIR_Done,
79534 /* 224474 */ // Label 5165: @224474
79535 /* 224474 */ GIM_Reject,
79536 /* 224475 */ // Label 5152: @224475
79537 /* 224475 */ GIM_Reject,
79538 /* 224476 */ // Label 5137: @224476
79539 /* 224476 */ GIM_Try, /*On fail goto*//*Label 5166*/ GIMT_Encode4(225338),
79540 /* 224481 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
79541 /* 224484 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
79542 /* 224487 */ GIM_Try, /*On fail goto*//*Label 5167*/ GIMT_Encode4(224552), // Rule ID 1034 //
79543 /* 224492 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
79544 /* 224495 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79545 /* 224499 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79546 /* 224503 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
79547 /* 224507 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
79548 /* 224514 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79549 /* 224518 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79550 /* 224522 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79551 /* 224524 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79552 /* 224531 */ // (strict_fdiv:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (DIVR_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
79553 /* 224531 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI16m64),
79554 /* 224534 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79555 /* 224536 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79556 /* 224538 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79557 /* 224542 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79558 /* 224545 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79559 /* 224550 */ GIR_RootConstrainSelectedInstOperands,
79560 /* 224551 */ // GIR_Coverage, 1034,
79561 /* 224551 */ GIR_EraseRootFromParent_Done,
79562 /* 224552 */ // Label 5167: @224552
79563 /* 224552 */ GIM_Try, /*On fail goto*//*Label 5168*/ GIMT_Encode4(224617), // Rule ID 1036 //
79564 /* 224557 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
79565 /* 224560 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79566 /* 224564 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79567 /* 224568 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
79568 /* 224572 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
79569 /* 224579 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79570 /* 224583 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79571 /* 224587 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79572 /* 224589 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79573 /* 224596 */ // (strict_fdiv:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (DIVR_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
79574 /* 224596 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI32m64),
79575 /* 224599 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79576 /* 224601 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79577 /* 224603 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79578 /* 224607 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79579 /* 224610 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79580 /* 224615 */ GIR_RootConstrainSelectedInstOperands,
79581 /* 224616 */ // GIR_Coverage, 1036,
79582 /* 224616 */ GIR_EraseRootFromParent_Done,
79583 /* 224617 */ // Label 5168: @224617
79584 /* 224617 */ GIM_Try, /*On fail goto*//*Label 5169*/ GIMT_Encode4(224682), // Rule ID 1022 //
79585 /* 224622 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
79586 /* 224625 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79587 /* 224629 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79588 /* 224633 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79589 /* 224637 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79590 /* 224640 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79591 /* 224644 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79592 /* 224648 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79593 /* 224652 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79594 /* 224654 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79595 /* 224661 */ // (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)
79596 /* 224661 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp64m),
79597 /* 224664 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79598 /* 224666 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79599 /* 224668 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79600 /* 224672 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79601 /* 224675 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79602 /* 224680 */ GIR_RootConstrainSelectedInstOperands,
79603 /* 224681 */ // GIR_Coverage, 1022,
79604 /* 224681 */ GIR_EraseRootFromParent_Done,
79605 /* 224682 */ // Label 5169: @224682
79606 /* 224682 */ GIM_Try, /*On fail goto*//*Label 5170*/ GIMT_Encode4(224754), // Rule ID 1024 //
79607 /* 224687 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
79608 /* 224690 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79609 /* 224694 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79610 /* 224698 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79611 /* 224702 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79612 /* 224705 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79613 /* 224709 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
79614 /* 224716 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79615 /* 224720 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79616 /* 224724 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79617 /* 224726 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79618 /* 224733 */ // (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)
79619 /* 224733 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp64m32),
79620 /* 224736 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79621 /* 224738 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79622 /* 224740 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79623 /* 224744 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79624 /* 224747 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79625 /* 224752 */ GIR_RootConstrainSelectedInstOperands,
79626 /* 224753 */ // GIR_Coverage, 1024,
79627 /* 224753 */ GIR_EraseRootFromParent_Done,
79628 /* 224754 */ // Label 5170: @224754
79629 /* 224754 */ GIM_Try, /*On fail goto*//*Label 5171*/ GIMT_Encode4(224819), // Rule ID 1012 //
79630 /* 224759 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
79631 /* 224762 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79632 /* 224766 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79633 /* 224770 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79634 /* 224774 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
79635 /* 224778 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
79636 /* 224785 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79637 /* 224789 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79638 /* 224791 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79639 /* 224798 */ // (strict_fdiv:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (DIV_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
79640 /* 224798 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI16m64),
79641 /* 224801 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79642 /* 224803 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79643 /* 224805 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79644 /* 224809 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79645 /* 224812 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79646 /* 224817 */ GIR_RootConstrainSelectedInstOperands,
79647 /* 224818 */ // GIR_Coverage, 1012,
79648 /* 224818 */ GIR_EraseRootFromParent_Done,
79649 /* 224819 */ // Label 5171: @224819
79650 /* 224819 */ GIM_Try, /*On fail goto*//*Label 5172*/ GIMT_Encode4(224884), // Rule ID 1014 //
79651 /* 224824 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
79652 /* 224827 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79653 /* 224831 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79654 /* 224835 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79655 /* 224839 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
79656 /* 224843 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
79657 /* 224850 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79658 /* 224854 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79659 /* 224856 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79660 /* 224863 */ // (strict_fdiv:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (DIV_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
79661 /* 224863 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI32m64),
79662 /* 224866 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79663 /* 224868 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79664 /* 224870 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79665 /* 224874 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79666 /* 224877 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79667 /* 224882 */ GIR_RootConstrainSelectedInstOperands,
79668 /* 224883 */ // GIR_Coverage, 1014,
79669 /* 224883 */ GIR_EraseRootFromParent_Done,
79670 /* 224884 */ // Label 5172: @224884
79671 /* 224884 */ GIM_Try, /*On fail goto*//*Label 5173*/ GIMT_Encode4(224949), // Rule ID 1000 //
79672 /* 224889 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
79673 /* 224892 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79674 /* 224896 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79675 /* 224900 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79676 /* 224904 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79677 /* 224908 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79678 /* 224911 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79679 /* 224915 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79680 /* 224919 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79681 /* 224921 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79682 /* 224928 */ // (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)
79683 /* 224928 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp64m),
79684 /* 224931 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79685 /* 224933 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79686 /* 224935 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79687 /* 224939 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79688 /* 224942 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79689 /* 224947 */ GIR_RootConstrainSelectedInstOperands,
79690 /* 224948 */ // GIR_Coverage, 1000,
79691 /* 224948 */ GIR_EraseRootFromParent_Done,
79692 /* 224949 */ // Label 5173: @224949
79693 /* 224949 */ GIM_Try, /*On fail goto*//*Label 5174*/ GIMT_Encode4(225021), // Rule ID 1002 //
79694 /* 224954 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
79695 /* 224957 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79696 /* 224961 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79697 /* 224965 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79698 /* 224969 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79699 /* 224973 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79700 /* 224976 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79701 /* 224980 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
79702 /* 224987 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79703 /* 224991 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79704 /* 224993 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79705 /* 225000 */ // (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)
79706 /* 225000 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp64m32),
79707 /* 225003 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79708 /* 225005 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79709 /* 225007 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79710 /* 225011 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79711 /* 225014 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79712 /* 225019 */ GIR_RootConstrainSelectedInstOperands,
79713 /* 225020 */ // GIR_Coverage, 1002,
79714 /* 225020 */ GIR_EraseRootFromParent_Done,
79715 /* 225021 */ // Label 5174: @225021
79716 /* 225021 */ GIM_Try, /*On fail goto*//*Label 5175*/ GIMT_Encode4(225083), // Rule ID 2284 //
79717 /* 225026 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
79718 /* 225029 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79719 /* 225033 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79720 /* 225037 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79721 /* 225041 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79722 /* 225045 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79723 /* 225048 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79724 /* 225052 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79725 /* 225056 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79726 /* 225058 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79727 /* 225065 */ // (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)
79728 /* 225065 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSDrm),
79729 /* 225068 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79730 /* 225070 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79731 /* 225072 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79732 /* 225076 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79733 /* 225081 */ GIR_RootConstrainSelectedInstOperands,
79734 /* 225082 */ // GIR_Coverage, 2284,
79735 /* 225082 */ GIR_EraseRootFromParent_Done,
79736 /* 225083 */ // Label 5175: @225083
79737 /* 225083 */ GIM_Try, /*On fail goto*//*Label 5176*/ GIMT_Encode4(225145), // Rule ID 2292 //
79738 /* 225088 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
79739 /* 225091 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79740 /* 225095 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79741 /* 225099 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79742 /* 225103 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79743 /* 225107 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79744 /* 225110 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79745 /* 225114 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79746 /* 225118 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79747 /* 225120 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79748 /* 225127 */ // (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)
79749 /* 225127 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVSDrm),
79750 /* 225130 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79751 /* 225132 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79752 /* 225134 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79753 /* 225138 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79754 /* 225143 */ GIR_RootConstrainSelectedInstOperands,
79755 /* 225144 */ // GIR_Coverage, 2292,
79756 /* 225144 */ GIR_EraseRootFromParent_Done,
79757 /* 225145 */ // Label 5176: @225145
79758 /* 225145 */ GIM_Try, /*On fail goto*//*Label 5177*/ GIMT_Encode4(225207), // Rule ID 6106 //
79759 /* 225150 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
79760 /* 225153 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79761 /* 225157 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79762 /* 225161 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79763 /* 225165 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79764 /* 225169 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79765 /* 225172 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79766 /* 225176 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79767 /* 225180 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79768 /* 225182 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79769 /* 225189 */ // (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)
79770 /* 225189 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSDZrm),
79771 /* 225192 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79772 /* 225194 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79773 /* 225196 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79774 /* 225200 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79775 /* 225205 */ GIR_RootConstrainSelectedInstOperands,
79776 /* 225206 */ // GIR_Coverage, 6106,
79777 /* 225206 */ GIR_EraseRootFromParent_Done,
79778 /* 225207 */ // Label 5177: @225207
79779 /* 225207 */ GIM_Try, /*On fail goto*//*Label 5178*/ GIMT_Encode4(225244), // Rule ID 906 //
79780 /* 225212 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
79781 /* 225215 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79782 /* 225219 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79783 /* 225223 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79784 /* 225227 */ // (strict_fdiv:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (DIV_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
79785 /* 225227 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIV_Fp64),
79786 /* 225232 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(RegState::Dead),
79787 /* 225238 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
79788 /* 225242 */ GIR_RootConstrainSelectedInstOperands,
79789 /* 225243 */ // GIR_Coverage, 906,
79790 /* 225243 */ GIR_Done,
79791 /* 225244 */ // Label 5178: @225244
79792 /* 225244 */ GIM_Try, /*On fail goto*//*Label 5179*/ GIMT_Encode4(225275), // Rule ID 2282 //
79793 /* 225249 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
79794 /* 225252 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79795 /* 225256 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79796 /* 225260 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79797 /* 225264 */ // (strict_fdiv:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VDIVSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
79798 /* 225264 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSDrr),
79799 /* 225269 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79800 /* 225273 */ GIR_RootConstrainSelectedInstOperands,
79801 /* 225274 */ // GIR_Coverage, 2282,
79802 /* 225274 */ GIR_Done,
79803 /* 225275 */ // Label 5179: @225275
79804 /* 225275 */ GIM_Try, /*On fail goto*//*Label 5180*/ GIMT_Encode4(225306), // Rule ID 2290 //
79805 /* 225280 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
79806 /* 225283 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79807 /* 225287 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79808 /* 225291 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79809 /* 225295 */ // (strict_fdiv:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (DIVSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
79810 /* 225295 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVSDrr),
79811 /* 225300 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79812 /* 225304 */ GIR_RootConstrainSelectedInstOperands,
79813 /* 225305 */ // GIR_Coverage, 2290,
79814 /* 225305 */ GIR_Done,
79815 /* 225306 */ // Label 5180: @225306
79816 /* 225306 */ GIM_Try, /*On fail goto*//*Label 5181*/ GIMT_Encode4(225337), // Rule ID 6104 //
79817 /* 225311 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
79818 /* 225314 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79819 /* 225318 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79820 /* 225322 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79821 /* 225326 */ // (strict_fdiv:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VDIVSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
79822 /* 225326 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSDZrr),
79823 /* 225331 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79824 /* 225335 */ GIR_RootConstrainSelectedInstOperands,
79825 /* 225336 */ // GIR_Coverage, 6104,
79826 /* 225336 */ GIR_Done,
79827 /* 225337 */ // Label 5181: @225337
79828 /* 225337 */ GIM_Reject,
79829 /* 225338 */ // Label 5166: @225338
79830 /* 225338 */ GIM_Reject,
79831 /* 225339 */ // Label 5138: @225339
79832 /* 225339 */ GIM_Try, /*On fail goto*//*Label 5182*/ GIMT_Encode4(225904),
79833 /* 225344 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
79834 /* 225347 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
79835 /* 225350 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79836 /* 225354 */ GIM_Try, /*On fail goto*//*Label 5183*/ GIMT_Encode4(225415), // Rule ID 1038 //
79837 /* 225359 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
79838 /* 225362 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79839 /* 225366 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
79840 /* 225370 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
79841 /* 225377 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79842 /* 225381 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79843 /* 225385 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79844 /* 225387 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79845 /* 225394 */ // (strict_fdiv:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (DIVR_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
79846 /* 225394 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI16m80),
79847 /* 225397 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79848 /* 225399 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79849 /* 225401 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79850 /* 225405 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79851 /* 225408 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79852 /* 225413 */ GIR_RootConstrainSelectedInstOperands,
79853 /* 225414 */ // GIR_Coverage, 1038,
79854 /* 225414 */ GIR_EraseRootFromParent_Done,
79855 /* 225415 */ // Label 5183: @225415
79856 /* 225415 */ GIM_Try, /*On fail goto*//*Label 5184*/ GIMT_Encode4(225476), // Rule ID 1040 //
79857 /* 225420 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
79858 /* 225423 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79859 /* 225427 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
79860 /* 225431 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
79861 /* 225438 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79862 /* 225442 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79863 /* 225446 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79864 /* 225448 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79865 /* 225455 */ // (strict_fdiv:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (DIVR_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
79866 /* 225455 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI32m80),
79867 /* 225458 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79868 /* 225460 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79869 /* 225462 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79870 /* 225466 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79871 /* 225469 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79872 /* 225474 */ GIR_RootConstrainSelectedInstOperands,
79873 /* 225475 */ // GIR_Coverage, 1040,
79874 /* 225475 */ GIR_EraseRootFromParent_Done,
79875 /* 225476 */ // Label 5184: @225476
79876 /* 225476 */ GIM_Try, /*On fail goto*//*Label 5185*/ GIMT_Encode4(225544), // Rule ID 1026 //
79877 /* 225481 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
79878 /* 225484 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79879 /* 225488 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79880 /* 225492 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79881 /* 225495 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79882 /* 225499 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
79883 /* 225506 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79884 /* 225510 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79885 /* 225514 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79886 /* 225516 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79887 /* 225523 */ // (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)
79888 /* 225523 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp80m32),
79889 /* 225526 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79890 /* 225528 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79891 /* 225530 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79892 /* 225534 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79893 /* 225537 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79894 /* 225542 */ GIR_RootConstrainSelectedInstOperands,
79895 /* 225543 */ // GIR_Coverage, 1026,
79896 /* 225543 */ GIR_EraseRootFromParent_Done,
79897 /* 225544 */ // Label 5185: @225544
79898 /* 225544 */ GIM_Try, /*On fail goto*//*Label 5186*/ GIMT_Encode4(225612), // Rule ID 1028 //
79899 /* 225549 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
79900 /* 225552 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79901 /* 225556 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79902 /* 225560 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79903 /* 225563 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79904 /* 225567 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
79905 /* 225574 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79906 /* 225578 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79907 /* 225582 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79908 /* 225584 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79909 /* 225591 */ // (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)
79910 /* 225591 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp80m64),
79911 /* 225594 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79912 /* 225596 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79913 /* 225598 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79914 /* 225602 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79915 /* 225605 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79916 /* 225610 */ GIR_RootConstrainSelectedInstOperands,
79917 /* 225611 */ // GIR_Coverage, 1028,
79918 /* 225611 */ GIR_EraseRootFromParent_Done,
79919 /* 225612 */ // Label 5186: @225612
79920 /* 225612 */ GIM_Try, /*On fail goto*//*Label 5187*/ GIMT_Encode4(225673), // Rule ID 1016 //
79921 /* 225617 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
79922 /* 225620 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79923 /* 225624 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79924 /* 225628 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
79925 /* 225632 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
79926 /* 225639 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79927 /* 225643 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79928 /* 225645 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79929 /* 225652 */ // (strict_fdiv:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (DIV_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
79930 /* 225652 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI16m80),
79931 /* 225655 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79932 /* 225657 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79933 /* 225659 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79934 /* 225663 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79935 /* 225666 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79936 /* 225671 */ GIR_RootConstrainSelectedInstOperands,
79937 /* 225672 */ // GIR_Coverage, 1016,
79938 /* 225672 */ GIR_EraseRootFromParent_Done,
79939 /* 225673 */ // Label 5187: @225673
79940 /* 225673 */ GIM_Try, /*On fail goto*//*Label 5188*/ GIMT_Encode4(225734), // Rule ID 1018 //
79941 /* 225678 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
79942 /* 225681 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79943 /* 225685 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79944 /* 225689 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
79945 /* 225693 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
79946 /* 225700 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79947 /* 225704 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79948 /* 225706 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79949 /* 225713 */ // (strict_fdiv:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (DIV_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
79950 /* 225713 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI32m80),
79951 /* 225716 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79952 /* 225718 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79953 /* 225720 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79954 /* 225724 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79955 /* 225727 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79956 /* 225732 */ GIR_RootConstrainSelectedInstOperands,
79957 /* 225733 */ // GIR_Coverage, 1018,
79958 /* 225733 */ GIR_EraseRootFromParent_Done,
79959 /* 225734 */ // Label 5188: @225734
79960 /* 225734 */ GIM_Try, /*On fail goto*//*Label 5189*/ GIMT_Encode4(225802), // Rule ID 1004 //
79961 /* 225739 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
79962 /* 225742 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79963 /* 225746 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79964 /* 225750 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79965 /* 225754 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79966 /* 225757 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79967 /* 225761 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
79968 /* 225768 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79969 /* 225772 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79970 /* 225774 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79971 /* 225781 */ // (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)
79972 /* 225781 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp80m32),
79973 /* 225784 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79974 /* 225786 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79975 /* 225788 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79976 /* 225792 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79977 /* 225795 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79978 /* 225800 */ GIR_RootConstrainSelectedInstOperands,
79979 /* 225801 */ // GIR_Coverage, 1004,
79980 /* 225801 */ GIR_EraseRootFromParent_Done,
79981 /* 225802 */ // Label 5189: @225802
79982 /* 225802 */ GIM_Try, /*On fail goto*//*Label 5190*/ GIMT_Encode4(225870), // Rule ID 1006 //
79983 /* 225807 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
79984 /* 225810 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79985 /* 225814 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79986 /* 225818 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79987 /* 225822 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79988 /* 225825 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79989 /* 225829 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
79990 /* 225836 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79991 /* 225840 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79992 /* 225842 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79993 /* 225849 */ // (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)
79994 /* 225849 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp80m64),
79995 /* 225852 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79996 /* 225854 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79997 /* 225856 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79998 /* 225860 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79999 /* 225863 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80000 /* 225868 */ GIR_RootConstrainSelectedInstOperands,
80001 /* 225869 */ // GIR_Coverage, 1006,
80002 /* 225869 */ GIR_EraseRootFromParent_Done,
80003 /* 225870 */ // Label 5190: @225870
80004 /* 225870 */ GIM_Try, /*On fail goto*//*Label 5191*/ GIMT_Encode4(225903), // Rule ID 908 //
80005 /* 225875 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
80006 /* 225878 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
80007 /* 225882 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
80008 /* 225886 */ // (strict_fdiv:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (DIV_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
80009 /* 225886 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIV_Fp80),
80010 /* 225891 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(RegState::Dead),
80011 /* 225897 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
80012 /* 225901 */ GIR_RootConstrainSelectedInstOperands,
80013 /* 225902 */ // GIR_Coverage, 908,
80014 /* 225902 */ GIR_Done,
80015 /* 225903 */ // Label 5191: @225903
80016 /* 225903 */ GIM_Reject,
80017 /* 225904 */ // Label 5182: @225904
80018 /* 225904 */ GIM_Reject,
80019 /* 225905 */ // Label 5139: @225905
80020 /* 225905 */ GIM_Try, /*On fail goto*//*Label 5192*/ GIMT_Encode4(226134),
80021 /* 225910 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
80022 /* 225913 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
80023 /* 225916 */ GIM_Try, /*On fail goto*//*Label 5193*/ GIMT_Encode4(225978), // Rule ID 2260 //
80024 /* 225921 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
80025 /* 225924 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80026 /* 225928 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80027 /* 225932 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80028 /* 225936 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80029 /* 225940 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80030 /* 225943 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80031 /* 225947 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80032 /* 225951 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80033 /* 225953 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80034 /* 225960 */ // (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)
80035 /* 225960 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDrm),
80036 /* 225963 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80037 /* 225965 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80038 /* 225967 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80039 /* 225971 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80040 /* 225976 */ GIR_RootConstrainSelectedInstOperands,
80041 /* 225977 */ // GIR_Coverage, 2260,
80042 /* 225977 */ GIR_EraseRootFromParent_Done,
80043 /* 225978 */ // Label 5193: @225978
80044 /* 225978 */ GIM_Try, /*On fail goto*//*Label 5194*/ GIMT_Encode4(226040), // Rule ID 6659 //
80045 /* 225983 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
80046 /* 225986 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80047 /* 225990 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80048 /* 225994 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80049 /* 225998 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80050 /* 226002 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80051 /* 226005 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80052 /* 226009 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80053 /* 226013 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80054 /* 226015 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80055 /* 226022 */ // (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)
80056 /* 226022 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ128rm),
80057 /* 226025 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80058 /* 226027 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80059 /* 226029 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80060 /* 226033 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80061 /* 226038 */ GIR_RootConstrainSelectedInstOperands,
80062 /* 226039 */ // GIR_Coverage, 6659,
80063 /* 226039 */ GIR_EraseRootFromParent_Done,
80064 /* 226040 */ // Label 5194: @226040
80065 /* 226040 */ GIM_Try, /*On fail goto*//*Label 5195*/ GIMT_Encode4(226071), // Rule ID 2258 //
80066 /* 226045 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
80067 /* 226048 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80068 /* 226052 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80069 /* 226056 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80070 /* 226060 */ // (strict_fdiv:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VDIVPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
80071 /* 226060 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDrr),
80072 /* 226065 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80073 /* 226069 */ GIR_RootConstrainSelectedInstOperands,
80074 /* 226070 */ // GIR_Coverage, 2258,
80075 /* 226070 */ GIR_Done,
80076 /* 226071 */ // Label 5195: @226071
80077 /* 226071 */ GIM_Try, /*On fail goto*//*Label 5196*/ GIMT_Encode4(226102), // Rule ID 2274 //
80078 /* 226076 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
80079 /* 226079 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80080 /* 226083 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80081 /* 226087 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80082 /* 226091 */ // (strict_fdiv:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (DIVPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
80083 /* 226091 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVPDrr),
80084 /* 226096 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80085 /* 226100 */ GIR_RootConstrainSelectedInstOperands,
80086 /* 226101 */ // GIR_Coverage, 2274,
80087 /* 226101 */ GIR_Done,
80088 /* 226102 */ // Label 5196: @226102
80089 /* 226102 */ GIM_Try, /*On fail goto*//*Label 5197*/ GIMT_Encode4(226133), // Rule ID 6655 //
80090 /* 226107 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
80091 /* 226110 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80092 /* 226114 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80093 /* 226118 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80094 /* 226122 */ // (strict_fdiv:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VDIVPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
80095 /* 226122 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ128rr),
80096 /* 226127 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80097 /* 226131 */ GIR_RootConstrainSelectedInstOperands,
80098 /* 226132 */ // GIR_Coverage, 6655,
80099 /* 226132 */ GIR_Done,
80100 /* 226133 */ // Label 5197: @226133
80101 /* 226133 */ GIM_Reject,
80102 /* 226134 */ // Label 5192: @226134
80103 /* 226134 */ GIM_Reject,
80104 /* 226135 */ // Label 5140: @226135
80105 /* 226135 */ GIM_Try, /*On fail goto*//*Label 5198*/ GIMT_Encode4(226364),
80106 /* 226140 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
80107 /* 226143 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
80108 /* 226146 */ GIM_Try, /*On fail goto*//*Label 5199*/ GIMT_Encode4(226208), // Rule ID 2256 //
80109 /* 226151 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
80110 /* 226154 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80111 /* 226158 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80112 /* 226162 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80113 /* 226166 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80114 /* 226170 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80115 /* 226173 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80116 /* 226177 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80117 /* 226181 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80118 /* 226183 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80119 /* 226190 */ // (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)
80120 /* 226190 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSrm),
80121 /* 226193 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80122 /* 226195 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80123 /* 226197 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80124 /* 226201 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80125 /* 226206 */ GIR_RootConstrainSelectedInstOperands,
80126 /* 226207 */ // GIR_Coverage, 2256,
80127 /* 226207 */ GIR_EraseRootFromParent_Done,
80128 /* 226208 */ // Label 5199: @226208
80129 /* 226208 */ GIM_Try, /*On fail goto*//*Label 5200*/ GIMT_Encode4(226270), // Rule ID 6635 //
80130 /* 226213 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
80131 /* 226216 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80132 /* 226220 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80133 /* 226224 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80134 /* 226228 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80135 /* 226232 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80136 /* 226235 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80137 /* 226239 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80138 /* 226243 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80139 /* 226245 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80140 /* 226252 */ // (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)
80141 /* 226252 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ128rm),
80142 /* 226255 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80143 /* 226257 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80144 /* 226259 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80145 /* 226263 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80146 /* 226268 */ GIR_RootConstrainSelectedInstOperands,
80147 /* 226269 */ // GIR_Coverage, 6635,
80148 /* 226269 */ GIR_EraseRootFromParent_Done,
80149 /* 226270 */ // Label 5200: @226270
80150 /* 226270 */ GIM_Try, /*On fail goto*//*Label 5201*/ GIMT_Encode4(226301), // Rule ID 2254 //
80151 /* 226275 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
80152 /* 226278 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80153 /* 226282 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80154 /* 226286 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80155 /* 226290 */ // (strict_fdiv:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VDIVPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
80156 /* 226290 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSrr),
80157 /* 226295 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80158 /* 226299 */ GIR_RootConstrainSelectedInstOperands,
80159 /* 226300 */ // GIR_Coverage, 2254,
80160 /* 226300 */ GIR_Done,
80161 /* 226301 */ // Label 5201: @226301
80162 /* 226301 */ GIM_Try, /*On fail goto*//*Label 5202*/ GIMT_Encode4(226332), // Rule ID 2270 //
80163 /* 226306 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
80164 /* 226309 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80165 /* 226313 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80166 /* 226317 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80167 /* 226321 */ // (strict_fdiv:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (DIVPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
80168 /* 226321 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVPSrr),
80169 /* 226326 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80170 /* 226330 */ GIR_RootConstrainSelectedInstOperands,
80171 /* 226331 */ // GIR_Coverage, 2270,
80172 /* 226331 */ GIR_Done,
80173 /* 226332 */ // Label 5202: @226332
80174 /* 226332 */ GIM_Try, /*On fail goto*//*Label 5203*/ GIMT_Encode4(226363), // Rule ID 6631 //
80175 /* 226337 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
80176 /* 226340 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80177 /* 226344 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80178 /* 226348 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80179 /* 226352 */ // (strict_fdiv:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VDIVPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
80180 /* 226352 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ128rr),
80181 /* 226357 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80182 /* 226361 */ GIR_RootConstrainSelectedInstOperands,
80183 /* 226362 */ // GIR_Coverage, 6631,
80184 /* 226362 */ GIR_Done,
80185 /* 226363 */ // Label 5203: @226363
80186 /* 226363 */ GIM_Reject,
80187 /* 226364 */ // Label 5198: @226364
80188 /* 226364 */ GIM_Reject,
80189 /* 226365 */ // Label 5141: @226365
80190 /* 226365 */ GIM_Try, /*On fail goto*//*Label 5204*/ GIMT_Encode4(226563),
80191 /* 226370 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
80192 /* 226373 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
80193 /* 226376 */ GIM_Try, /*On fail goto*//*Label 5205*/ GIMT_Encode4(226438), // Rule ID 2268 //
80194 /* 226381 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
80195 /* 226384 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80196 /* 226388 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80197 /* 226392 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80198 /* 226396 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80199 /* 226400 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80200 /* 226403 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80201 /* 226407 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80202 /* 226411 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80203 /* 226413 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80204 /* 226420 */ // (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)
80205 /* 226420 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDYrm),
80206 /* 226423 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80207 /* 226425 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80208 /* 226427 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80209 /* 226431 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80210 /* 226436 */ GIR_RootConstrainSelectedInstOperands,
80211 /* 226437 */ // GIR_Coverage, 2268,
80212 /* 226437 */ GIR_EraseRootFromParent_Done,
80213 /* 226438 */ // Label 5205: @226438
80214 /* 226438 */ GIM_Try, /*On fail goto*//*Label 5206*/ GIMT_Encode4(226500), // Rule ID 6671 //
80215 /* 226443 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
80216 /* 226446 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80217 /* 226450 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80218 /* 226454 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80219 /* 226458 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80220 /* 226462 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80221 /* 226465 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80222 /* 226469 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80223 /* 226473 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80224 /* 226475 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80225 /* 226482 */ // (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)
80226 /* 226482 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ256rm),
80227 /* 226485 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80228 /* 226487 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80229 /* 226489 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80230 /* 226493 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80231 /* 226498 */ GIR_RootConstrainSelectedInstOperands,
80232 /* 226499 */ // GIR_Coverage, 6671,
80233 /* 226499 */ GIR_EraseRootFromParent_Done,
80234 /* 226500 */ // Label 5206: @226500
80235 /* 226500 */ GIM_Try, /*On fail goto*//*Label 5207*/ GIMT_Encode4(226531), // Rule ID 2266 //
80236 /* 226505 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
80237 /* 226508 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80238 /* 226512 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80239 /* 226516 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80240 /* 226520 */ // (strict_fdiv:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VDIVPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
80241 /* 226520 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDYrr),
80242 /* 226525 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80243 /* 226529 */ GIR_RootConstrainSelectedInstOperands,
80244 /* 226530 */ // GIR_Coverage, 2266,
80245 /* 226530 */ GIR_Done,
80246 /* 226531 */ // Label 5207: @226531
80247 /* 226531 */ GIM_Try, /*On fail goto*//*Label 5208*/ GIMT_Encode4(226562), // Rule ID 6667 //
80248 /* 226536 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
80249 /* 226539 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80250 /* 226543 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80251 /* 226547 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80252 /* 226551 */ // (strict_fdiv:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VDIVPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
80253 /* 226551 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ256rr),
80254 /* 226556 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80255 /* 226560 */ GIR_RootConstrainSelectedInstOperands,
80256 /* 226561 */ // GIR_Coverage, 6667,
80257 /* 226561 */ GIR_Done,
80258 /* 226562 */ // Label 5208: @226562
80259 /* 226562 */ GIM_Reject,
80260 /* 226563 */ // Label 5204: @226563
80261 /* 226563 */ GIM_Reject,
80262 /* 226564 */ // Label 5142: @226564
80263 /* 226564 */ GIM_Try, /*On fail goto*//*Label 5209*/ GIMT_Encode4(226661),
80264 /* 226569 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
80265 /* 226572 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
80266 /* 226575 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80267 /* 226579 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80268 /* 226583 */ GIM_Try, /*On fail goto*//*Label 5210*/ GIMT_Encode4(226637), // Rule ID 6695 //
80269 /* 226588 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
80270 /* 226591 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80271 /* 226595 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80272 /* 226599 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80273 /* 226602 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80274 /* 226606 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80275 /* 226610 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80276 /* 226612 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80277 /* 226619 */ // (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)
80278 /* 226619 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ128rm),
80279 /* 226622 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80280 /* 226624 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80281 /* 226626 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80282 /* 226630 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80283 /* 226635 */ GIR_RootConstrainSelectedInstOperands,
80284 /* 226636 */ // GIR_Coverage, 6695,
80285 /* 226636 */ GIR_EraseRootFromParent_Done,
80286 /* 226637 */ // Label 5210: @226637
80287 /* 226637 */ GIM_Try, /*On fail goto*//*Label 5211*/ GIMT_Encode4(226660), // Rule ID 6691 //
80288 /* 226642 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
80289 /* 226645 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80290 /* 226649 */ // (strict_fdiv:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VDIVPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
80291 /* 226649 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ128rr),
80292 /* 226654 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80293 /* 226658 */ GIR_RootConstrainSelectedInstOperands,
80294 /* 226659 */ // GIR_Coverage, 6691,
80295 /* 226659 */ GIR_Done,
80296 /* 226660 */ // Label 5211: @226660
80297 /* 226660 */ GIM_Reject,
80298 /* 226661 */ // Label 5209: @226661
80299 /* 226661 */ GIM_Reject,
80300 /* 226662 */ // Label 5143: @226662
80301 /* 226662 */ GIM_Try, /*On fail goto*//*Label 5212*/ GIMT_Encode4(226860),
80302 /* 226667 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
80303 /* 226670 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
80304 /* 226673 */ GIM_Try, /*On fail goto*//*Label 5213*/ GIMT_Encode4(226735), // Rule ID 2264 //
80305 /* 226678 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
80306 /* 226681 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80307 /* 226685 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80308 /* 226689 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80309 /* 226693 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80310 /* 226697 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80311 /* 226700 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80312 /* 226704 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80313 /* 226708 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80314 /* 226710 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80315 /* 226717 */ // (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)
80316 /* 226717 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSYrm),
80317 /* 226720 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80318 /* 226722 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80319 /* 226724 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80320 /* 226728 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80321 /* 226733 */ GIR_RootConstrainSelectedInstOperands,
80322 /* 226734 */ // GIR_Coverage, 2264,
80323 /* 226734 */ GIR_EraseRootFromParent_Done,
80324 /* 226735 */ // Label 5213: @226735
80325 /* 226735 */ GIM_Try, /*On fail goto*//*Label 5214*/ GIMT_Encode4(226797), // Rule ID 6647 //
80326 /* 226740 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
80327 /* 226743 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80328 /* 226747 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80329 /* 226751 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80330 /* 226755 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80331 /* 226759 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80332 /* 226762 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80333 /* 226766 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80334 /* 226770 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80335 /* 226772 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80336 /* 226779 */ // (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)
80337 /* 226779 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ256rm),
80338 /* 226782 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80339 /* 226784 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80340 /* 226786 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80341 /* 226790 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80342 /* 226795 */ GIR_RootConstrainSelectedInstOperands,
80343 /* 226796 */ // GIR_Coverage, 6647,
80344 /* 226796 */ GIR_EraseRootFromParent_Done,
80345 /* 226797 */ // Label 5214: @226797
80346 /* 226797 */ GIM_Try, /*On fail goto*//*Label 5215*/ GIMT_Encode4(226828), // Rule ID 2262 //
80347 /* 226802 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
80348 /* 226805 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80349 /* 226809 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80350 /* 226813 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80351 /* 226817 */ // (strict_fdiv:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VDIVPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
80352 /* 226817 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSYrr),
80353 /* 226822 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80354 /* 226826 */ GIR_RootConstrainSelectedInstOperands,
80355 /* 226827 */ // GIR_Coverage, 2262,
80356 /* 226827 */ GIR_Done,
80357 /* 226828 */ // Label 5215: @226828
80358 /* 226828 */ GIM_Try, /*On fail goto*//*Label 5216*/ GIMT_Encode4(226859), // Rule ID 6643 //
80359 /* 226833 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
80360 /* 226836 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80361 /* 226840 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80362 /* 226844 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80363 /* 226848 */ // (strict_fdiv:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VDIVPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
80364 /* 226848 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ256rr),
80365 /* 226853 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80366 /* 226857 */ GIR_RootConstrainSelectedInstOperands,
80367 /* 226858 */ // GIR_Coverage, 6643,
80368 /* 226858 */ GIR_Done,
80369 /* 226859 */ // Label 5216: @226859
80370 /* 226859 */ GIM_Reject,
80371 /* 226860 */ // Label 5212: @226860
80372 /* 226860 */ GIM_Reject,
80373 /* 226861 */ // Label 5144: @226861
80374 /* 226861 */ GIM_Try, /*On fail goto*//*Label 5217*/ GIMT_Encode4(226958),
80375 /* 226866 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
80376 /* 226869 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
80377 /* 226872 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80378 /* 226876 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80379 /* 226880 */ GIM_Try, /*On fail goto*//*Label 5218*/ GIMT_Encode4(226934), // Rule ID 6623 //
80380 /* 226885 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
80381 /* 226888 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80382 /* 226892 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80383 /* 226896 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80384 /* 226899 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80385 /* 226903 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80386 /* 226907 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80387 /* 226909 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80388 /* 226916 */ // (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)
80389 /* 226916 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDZrm),
80390 /* 226919 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80391 /* 226921 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80392 /* 226923 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80393 /* 226927 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80394 /* 226932 */ GIR_RootConstrainSelectedInstOperands,
80395 /* 226933 */ // GIR_Coverage, 6623,
80396 /* 226933 */ GIR_EraseRootFromParent_Done,
80397 /* 226934 */ // Label 5218: @226934
80398 /* 226934 */ GIM_Try, /*On fail goto*//*Label 5219*/ GIMT_Encode4(226957), // Rule ID 6619 //
80399 /* 226939 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
80400 /* 226942 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80401 /* 226946 */ // (strict_fdiv:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VDIVPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
80402 /* 226946 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDZrr),
80403 /* 226951 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80404 /* 226955 */ GIR_RootConstrainSelectedInstOperands,
80405 /* 226956 */ // GIR_Coverage, 6619,
80406 /* 226956 */ GIR_Done,
80407 /* 226957 */ // Label 5219: @226957
80408 /* 226957 */ GIM_Reject,
80409 /* 226958 */ // Label 5217: @226958
80410 /* 226958 */ GIM_Reject,
80411 /* 226959 */ // Label 5145: @226959
80412 /* 226959 */ GIM_Try, /*On fail goto*//*Label 5220*/ GIMT_Encode4(227056),
80413 /* 226964 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
80414 /* 226967 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
80415 /* 226970 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80416 /* 226974 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80417 /* 226978 */ GIM_Try, /*On fail goto*//*Label 5221*/ GIMT_Encode4(227032), // Rule ID 6707 //
80418 /* 226983 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
80419 /* 226986 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80420 /* 226990 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80421 /* 226994 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80422 /* 226997 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80423 /* 227001 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80424 /* 227005 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80425 /* 227007 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80426 /* 227014 */ // (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)
80427 /* 227014 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ256rm),
80428 /* 227017 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80429 /* 227019 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80430 /* 227021 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80431 /* 227025 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80432 /* 227030 */ GIR_RootConstrainSelectedInstOperands,
80433 /* 227031 */ // GIR_Coverage, 6707,
80434 /* 227031 */ GIR_EraseRootFromParent_Done,
80435 /* 227032 */ // Label 5221: @227032
80436 /* 227032 */ GIM_Try, /*On fail goto*//*Label 5222*/ GIMT_Encode4(227055), // Rule ID 6703 //
80437 /* 227037 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
80438 /* 227040 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80439 /* 227044 */ // (strict_fdiv:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VDIVPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
80440 /* 227044 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ256rr),
80441 /* 227049 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80442 /* 227053 */ GIR_RootConstrainSelectedInstOperands,
80443 /* 227054 */ // GIR_Coverage, 6703,
80444 /* 227054 */ GIR_Done,
80445 /* 227055 */ // Label 5222: @227055
80446 /* 227055 */ GIM_Reject,
80447 /* 227056 */ // Label 5220: @227056
80448 /* 227056 */ GIM_Reject,
80449 /* 227057 */ // Label 5146: @227057
80450 /* 227057 */ GIM_Try, /*On fail goto*//*Label 5223*/ GIMT_Encode4(227154),
80451 /* 227062 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
80452 /* 227065 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
80453 /* 227068 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80454 /* 227072 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80455 /* 227076 */ GIM_Try, /*On fail goto*//*Label 5224*/ GIMT_Encode4(227130), // Rule ID 6611 //
80456 /* 227081 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
80457 /* 227084 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80458 /* 227088 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80459 /* 227092 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80460 /* 227095 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80461 /* 227099 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80462 /* 227103 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80463 /* 227105 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80464 /* 227112 */ // (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)
80465 /* 227112 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSZrm),
80466 /* 227115 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80467 /* 227117 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80468 /* 227119 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80469 /* 227123 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80470 /* 227128 */ GIR_RootConstrainSelectedInstOperands,
80471 /* 227129 */ // GIR_Coverage, 6611,
80472 /* 227129 */ GIR_EraseRootFromParent_Done,
80473 /* 227130 */ // Label 5224: @227130
80474 /* 227130 */ GIM_Try, /*On fail goto*//*Label 5225*/ GIMT_Encode4(227153), // Rule ID 6607 //
80475 /* 227135 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
80476 /* 227138 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80477 /* 227142 */ // (strict_fdiv:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VDIVPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
80478 /* 227142 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSZrr),
80479 /* 227147 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80480 /* 227151 */ GIR_RootConstrainSelectedInstOperands,
80481 /* 227152 */ // GIR_Coverage, 6607,
80482 /* 227152 */ GIR_Done,
80483 /* 227153 */ // Label 5225: @227153
80484 /* 227153 */ GIM_Reject,
80485 /* 227154 */ // Label 5223: @227154
80486 /* 227154 */ GIM_Reject,
80487 /* 227155 */ // Label 5147: @227155
80488 /* 227155 */ GIM_Try, /*On fail goto*//*Label 5226*/ GIMT_Encode4(227252),
80489 /* 227160 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
80490 /* 227163 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
80491 /* 227166 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80492 /* 227170 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80493 /* 227174 */ GIM_Try, /*On fail goto*//*Label 5227*/ GIMT_Encode4(227228), // Rule ID 6683 //
80494 /* 227179 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
80495 /* 227182 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80496 /* 227186 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80497 /* 227190 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80498 /* 227193 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80499 /* 227197 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80500 /* 227201 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80501 /* 227203 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80502 /* 227210 */ // (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)
80503 /* 227210 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPHZrm),
80504 /* 227213 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80505 /* 227215 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80506 /* 227217 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80507 /* 227221 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80508 /* 227226 */ GIR_RootConstrainSelectedInstOperands,
80509 /* 227227 */ // GIR_Coverage, 6683,
80510 /* 227227 */ GIR_EraseRootFromParent_Done,
80511 /* 227228 */ // Label 5227: @227228
80512 /* 227228 */ GIM_Try, /*On fail goto*//*Label 5228*/ GIMT_Encode4(227251), // Rule ID 6679 //
80513 /* 227233 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
80514 /* 227236 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80515 /* 227240 */ // (strict_fdiv:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VDIVPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
80516 /* 227240 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPHZrr),
80517 /* 227245 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80518 /* 227249 */ GIR_RootConstrainSelectedInstOperands,
80519 /* 227250 */ // GIR_Coverage, 6679,
80520 /* 227250 */ GIR_Done,
80521 /* 227251 */ // Label 5228: @227251
80522 /* 227251 */ GIM_Reject,
80523 /* 227252 */ // Label 5226: @227252
80524 /* 227252 */ GIM_Reject,
80525 /* 227253 */ // Label 5148: @227253
80526 /* 227253 */ GIM_Reject,
80527 /* 227254 */ // Label 72: @227254
80528 /* 227254 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 5241*/ GIMT_Encode4(233241),
80529 /* 227265 */ /*GILLT_s16*//*Label 5229*/ GIMT_Encode4(227349),
80530 /* 227269 */ /*GILLT_s32*//*Label 5230*/ GIMT_Encode4(227594),
80531 /* 227273 */ /*GILLT_s64*//*Label 5231*/ GIMT_Encode4(228331), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
80532 /* 227289 */ /*GILLT_v2s64*//*Label 5232*/ GIMT_Encode4(229068), GIMT_Encode4(0),
80533 /* 227297 */ /*GILLT_v4s32*//*Label 5233*/ GIMT_Encode4(229805),
80534 /* 227301 */ /*GILLT_v4s64*//*Label 5234*/ GIMT_Encode4(230542), GIMT_Encode4(0),
80535 /* 227309 */ /*GILLT_v8s16*//*Label 5235*/ GIMT_Encode4(231279),
80536 /* 227313 */ /*GILLT_v8s32*//*Label 5236*/ GIMT_Encode4(231524),
80537 /* 227317 */ /*GILLT_v8s64*//*Label 5237*/ GIMT_Encode4(232261), GIMT_Encode4(0), GIMT_Encode4(0),
80538 /* 227329 */ /*GILLT_v16s16*//*Label 5238*/ GIMT_Encode4(232506),
80539 /* 227333 */ /*GILLT_v16s32*//*Label 5239*/ GIMT_Encode4(232751), GIMT_Encode4(0), GIMT_Encode4(0),
80540 /* 227345 */ /*GILLT_v32s16*//*Label 5240*/ GIMT_Encode4(232996),
80541 /* 227349 */ // Label 5229: @227349
80542 /* 227349 */ GIM_Try, /*On fail goto*//*Label 5242*/ GIMT_Encode4(227593),
80543 /* 227354 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
80544 /* 227357 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
80545 /* 227360 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s16,
80546 /* 227363 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
80547 /* 227367 */ GIM_Try, /*On fail goto*//*Label 5243*/ GIMT_Encode4(227431), // Rule ID 10157 //
80548 /* 227372 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
80549 /* 227375 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80550 /* 227379 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80551 /* 227383 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80552 /* 227386 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80553 /* 227390 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80554 /* 227394 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
80555 /* 227398 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
80556 /* 227402 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80557 /* 227404 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80558 /* 227411 */ // (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)
80559 /* 227411 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SHZm),
80560 /* 227414 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80561 /* 227416 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80562 /* 227418 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
80563 /* 227420 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80564 /* 227424 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80565 /* 227429 */ GIR_RootConstrainSelectedInstOperands,
80566 /* 227430 */ // GIR_Coverage, 10157,
80567 /* 227430 */ GIR_EraseRootFromParent_Done,
80568 /* 227431 */ // Label 5243: @227431
80569 /* 227431 */ GIM_Try, /*On fail goto*//*Label 5244*/ GIMT_Encode4(227495), // Rule ID 10155 //
80570 /* 227436 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
80571 /* 227439 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
80572 /* 227443 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80573 /* 227447 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80574 /* 227451 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80575 /* 227454 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80576 /* 227458 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80577 /* 227462 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
80578 /* 227466 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80579 /* 227468 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80580 /* 227475 */ // (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)
80581 /* 227475 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SHZm),
80582 /* 227478 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80583 /* 227480 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
80584 /* 227482 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80585 /* 227484 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80586 /* 227488 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80587 /* 227493 */ GIR_RootConstrainSelectedInstOperands,
80588 /* 227494 */ // GIR_Coverage, 10155,
80589 /* 227494 */ GIR_EraseRootFromParent_Done,
80590 /* 227495 */ // Label 5244: @227495
80591 /* 227495 */ GIM_Try, /*On fail goto*//*Label 5245*/ GIMT_Encode4(227559), // Rule ID 10152 //
80592 /* 227500 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
80593 /* 227503 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
80594 /* 227507 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
80595 /* 227511 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80596 /* 227515 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80597 /* 227519 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80598 /* 227522 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80599 /* 227526 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80600 /* 227530 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80601 /* 227532 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80602 /* 227539 */ // (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)
80603 /* 227539 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SHZm),
80604 /* 227542 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80605 /* 227544 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80606 /* 227546 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80607 /* 227548 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80608 /* 227552 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80609 /* 227557 */ GIR_RootConstrainSelectedInstOperands,
80610 /* 227558 */ // GIR_Coverage, 10152,
80611 /* 227558 */ GIR_EraseRootFromParent_Done,
80612 /* 227559 */ // Label 5245: @227559
80613 /* 227559 */ GIM_Try, /*On fail goto*//*Label 5246*/ GIMT_Encode4(227592), // Rule ID 10150 //
80614 /* 227564 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
80615 /* 227567 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
80616 /* 227571 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
80617 /* 227575 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
80618 /* 227579 */ // (strict_fma:{ *:[f16] } FR16X:{ *:[f16] }:$src2, FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src3) => (VFMADD213SHZr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2, FR16X:{ *:[f16] }:$src3)
80619 /* 227579 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SHZr),
80620 /* 227582 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80621 /* 227584 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80622 /* 227586 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80623 /* 227588 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80624 /* 227590 */ GIR_RootConstrainSelectedInstOperands,
80625 /* 227591 */ // GIR_Coverage, 10150,
80626 /* 227591 */ GIR_EraseRootFromParent_Done,
80627 /* 227592 */ // Label 5246: @227592
80628 /* 227592 */ GIM_Reject,
80629 /* 227593 */ // Label 5242: @227593
80630 /* 227593 */ GIM_Reject,
80631 /* 227594 */ // Label 5230: @227594
80632 /* 227594 */ GIM_Try, /*On fail goto*//*Label 5247*/ GIMT_Encode4(228330),
80633 /* 227599 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
80634 /* 227602 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
80635 /* 227605 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
80636 /* 227608 */ GIM_Try, /*On fail goto*//*Label 5248*/ GIMT_Encode4(227676), // Rule ID 1303 //
80637 /* 227613 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
80638 /* 227616 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80639 /* 227620 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80640 /* 227624 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80641 /* 227628 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80642 /* 227631 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80643 /* 227635 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80644 /* 227639 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80645 /* 227643 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80646 /* 227647 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80647 /* 227649 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80648 /* 227656 */ // (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)
80649 /* 227656 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SSm),
80650 /* 227659 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80651 /* 227661 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80652 /* 227663 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
80653 /* 227665 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80654 /* 227669 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80655 /* 227674 */ GIR_RootConstrainSelectedInstOperands,
80656 /* 227675 */ // GIR_Coverage, 1303,
80657 /* 227675 */ GIR_EraseRootFromParent_Done,
80658 /* 227676 */ // Label 5248: @227676
80659 /* 227676 */ GIM_Try, /*On fail goto*//*Label 5249*/ GIMT_Encode4(227744), // Rule ID 10139 //
80660 /* 227681 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
80661 /* 227684 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80662 /* 227688 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80663 /* 227692 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80664 /* 227696 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80665 /* 227699 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80666 /* 227703 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80667 /* 227707 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80668 /* 227711 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80669 /* 227715 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80670 /* 227717 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80671 /* 227724 */ // (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)
80672 /* 227724 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SSZm),
80673 /* 227727 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80674 /* 227729 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80675 /* 227731 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
80676 /* 227733 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80677 /* 227737 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80678 /* 227742 */ GIR_RootConstrainSelectedInstOperands,
80679 /* 227743 */ // GIR_Coverage, 10139,
80680 /* 227743 */ GIR_EraseRootFromParent_Done,
80681 /* 227744 */ // Label 5249: @227744
80682 /* 227744 */ GIM_Try, /*On fail goto*//*Label 5250*/ GIMT_Encode4(227812), // Rule ID 23280 //
80683 /* 227749 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
80684 /* 227752 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80685 /* 227756 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80686 /* 227760 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80687 /* 227764 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80688 /* 227767 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80689 /* 227771 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80690 /* 227775 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80691 /* 227779 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80692 /* 227783 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80693 /* 227785 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80694 /* 227792 */ // (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)
80695 /* 227792 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4mr),
80696 /* 227795 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80697 /* 227797 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80698 /* 227799 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80699 /* 227803 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80700 /* 227805 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80701 /* 227810 */ GIR_RootConstrainSelectedInstOperands,
80702 /* 227811 */ // GIR_Coverage, 23280,
80703 /* 227811 */ GIR_EraseRootFromParent_Done,
80704 /* 227812 */ // Label 5250: @227812
80705 /* 227812 */ GIM_Try, /*On fail goto*//*Label 5251*/ GIMT_Encode4(227880), // Rule ID 1301 //
80706 /* 227817 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
80707 /* 227820 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80708 /* 227824 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80709 /* 227828 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80710 /* 227832 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80711 /* 227836 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80712 /* 227839 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80713 /* 227843 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80714 /* 227847 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80715 /* 227851 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80716 /* 227853 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80717 /* 227860 */ // (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)
80718 /* 227860 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SSm),
80719 /* 227863 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80720 /* 227865 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
80721 /* 227867 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80722 /* 227869 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80723 /* 227873 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80724 /* 227878 */ GIR_RootConstrainSelectedInstOperands,
80725 /* 227879 */ // GIR_Coverage, 1301,
80726 /* 227879 */ GIR_EraseRootFromParent_Done,
80727 /* 227880 */ // Label 5251: @227880
80728 /* 227880 */ GIM_Try, /*On fail goto*//*Label 5252*/ GIMT_Encode4(227948), // Rule ID 1365 //
80729 /* 227885 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
80730 /* 227888 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80731 /* 227892 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80732 /* 227896 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80733 /* 227900 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80734 /* 227904 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80735 /* 227907 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80736 /* 227911 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80737 /* 227915 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80738 /* 227919 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80739 /* 227921 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80740 /* 227928 */ // (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)
80741 /* 227928 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4mr),
80742 /* 227931 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80743 /* 227933 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80744 /* 227935 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80745 /* 227939 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80746 /* 227941 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80747 /* 227946 */ GIR_RootConstrainSelectedInstOperands,
80748 /* 227947 */ // GIR_Coverage, 1365,
80749 /* 227947 */ GIR_EraseRootFromParent_Done,
80750 /* 227948 */ // Label 5252: @227948
80751 /* 227948 */ GIM_Try, /*On fail goto*//*Label 5253*/ GIMT_Encode4(228016), // Rule ID 10137 //
80752 /* 227953 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
80753 /* 227956 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80754 /* 227960 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80755 /* 227964 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80756 /* 227968 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80757 /* 227972 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80758 /* 227975 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80759 /* 227979 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80760 /* 227983 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80761 /* 227987 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80762 /* 227989 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80763 /* 227996 */ // (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)
80764 /* 227996 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SSZm),
80765 /* 227999 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80766 /* 228001 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
80767 /* 228003 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80768 /* 228005 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80769 /* 228009 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80770 /* 228014 */ GIR_RootConstrainSelectedInstOperands,
80771 /* 228015 */ // GIR_Coverage, 10137,
80772 /* 228015 */ GIR_EraseRootFromParent_Done,
80773 /* 228016 */ // Label 5253: @228016
80774 /* 228016 */ GIM_Try, /*On fail goto*//*Label 5254*/ GIMT_Encode4(228084), // Rule ID 1299 //
80775 /* 228021 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
80776 /* 228024 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80777 /* 228028 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80778 /* 228032 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80779 /* 228036 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80780 /* 228040 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80781 /* 228044 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80782 /* 228047 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80783 /* 228051 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80784 /* 228055 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80785 /* 228057 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80786 /* 228064 */ // (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)
80787 /* 228064 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSm),
80788 /* 228067 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80789 /* 228069 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80790 /* 228071 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80791 /* 228073 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80792 /* 228077 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80793 /* 228082 */ GIR_RootConstrainSelectedInstOperands,
80794 /* 228083 */ // GIR_Coverage, 1299,
80795 /* 228083 */ GIR_EraseRootFromParent_Done,
80796 /* 228084 */ // Label 5254: @228084
80797 /* 228084 */ GIM_Try, /*On fail goto*//*Label 5255*/ GIMT_Encode4(228152), // Rule ID 1363 //
80798 /* 228089 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
80799 /* 228092 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80800 /* 228096 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80801 /* 228100 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80802 /* 228104 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80803 /* 228108 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80804 /* 228112 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80805 /* 228115 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80806 /* 228119 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80807 /* 228123 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80808 /* 228125 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80809 /* 228132 */ // (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)
80810 /* 228132 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4rm),
80811 /* 228135 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80812 /* 228137 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80813 /* 228139 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
80814 /* 228141 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80815 /* 228145 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80816 /* 228150 */ GIR_RootConstrainSelectedInstOperands,
80817 /* 228151 */ // GIR_Coverage, 1363,
80818 /* 228151 */ GIR_EraseRootFromParent_Done,
80819 /* 228152 */ // Label 5255: @228152
80820 /* 228152 */ GIM_Try, /*On fail goto*//*Label 5256*/ GIMT_Encode4(228220), // Rule ID 10134 //
80821 /* 228157 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
80822 /* 228160 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80823 /* 228164 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80824 /* 228168 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80825 /* 228172 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80826 /* 228176 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80827 /* 228180 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80828 /* 228183 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80829 /* 228187 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80830 /* 228191 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80831 /* 228193 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80832 /* 228200 */ // (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)
80833 /* 228200 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSZm),
80834 /* 228203 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80835 /* 228205 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80836 /* 228207 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80837 /* 228209 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80838 /* 228213 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80839 /* 228218 */ GIR_RootConstrainSelectedInstOperands,
80840 /* 228219 */ // GIR_Coverage, 10134,
80841 /* 228219 */ GIR_EraseRootFromParent_Done,
80842 /* 228220 */ // Label 5256: @228220
80843 /* 228220 */ GIM_Try, /*On fail goto*//*Label 5257*/ GIMT_Encode4(228257), // Rule ID 1297 //
80844 /* 228225 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
80845 /* 228228 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80846 /* 228232 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80847 /* 228236 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80848 /* 228240 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80849 /* 228244 */ // (strict_fma:{ *:[f32] } FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src3) => (VFMADD213SSr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src3)
80850 /* 228244 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSr),
80851 /* 228247 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80852 /* 228249 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80853 /* 228251 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80854 /* 228253 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80855 /* 228255 */ GIR_RootConstrainSelectedInstOperands,
80856 /* 228256 */ // GIR_Coverage, 1297,
80857 /* 228256 */ GIR_EraseRootFromParent_Done,
80858 /* 228257 */ // Label 5257: @228257
80859 /* 228257 */ GIM_Try, /*On fail goto*//*Label 5258*/ GIMT_Encode4(228292), // Rule ID 1361 //
80860 /* 228262 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
80861 /* 228265 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80862 /* 228269 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80863 /* 228273 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80864 /* 228277 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80865 /* 228281 */ // (strict_fma:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src3) => (VFMADDSS4rr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src3)
80866 /* 228281 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4rr),
80867 /* 228286 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80868 /* 228290 */ GIR_RootConstrainSelectedInstOperands,
80869 /* 228291 */ // GIR_Coverage, 1361,
80870 /* 228291 */ GIR_Done,
80871 /* 228292 */ // Label 5258: @228292
80872 /* 228292 */ GIM_Try, /*On fail goto*//*Label 5259*/ GIMT_Encode4(228329), // Rule ID 10132 //
80873 /* 228297 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
80874 /* 228300 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80875 /* 228304 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80876 /* 228308 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80877 /* 228312 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80878 /* 228316 */ // (strict_fma:{ *:[f32] } FR32X:{ *:[f32] }:$src2, FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src3) => (VFMADD213SSZr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2, FR32X:{ *:[f32] }:$src3)
80879 /* 228316 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSZr),
80880 /* 228319 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80881 /* 228321 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80882 /* 228323 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80883 /* 228325 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80884 /* 228327 */ GIR_RootConstrainSelectedInstOperands,
80885 /* 228328 */ // GIR_Coverage, 10132,
80886 /* 228328 */ GIR_EraseRootFromParent_Done,
80887 /* 228329 */ // Label 5259: @228329
80888 /* 228329 */ GIM_Reject,
80889 /* 228330 */ // Label 5247: @228330
80890 /* 228330 */ GIM_Reject,
80891 /* 228331 */ // Label 5231: @228331
80892 /* 228331 */ GIM_Try, /*On fail goto*//*Label 5260*/ GIMT_Encode4(229067),
80893 /* 228336 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
80894 /* 228339 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
80895 /* 228342 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
80896 /* 228345 */ GIM_Try, /*On fail goto*//*Label 5261*/ GIMT_Encode4(228413), // Rule ID 1311 //
80897 /* 228350 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
80898 /* 228353 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80899 /* 228357 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80900 /* 228361 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80901 /* 228365 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80902 /* 228368 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80903 /* 228372 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80904 /* 228376 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80905 /* 228380 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80906 /* 228384 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80907 /* 228386 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80908 /* 228393 */ // (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)
80909 /* 228393 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SDm),
80910 /* 228396 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80911 /* 228398 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80912 /* 228400 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
80913 /* 228402 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80914 /* 228406 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80915 /* 228411 */ GIR_RootConstrainSelectedInstOperands,
80916 /* 228412 */ // GIR_Coverage, 1311,
80917 /* 228412 */ GIR_EraseRootFromParent_Done,
80918 /* 228413 */ // Label 5261: @228413
80919 /* 228413 */ GIM_Try, /*On fail goto*//*Label 5262*/ GIMT_Encode4(228481), // Rule ID 10148 //
80920 /* 228418 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
80921 /* 228421 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
80922 /* 228425 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80923 /* 228429 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80924 /* 228433 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80925 /* 228436 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80926 /* 228440 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80927 /* 228444 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
80928 /* 228448 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
80929 /* 228452 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80930 /* 228454 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80931 /* 228461 */ // (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)
80932 /* 228461 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SDZm),
80933 /* 228464 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80934 /* 228466 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80935 /* 228468 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
80936 /* 228470 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80937 /* 228474 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80938 /* 228479 */ GIR_RootConstrainSelectedInstOperands,
80939 /* 228480 */ // GIR_Coverage, 10148,
80940 /* 228480 */ GIR_EraseRootFromParent_Done,
80941 /* 228481 */ // Label 5262: @228481
80942 /* 228481 */ GIM_Try, /*On fail goto*//*Label 5263*/ GIMT_Encode4(228549), // Rule ID 23308 //
80943 /* 228486 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
80944 /* 228489 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80945 /* 228493 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80946 /* 228497 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80947 /* 228501 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80948 /* 228504 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80949 /* 228508 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80950 /* 228512 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80951 /* 228516 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80952 /* 228520 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80953 /* 228522 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80954 /* 228529 */ // (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)
80955 /* 228529 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4mr),
80956 /* 228532 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80957 /* 228534 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80958 /* 228536 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80959 /* 228540 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80960 /* 228542 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80961 /* 228547 */ GIR_RootConstrainSelectedInstOperands,
80962 /* 228548 */ // GIR_Coverage, 23308,
80963 /* 228548 */ GIR_EraseRootFromParent_Done,
80964 /* 228549 */ // Label 5263: @228549
80965 /* 228549 */ GIM_Try, /*On fail goto*//*Label 5264*/ GIMT_Encode4(228617), // Rule ID 1309 //
80966 /* 228554 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
80967 /* 228557 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80968 /* 228561 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80969 /* 228565 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80970 /* 228569 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80971 /* 228573 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80972 /* 228576 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80973 /* 228580 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80974 /* 228584 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80975 /* 228588 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80976 /* 228590 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80977 /* 228597 */ // (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)
80978 /* 228597 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SDm),
80979 /* 228600 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80980 /* 228602 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
80981 /* 228604 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80982 /* 228606 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80983 /* 228610 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80984 /* 228615 */ GIR_RootConstrainSelectedInstOperands,
80985 /* 228616 */ // GIR_Coverage, 1309,
80986 /* 228616 */ GIR_EraseRootFromParent_Done,
80987 /* 228617 */ // Label 5264: @228617
80988 /* 228617 */ GIM_Try, /*On fail goto*//*Label 5265*/ GIMT_Encode4(228685), // Rule ID 1449 //
80989 /* 228622 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
80990 /* 228625 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80991 /* 228629 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80992 /* 228633 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80993 /* 228637 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80994 /* 228641 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80995 /* 228644 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80996 /* 228648 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80997 /* 228652 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80998 /* 228656 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80999 /* 228658 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81000 /* 228665 */ // (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)
81001 /* 228665 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4mr),
81002 /* 228668 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81003 /* 228670 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
81004 /* 228672 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
81005 /* 228676 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81006 /* 228678 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81007 /* 228683 */ GIR_RootConstrainSelectedInstOperands,
81008 /* 228684 */ // GIR_Coverage, 1449,
81009 /* 228684 */ GIR_EraseRootFromParent_Done,
81010 /* 228685 */ // Label 5265: @228685
81011 /* 228685 */ GIM_Try, /*On fail goto*//*Label 5266*/ GIMT_Encode4(228753), // Rule ID 10146 //
81012 /* 228690 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
81013 /* 228693 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
81014 /* 228697 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
81015 /* 228701 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81016 /* 228705 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81017 /* 228709 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81018 /* 228712 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81019 /* 228716 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81020 /* 228720 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
81021 /* 228724 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81022 /* 228726 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81023 /* 228733 */ // (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)
81024 /* 228733 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SDZm),
81025 /* 228736 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81026 /* 228738 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
81027 /* 228740 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81028 /* 228742 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81029 /* 228746 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81030 /* 228751 */ GIR_RootConstrainSelectedInstOperands,
81031 /* 228752 */ // GIR_Coverage, 10146,
81032 /* 228752 */ GIR_EraseRootFromParent_Done,
81033 /* 228753 */ // Label 5266: @228753
81034 /* 228753 */ GIM_Try, /*On fail goto*//*Label 5267*/ GIMT_Encode4(228821), // Rule ID 1307 //
81035 /* 228758 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
81036 /* 228761 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81037 /* 228765 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81038 /* 228769 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81039 /* 228773 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81040 /* 228777 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81041 /* 228781 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81042 /* 228784 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81043 /* 228788 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81044 /* 228792 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81045 /* 228794 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81046 /* 228801 */ // (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)
81047 /* 228801 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDm),
81048 /* 228804 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81049 /* 228806 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81050 /* 228808 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81051 /* 228810 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81052 /* 228814 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81053 /* 228819 */ GIR_RootConstrainSelectedInstOperands,
81054 /* 228820 */ // GIR_Coverage, 1307,
81055 /* 228820 */ GIR_EraseRootFromParent_Done,
81056 /* 228821 */ // Label 5267: @228821
81057 /* 228821 */ GIM_Try, /*On fail goto*//*Label 5268*/ GIMT_Encode4(228889), // Rule ID 1447 //
81058 /* 228826 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
81059 /* 228829 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81060 /* 228833 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81061 /* 228837 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81062 /* 228841 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81063 /* 228845 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81064 /* 228849 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81065 /* 228852 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81066 /* 228856 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81067 /* 228860 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81068 /* 228862 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81069 /* 228869 */ // (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)
81070 /* 228869 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4rm),
81071 /* 228872 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81072 /* 228874 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
81073 /* 228876 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
81074 /* 228878 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81075 /* 228882 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81076 /* 228887 */ GIR_RootConstrainSelectedInstOperands,
81077 /* 228888 */ // GIR_Coverage, 1447,
81078 /* 228888 */ GIR_EraseRootFromParent_Done,
81079 /* 228889 */ // Label 5268: @228889
81080 /* 228889 */ GIM_Try, /*On fail goto*//*Label 5269*/ GIMT_Encode4(228957), // Rule ID 10143 //
81081 /* 228894 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
81082 /* 228897 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
81083 /* 228901 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
81084 /* 228905 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
81085 /* 228909 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81086 /* 228913 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81087 /* 228917 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81088 /* 228920 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81089 /* 228924 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81090 /* 228928 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81091 /* 228930 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81092 /* 228937 */ // (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)
81093 /* 228937 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDZm),
81094 /* 228940 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81095 /* 228942 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81096 /* 228944 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81097 /* 228946 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81098 /* 228950 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81099 /* 228955 */ GIR_RootConstrainSelectedInstOperands,
81100 /* 228956 */ // GIR_Coverage, 10143,
81101 /* 228956 */ GIR_EraseRootFromParent_Done,
81102 /* 228957 */ // Label 5269: @228957
81103 /* 228957 */ GIM_Try, /*On fail goto*//*Label 5270*/ GIMT_Encode4(228994), // Rule ID 1305 //
81104 /* 228962 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
81105 /* 228965 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81106 /* 228969 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81107 /* 228973 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81108 /* 228977 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81109 /* 228981 */ // (strict_fma:{ *:[f64] } FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src3) => (VFMADD213SDr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src3)
81110 /* 228981 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDr),
81111 /* 228984 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81112 /* 228986 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81113 /* 228988 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81114 /* 228990 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81115 /* 228992 */ GIR_RootConstrainSelectedInstOperands,
81116 /* 228993 */ // GIR_Coverage, 1305,
81117 /* 228993 */ GIR_EraseRootFromParent_Done,
81118 /* 228994 */ // Label 5270: @228994
81119 /* 228994 */ GIM_Try, /*On fail goto*//*Label 5271*/ GIMT_Encode4(229029), // Rule ID 1445 //
81120 /* 228999 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
81121 /* 229002 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81122 /* 229006 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81123 /* 229010 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81124 /* 229014 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81125 /* 229018 */ // (strict_fma:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src3) => (VFMADDSD4rr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src3)
81126 /* 229018 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4rr),
81127 /* 229023 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81128 /* 229027 */ GIR_RootConstrainSelectedInstOperands,
81129 /* 229028 */ // GIR_Coverage, 1445,
81130 /* 229028 */ GIR_Done,
81131 /* 229029 */ // Label 5271: @229029
81132 /* 229029 */ GIM_Try, /*On fail goto*//*Label 5272*/ GIMT_Encode4(229066), // Rule ID 10141 //
81133 /* 229034 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
81134 /* 229037 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
81135 /* 229041 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
81136 /* 229045 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
81137 /* 229049 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
81138 /* 229053 */ // (strict_fma:{ *:[f64] } FR64X:{ *:[f64] }:$src2, FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src3) => (VFMADD213SDZr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2, FR64X:{ *:[f64] }:$src3)
81139 /* 229053 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDZr),
81140 /* 229056 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81141 /* 229058 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81142 /* 229060 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81143 /* 229062 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81144 /* 229064 */ GIR_RootConstrainSelectedInstOperands,
81145 /* 229065 */ // GIR_Coverage, 10141,
81146 /* 229065 */ GIR_EraseRootFromParent_Done,
81147 /* 229066 */ // Label 5272: @229066
81148 /* 229066 */ GIM_Reject,
81149 /* 229067 */ // Label 5260: @229067
81150 /* 229067 */ GIM_Reject,
81151 /* 229068 */ // Label 5232: @229068
81152 /* 229068 */ GIM_Try, /*On fail goto*//*Label 5273*/ GIMT_Encode4(229804),
81153 /* 229073 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
81154 /* 229076 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
81155 /* 229079 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
81156 /* 229082 */ GIM_Try, /*On fail goto*//*Label 5274*/ GIMT_Encode4(229150), // Rule ID 1191 //
81157 /* 229087 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
81158 /* 229090 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81159 /* 229094 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81160 /* 229098 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81161 /* 229102 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81162 /* 229105 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81163 /* 229109 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81164 /* 229113 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81165 /* 229117 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81166 /* 229121 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81167 /* 229123 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81168 /* 229130 */ // (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)
81169 /* 229130 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDm),
81170 /* 229133 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81171 /* 229135 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81172 /* 229137 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
81173 /* 229139 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81174 /* 229143 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81175 /* 229148 */ GIR_RootConstrainSelectedInstOperands,
81176 /* 229149 */ // GIR_Coverage, 1191,
81177 /* 229149 */ GIR_EraseRootFromParent_Done,
81178 /* 229150 */ // Label 5274: @229150
81179 /* 229150 */ GIM_Try, /*On fail goto*//*Label 5275*/ GIMT_Encode4(229218), // Rule ID 9680 //
81180 /* 229155 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
81181 /* 229158 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81182 /* 229162 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81183 /* 229166 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81184 /* 229170 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81185 /* 229173 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81186 /* 229177 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81187 /* 229181 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81188 /* 229185 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81189 /* 229189 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81190 /* 229191 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81191 /* 229198 */ // (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)
81192 /* 229198 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDZ128m),
81193 /* 229201 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81194 /* 229203 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81195 /* 229205 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
81196 /* 229207 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81197 /* 229211 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81198 /* 229216 */ GIR_RootConstrainSelectedInstOperands,
81199 /* 229217 */ // GIR_Coverage, 9680,
81200 /* 229217 */ GIR_EraseRootFromParent_Done,
81201 /* 229218 */ // Label 5275: @229218
81202 /* 229218 */ GIM_Try, /*On fail goto*//*Label 5276*/ GIMT_Encode4(229286), // Rule ID 23316 //
81203 /* 229223 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
81204 /* 229226 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81205 /* 229230 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81206 /* 229234 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81207 /* 229238 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81208 /* 229241 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81209 /* 229245 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81210 /* 229249 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81211 /* 229253 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81212 /* 229257 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81213 /* 229259 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81214 /* 229266 */ // (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)
81215 /* 229266 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4mr),
81216 /* 229269 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81217 /* 229271 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81218 /* 229273 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
81219 /* 229277 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81220 /* 229279 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81221 /* 229284 */ GIR_RootConstrainSelectedInstOperands,
81222 /* 229285 */ // GIR_Coverage, 23316,
81223 /* 229285 */ GIR_EraseRootFromParent_Done,
81224 /* 229286 */ // Label 5276: @229286
81225 /* 229286 */ GIM_Try, /*On fail goto*//*Label 5277*/ GIMT_Encode4(229354), // Rule ID 1189 //
81226 /* 229291 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
81227 /* 229294 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81228 /* 229298 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81229 /* 229302 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81230 /* 229306 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81231 /* 229310 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81232 /* 229313 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81233 /* 229317 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81234 /* 229321 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81235 /* 229325 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81236 /* 229327 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81237 /* 229334 */ // (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)
81238 /* 229334 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDm),
81239 /* 229337 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81240 /* 229339 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
81241 /* 229341 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81242 /* 229343 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81243 /* 229347 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81244 /* 229352 */ GIR_RootConstrainSelectedInstOperands,
81245 /* 229353 */ // GIR_Coverage, 1189,
81246 /* 229353 */ GIR_EraseRootFromParent_Done,
81247 /* 229354 */ // Label 5277: @229354
81248 /* 229354 */ GIM_Try, /*On fail goto*//*Label 5278*/ GIMT_Encode4(229422), // Rule ID 1473 //
81249 /* 229359 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
81250 /* 229362 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81251 /* 229366 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81252 /* 229370 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81253 /* 229374 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81254 /* 229378 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81255 /* 229381 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81256 /* 229385 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81257 /* 229389 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81258 /* 229393 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81259 /* 229395 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81260 /* 229402 */ // (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)
81261 /* 229402 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4mr),
81262 /* 229405 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81263 /* 229407 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
81264 /* 229409 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
81265 /* 229413 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81266 /* 229415 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81267 /* 229420 */ GIR_RootConstrainSelectedInstOperands,
81268 /* 229421 */ // GIR_Coverage, 1473,
81269 /* 229421 */ GIR_EraseRootFromParent_Done,
81270 /* 229422 */ // Label 5278: @229422
81271 /* 229422 */ GIM_Try, /*On fail goto*//*Label 5279*/ GIMT_Encode4(229490), // Rule ID 9140 //
81272 /* 229427 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
81273 /* 229430 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81274 /* 229434 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81275 /* 229438 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81276 /* 229442 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81277 /* 229446 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81278 /* 229449 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81279 /* 229453 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81280 /* 229457 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81281 /* 229461 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81282 /* 229463 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81283 /* 229470 */ // (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)
81284 /* 229470 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDZ128m),
81285 /* 229473 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81286 /* 229475 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
81287 /* 229477 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81288 /* 229479 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81289 /* 229483 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81290 /* 229488 */ GIR_RootConstrainSelectedInstOperands,
81291 /* 229489 */ // GIR_Coverage, 9140,
81292 /* 229489 */ GIR_EraseRootFromParent_Done,
81293 /* 229490 */ // Label 5279: @229490
81294 /* 229490 */ GIM_Try, /*On fail goto*//*Label 5280*/ GIMT_Encode4(229558), // Rule ID 1187 //
81295 /* 229495 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
81296 /* 229498 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81297 /* 229502 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81298 /* 229506 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81299 /* 229510 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81300 /* 229514 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81301 /* 229518 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81302 /* 229521 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81303 /* 229525 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81304 /* 229529 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81305 /* 229531 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81306 /* 229538 */ // (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)
81307 /* 229538 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDm),
81308 /* 229541 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81309 /* 229543 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81310 /* 229545 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81311 /* 229547 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81312 /* 229551 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81313 /* 229556 */ GIR_RootConstrainSelectedInstOperands,
81314 /* 229557 */ // GIR_Coverage, 1187,
81315 /* 229557 */ GIR_EraseRootFromParent_Done,
81316 /* 229558 */ // Label 5280: @229558
81317 /* 229558 */ GIM_Try, /*On fail goto*//*Label 5281*/ GIMT_Encode4(229626), // Rule ID 1471 //
81318 /* 229563 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
81319 /* 229566 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81320 /* 229570 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81321 /* 229574 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81322 /* 229578 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81323 /* 229582 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81324 /* 229586 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81325 /* 229589 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81326 /* 229593 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81327 /* 229597 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81328 /* 229599 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81329 /* 229606 */ // (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)
81330 /* 229606 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4rm),
81331 /* 229609 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81332 /* 229611 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
81333 /* 229613 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
81334 /* 229615 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81335 /* 229619 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81336 /* 229624 */ GIR_RootConstrainSelectedInstOperands,
81337 /* 229625 */ // GIR_Coverage, 1471,
81338 /* 229625 */ GIR_EraseRootFromParent_Done,
81339 /* 229626 */ // Label 5281: @229626
81340 /* 229626 */ GIM_Try, /*On fail goto*//*Label 5282*/ GIMT_Encode4(229694), // Rule ID 8513 //
81341 /* 229631 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
81342 /* 229634 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81343 /* 229638 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81344 /* 229642 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81345 /* 229646 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81346 /* 229650 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81347 /* 229654 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81348 /* 229657 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81349 /* 229661 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81350 /* 229665 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81351 /* 229667 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81352 /* 229674 */ // (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)
81353 /* 229674 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ128m),
81354 /* 229677 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81355 /* 229679 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81356 /* 229681 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81357 /* 229683 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81358 /* 229687 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81359 /* 229692 */ GIR_RootConstrainSelectedInstOperands,
81360 /* 229693 */ // GIR_Coverage, 8513,
81361 /* 229693 */ GIR_EraseRootFromParent_Done,
81362 /* 229694 */ // Label 5282: @229694
81363 /* 229694 */ GIM_Try, /*On fail goto*//*Label 5283*/ GIMT_Encode4(229731), // Rule ID 1185 //
81364 /* 229699 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
81365 /* 229702 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81366 /* 229706 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81367 /* 229710 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81368 /* 229714 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81369 /* 229718 */ // (strict_fma:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src3) => (VFMADD213PDr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src3)
81370 /* 229718 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDr),
81371 /* 229721 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81372 /* 229723 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81373 /* 229725 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81374 /* 229727 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81375 /* 229729 */ GIR_RootConstrainSelectedInstOperands,
81376 /* 229730 */ // GIR_Coverage, 1185,
81377 /* 229730 */ GIR_EraseRootFromParent_Done,
81378 /* 229731 */ // Label 5283: @229731
81379 /* 229731 */ GIM_Try, /*On fail goto*//*Label 5284*/ GIMT_Encode4(229766), // Rule ID 1469 //
81380 /* 229736 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
81381 /* 229739 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81382 /* 229743 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81383 /* 229747 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81384 /* 229751 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81385 /* 229755 */ // (strict_fma:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src3) => (VFMADDPD4rr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src3)
81386 /* 229755 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4rr),
81387 /* 229760 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81388 /* 229764 */ GIR_RootConstrainSelectedInstOperands,
81389 /* 229765 */ // GIR_Coverage, 1469,
81390 /* 229765 */ GIR_Done,
81391 /* 229766 */ // Label 5284: @229766
81392 /* 229766 */ GIM_Try, /*On fail goto*//*Label 5285*/ GIMT_Encode4(229803), // Rule ID 8509 //
81393 /* 229771 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
81394 /* 229774 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81395 /* 229778 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81396 /* 229782 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81397 /* 229786 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81398 /* 229790 */ // (strict_fma:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src2, VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src3) => (VFMADD213PDZ128r:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2, VR128X:{ *:[v2f64] }:$src3)
81399 /* 229790 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ128r),
81400 /* 229793 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81401 /* 229795 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81402 /* 229797 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81403 /* 229799 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81404 /* 229801 */ GIR_RootConstrainSelectedInstOperands,
81405 /* 229802 */ // GIR_Coverage, 8509,
81406 /* 229802 */ GIR_EraseRootFromParent_Done,
81407 /* 229803 */ // Label 5285: @229803
81408 /* 229803 */ GIM_Reject,
81409 /* 229804 */ // Label 5273: @229804
81410 /* 229804 */ GIM_Reject,
81411 /* 229805 */ // Label 5233: @229805
81412 /* 229805 */ GIM_Try, /*On fail goto*//*Label 5286*/ GIMT_Encode4(230541),
81413 /* 229810 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
81414 /* 229813 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
81415 /* 229816 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
81416 /* 229819 */ GIM_Try, /*On fail goto*//*Label 5287*/ GIMT_Encode4(229887), // Rule ID 1143 //
81417 /* 229824 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
81418 /* 229827 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81419 /* 229831 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81420 /* 229835 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81421 /* 229839 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81422 /* 229842 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81423 /* 229846 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81424 /* 229850 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81425 /* 229854 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81426 /* 229858 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81427 /* 229860 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81428 /* 229867 */ // (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)
81429 /* 229867 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSm),
81430 /* 229870 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81431 /* 229872 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81432 /* 229874 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
81433 /* 229876 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81434 /* 229880 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81435 /* 229885 */ GIR_RootConstrainSelectedInstOperands,
81436 /* 229886 */ // GIR_Coverage, 1143,
81437 /* 229886 */ GIR_EraseRootFromParent_Done,
81438 /* 229887 */ // Label 5287: @229887
81439 /* 229887 */ GIM_Try, /*On fail goto*//*Label 5288*/ GIMT_Encode4(229955), // Rule ID 9648 //
81440 /* 229892 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
81441 /* 229895 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81442 /* 229899 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81443 /* 229903 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81444 /* 229907 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81445 /* 229910 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81446 /* 229914 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81447 /* 229918 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81448 /* 229922 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81449 /* 229926 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81450 /* 229928 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81451 /* 229935 */ // (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)
81452 /* 229935 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSZ128m),
81453 /* 229938 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81454 /* 229940 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81455 /* 229942 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
81456 /* 229944 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81457 /* 229948 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81458 /* 229953 */ GIR_RootConstrainSelectedInstOperands,
81459 /* 229954 */ // GIR_Coverage, 9648,
81460 /* 229954 */ GIR_EraseRootFromParent_Done,
81461 /* 229955 */ // Label 5288: @229955
81462 /* 229955 */ GIM_Try, /*On fail goto*//*Label 5289*/ GIMT_Encode4(230023), // Rule ID 23288 //
81463 /* 229960 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
81464 /* 229963 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81465 /* 229967 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81466 /* 229971 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81467 /* 229975 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81468 /* 229978 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81469 /* 229982 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81470 /* 229986 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81471 /* 229990 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81472 /* 229994 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81473 /* 229996 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81474 /* 230003 */ // (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)
81475 /* 230003 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4mr),
81476 /* 230006 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81477 /* 230008 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81478 /* 230010 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
81479 /* 230014 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81480 /* 230016 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81481 /* 230021 */ GIR_RootConstrainSelectedInstOperands,
81482 /* 230022 */ // GIR_Coverage, 23288,
81483 /* 230022 */ GIR_EraseRootFromParent_Done,
81484 /* 230023 */ // Label 5289: @230023
81485 /* 230023 */ GIM_Try, /*On fail goto*//*Label 5290*/ GIMT_Encode4(230091), // Rule ID 1141 //
81486 /* 230028 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
81487 /* 230031 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81488 /* 230035 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81489 /* 230039 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81490 /* 230043 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81491 /* 230047 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81492 /* 230050 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81493 /* 230054 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81494 /* 230058 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81495 /* 230062 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81496 /* 230064 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81497 /* 230071 */ // (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)
81498 /* 230071 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSm),
81499 /* 230074 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81500 /* 230076 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
81501 /* 230078 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81502 /* 230080 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81503 /* 230084 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81504 /* 230089 */ GIR_RootConstrainSelectedInstOperands,
81505 /* 230090 */ // GIR_Coverage, 1141,
81506 /* 230090 */ GIR_EraseRootFromParent_Done,
81507 /* 230091 */ // Label 5290: @230091
81508 /* 230091 */ GIM_Try, /*On fail goto*//*Label 5291*/ GIMT_Encode4(230159), // Rule ID 1389 //
81509 /* 230096 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
81510 /* 230099 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81511 /* 230103 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81512 /* 230107 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81513 /* 230111 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81514 /* 230115 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81515 /* 230118 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81516 /* 230122 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81517 /* 230126 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81518 /* 230130 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81519 /* 230132 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81520 /* 230139 */ // (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)
81521 /* 230139 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4mr),
81522 /* 230142 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81523 /* 230144 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
81524 /* 230146 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
81525 /* 230150 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81526 /* 230152 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81527 /* 230157 */ GIR_RootConstrainSelectedInstOperands,
81528 /* 230158 */ // GIR_Coverage, 1389,
81529 /* 230158 */ GIR_EraseRootFromParent_Done,
81530 /* 230159 */ // Label 5291: @230159
81531 /* 230159 */ GIM_Try, /*On fail goto*//*Label 5292*/ GIMT_Encode4(230227), // Rule ID 9108 //
81532 /* 230164 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
81533 /* 230167 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81534 /* 230171 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81535 /* 230175 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81536 /* 230179 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81537 /* 230183 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81538 /* 230186 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81539 /* 230190 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81540 /* 230194 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81541 /* 230198 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81542 /* 230200 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81543 /* 230207 */ // (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)
81544 /* 230207 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSZ128m),
81545 /* 230210 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81546 /* 230212 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
81547 /* 230214 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81548 /* 230216 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81549 /* 230220 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81550 /* 230225 */ GIR_RootConstrainSelectedInstOperands,
81551 /* 230226 */ // GIR_Coverage, 9108,
81552 /* 230226 */ GIR_EraseRootFromParent_Done,
81553 /* 230227 */ // Label 5292: @230227
81554 /* 230227 */ GIM_Try, /*On fail goto*//*Label 5293*/ GIMT_Encode4(230295), // Rule ID 1139 //
81555 /* 230232 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
81556 /* 230235 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81557 /* 230239 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81558 /* 230243 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81559 /* 230247 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81560 /* 230251 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81561 /* 230255 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81562 /* 230258 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81563 /* 230262 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81564 /* 230266 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81565 /* 230268 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81566 /* 230275 */ // (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)
81567 /* 230275 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSm),
81568 /* 230278 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81569 /* 230280 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81570 /* 230282 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81571 /* 230284 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81572 /* 230288 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81573 /* 230293 */ GIR_RootConstrainSelectedInstOperands,
81574 /* 230294 */ // GIR_Coverage, 1139,
81575 /* 230294 */ GIR_EraseRootFromParent_Done,
81576 /* 230295 */ // Label 5293: @230295
81577 /* 230295 */ GIM_Try, /*On fail goto*//*Label 5294*/ GIMT_Encode4(230363), // Rule ID 1387 //
81578 /* 230300 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
81579 /* 230303 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81580 /* 230307 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81581 /* 230311 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81582 /* 230315 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81583 /* 230319 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81584 /* 230323 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81585 /* 230326 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81586 /* 230330 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81587 /* 230334 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81588 /* 230336 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81589 /* 230343 */ // (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)
81590 /* 230343 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4rm),
81591 /* 230346 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81592 /* 230348 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
81593 /* 230350 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
81594 /* 230352 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81595 /* 230356 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81596 /* 230361 */ GIR_RootConstrainSelectedInstOperands,
81597 /* 230362 */ // GIR_Coverage, 1387,
81598 /* 230362 */ GIR_EraseRootFromParent_Done,
81599 /* 230363 */ // Label 5294: @230363
81600 /* 230363 */ GIM_Try, /*On fail goto*//*Label 5295*/ GIMT_Encode4(230431), // Rule ID 8474 //
81601 /* 230368 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
81602 /* 230371 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81603 /* 230375 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81604 /* 230379 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81605 /* 230383 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81606 /* 230387 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81607 /* 230391 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81608 /* 230394 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81609 /* 230398 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81610 /* 230402 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81611 /* 230404 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81612 /* 230411 */ // (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)
81613 /* 230411 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ128m),
81614 /* 230414 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81615 /* 230416 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81616 /* 230418 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81617 /* 230420 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81618 /* 230424 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81619 /* 230429 */ GIR_RootConstrainSelectedInstOperands,
81620 /* 230430 */ // GIR_Coverage, 8474,
81621 /* 230430 */ GIR_EraseRootFromParent_Done,
81622 /* 230431 */ // Label 5295: @230431
81623 /* 230431 */ GIM_Try, /*On fail goto*//*Label 5296*/ GIMT_Encode4(230468), // Rule ID 1137 //
81624 /* 230436 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
81625 /* 230439 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81626 /* 230443 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81627 /* 230447 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81628 /* 230451 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81629 /* 230455 */ // (strict_fma:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src3) => (VFMADD213PSr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src3)
81630 /* 230455 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSr),
81631 /* 230458 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81632 /* 230460 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81633 /* 230462 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81634 /* 230464 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81635 /* 230466 */ GIR_RootConstrainSelectedInstOperands,
81636 /* 230467 */ // GIR_Coverage, 1137,
81637 /* 230467 */ GIR_EraseRootFromParent_Done,
81638 /* 230468 */ // Label 5296: @230468
81639 /* 230468 */ GIM_Try, /*On fail goto*//*Label 5297*/ GIMT_Encode4(230503), // Rule ID 1385 //
81640 /* 230473 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
81641 /* 230476 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81642 /* 230480 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81643 /* 230484 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81644 /* 230488 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81645 /* 230492 */ // (strict_fma:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src3) => (VFMADDPS4rr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src3)
81646 /* 230492 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4rr),
81647 /* 230497 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81648 /* 230501 */ GIR_RootConstrainSelectedInstOperands,
81649 /* 230502 */ // GIR_Coverage, 1385,
81650 /* 230502 */ GIR_Done,
81651 /* 230503 */ // Label 5297: @230503
81652 /* 230503 */ GIM_Try, /*On fail goto*//*Label 5298*/ GIMT_Encode4(230540), // Rule ID 8470 //
81653 /* 230508 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
81654 /* 230511 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81655 /* 230515 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81656 /* 230519 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81657 /* 230523 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81658 /* 230527 */ // (strict_fma:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src2, VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src3) => (VFMADD213PSZ128r:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2, VR128X:{ *:[v4f32] }:$src3)
81659 /* 230527 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ128r),
81660 /* 230530 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81661 /* 230532 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81662 /* 230534 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81663 /* 230536 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81664 /* 230538 */ GIR_RootConstrainSelectedInstOperands,
81665 /* 230539 */ // GIR_Coverage, 8470,
81666 /* 230539 */ GIR_EraseRootFromParent_Done,
81667 /* 230540 */ // Label 5298: @230540
81668 /* 230540 */ GIM_Reject,
81669 /* 230541 */ // Label 5286: @230541
81670 /* 230541 */ GIM_Reject,
81671 /* 230542 */ // Label 5234: @230542
81672 /* 230542 */ GIM_Try, /*On fail goto*//*Label 5299*/ GIMT_Encode4(231278),
81673 /* 230547 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
81674 /* 230550 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
81675 /* 230553 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
81676 /* 230556 */ GIM_Try, /*On fail goto*//*Label 5300*/ GIMT_Encode4(230624), // Rule ID 1199 //
81677 /* 230561 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
81678 /* 230564 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81679 /* 230568 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81680 /* 230572 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81681 /* 230576 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81682 /* 230579 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81683 /* 230583 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81684 /* 230587 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81685 /* 230591 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81686 /* 230595 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81687 /* 230597 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81688 /* 230604 */ // (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)
81689 /* 230604 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDYm),
81690 /* 230607 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81691 /* 230609 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81692 /* 230611 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
81693 /* 230613 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81694 /* 230617 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81695 /* 230622 */ GIR_RootConstrainSelectedInstOperands,
81696 /* 230623 */ // GIR_Coverage, 1199,
81697 /* 230623 */ GIR_EraseRootFromParent_Done,
81698 /* 230624 */ // Label 5300: @230624
81699 /* 230624 */ GIM_Try, /*On fail goto*//*Label 5301*/ GIMT_Encode4(230692), // Rule ID 9670 //
81700 /* 230629 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
81701 /* 230632 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81702 /* 230636 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81703 /* 230640 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81704 /* 230644 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81705 /* 230647 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81706 /* 230651 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81707 /* 230655 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81708 /* 230659 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81709 /* 230663 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81710 /* 230665 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81711 /* 230672 */ // (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)
81712 /* 230672 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDZ256m),
81713 /* 230675 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81714 /* 230677 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81715 /* 230679 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
81716 /* 230681 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81717 /* 230685 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81718 /* 230690 */ GIR_RootConstrainSelectedInstOperands,
81719 /* 230691 */ // GIR_Coverage, 9670,
81720 /* 230691 */ GIR_EraseRootFromParent_Done,
81721 /* 230692 */ // Label 5301: @230692
81722 /* 230692 */ GIM_Try, /*On fail goto*//*Label 5302*/ GIMT_Encode4(230760), // Rule ID 23318 //
81723 /* 230697 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
81724 /* 230700 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81725 /* 230704 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81726 /* 230708 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81727 /* 230712 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81728 /* 230715 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81729 /* 230719 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81730 /* 230723 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81731 /* 230727 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81732 /* 230731 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81733 /* 230733 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81734 /* 230740 */ // (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)
81735 /* 230740 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Ymr),
81736 /* 230743 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81737 /* 230745 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81738 /* 230747 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
81739 /* 230751 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81740 /* 230753 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81741 /* 230758 */ GIR_RootConstrainSelectedInstOperands,
81742 /* 230759 */ // GIR_Coverage, 23318,
81743 /* 230759 */ GIR_EraseRootFromParent_Done,
81744 /* 230760 */ // Label 5302: @230760
81745 /* 230760 */ GIM_Try, /*On fail goto*//*Label 5303*/ GIMT_Encode4(230828), // Rule ID 1197 //
81746 /* 230765 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
81747 /* 230768 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81748 /* 230772 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81749 /* 230776 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81750 /* 230780 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81751 /* 230784 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81752 /* 230787 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81753 /* 230791 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81754 /* 230795 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81755 /* 230799 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81756 /* 230801 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81757 /* 230808 */ // (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)
81758 /* 230808 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDYm),
81759 /* 230811 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81760 /* 230813 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
81761 /* 230815 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81762 /* 230817 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81763 /* 230821 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81764 /* 230826 */ GIR_RootConstrainSelectedInstOperands,
81765 /* 230827 */ // GIR_Coverage, 1197,
81766 /* 230827 */ GIR_EraseRootFromParent_Done,
81767 /* 230828 */ // Label 5303: @230828
81768 /* 230828 */ GIM_Try, /*On fail goto*//*Label 5304*/ GIMT_Encode4(230896), // Rule ID 1479 //
81769 /* 230833 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
81770 /* 230836 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81771 /* 230840 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81772 /* 230844 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81773 /* 230848 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81774 /* 230852 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81775 /* 230855 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81776 /* 230859 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81777 /* 230863 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81778 /* 230867 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81779 /* 230869 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81780 /* 230876 */ // (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)
81781 /* 230876 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Ymr),
81782 /* 230879 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81783 /* 230881 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
81784 /* 230883 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
81785 /* 230887 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81786 /* 230889 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81787 /* 230894 */ GIR_RootConstrainSelectedInstOperands,
81788 /* 230895 */ // GIR_Coverage, 1479,
81789 /* 230895 */ GIR_EraseRootFromParent_Done,
81790 /* 230896 */ // Label 5304: @230896
81791 /* 230896 */ GIM_Try, /*On fail goto*//*Label 5305*/ GIMT_Encode4(230964), // Rule ID 9130 //
81792 /* 230901 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
81793 /* 230904 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81794 /* 230908 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81795 /* 230912 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81796 /* 230916 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81797 /* 230920 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81798 /* 230923 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81799 /* 230927 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81800 /* 230931 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81801 /* 230935 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81802 /* 230937 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81803 /* 230944 */ // (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)
81804 /* 230944 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDZ256m),
81805 /* 230947 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81806 /* 230949 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
81807 /* 230951 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81808 /* 230953 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81809 /* 230957 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81810 /* 230962 */ GIR_RootConstrainSelectedInstOperands,
81811 /* 230963 */ // GIR_Coverage, 9130,
81812 /* 230963 */ GIR_EraseRootFromParent_Done,
81813 /* 230964 */ // Label 5305: @230964
81814 /* 230964 */ GIM_Try, /*On fail goto*//*Label 5306*/ GIMT_Encode4(231032), // Rule ID 1195 //
81815 /* 230969 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
81816 /* 230972 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81817 /* 230976 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81818 /* 230980 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81819 /* 230984 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81820 /* 230988 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81821 /* 230992 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81822 /* 230995 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81823 /* 230999 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81824 /* 231003 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81825 /* 231005 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81826 /* 231012 */ // (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)
81827 /* 231012 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDYm),
81828 /* 231015 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81829 /* 231017 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81830 /* 231019 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81831 /* 231021 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81832 /* 231025 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81833 /* 231030 */ GIR_RootConstrainSelectedInstOperands,
81834 /* 231031 */ // GIR_Coverage, 1195,
81835 /* 231031 */ GIR_EraseRootFromParent_Done,
81836 /* 231032 */ // Label 5306: @231032
81837 /* 231032 */ GIM_Try, /*On fail goto*//*Label 5307*/ GIMT_Encode4(231100), // Rule ID 1477 //
81838 /* 231037 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
81839 /* 231040 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81840 /* 231044 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81841 /* 231048 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81842 /* 231052 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81843 /* 231056 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81844 /* 231060 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81845 /* 231063 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81846 /* 231067 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81847 /* 231071 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81848 /* 231073 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81849 /* 231080 */ // (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)
81850 /* 231080 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Yrm),
81851 /* 231083 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81852 /* 231085 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
81853 /* 231087 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
81854 /* 231089 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81855 /* 231093 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81856 /* 231098 */ GIR_RootConstrainSelectedInstOperands,
81857 /* 231099 */ // GIR_Coverage, 1477,
81858 /* 231099 */ GIR_EraseRootFromParent_Done,
81859 /* 231100 */ // Label 5307: @231100
81860 /* 231100 */ GIM_Try, /*On fail goto*//*Label 5308*/ GIMT_Encode4(231168), // Rule ID 8501 //
81861 /* 231105 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
81862 /* 231108 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81863 /* 231112 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81864 /* 231116 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81865 /* 231120 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81866 /* 231124 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81867 /* 231128 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81868 /* 231131 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81869 /* 231135 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81870 /* 231139 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81871 /* 231141 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81872 /* 231148 */ // (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)
81873 /* 231148 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ256m),
81874 /* 231151 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81875 /* 231153 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81876 /* 231155 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81877 /* 231157 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81878 /* 231161 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81879 /* 231166 */ GIR_RootConstrainSelectedInstOperands,
81880 /* 231167 */ // GIR_Coverage, 8501,
81881 /* 231167 */ GIR_EraseRootFromParent_Done,
81882 /* 231168 */ // Label 5308: @231168
81883 /* 231168 */ GIM_Try, /*On fail goto*//*Label 5309*/ GIMT_Encode4(231205), // Rule ID 1193 //
81884 /* 231173 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
81885 /* 231176 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81886 /* 231180 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81887 /* 231184 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81888 /* 231188 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81889 /* 231192 */ // (strict_fma:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src3) => (VFMADD213PDYr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src3)
81890 /* 231192 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDYr),
81891 /* 231195 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81892 /* 231197 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81893 /* 231199 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81894 /* 231201 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81895 /* 231203 */ GIR_RootConstrainSelectedInstOperands,
81896 /* 231204 */ // GIR_Coverage, 1193,
81897 /* 231204 */ GIR_EraseRootFromParent_Done,
81898 /* 231205 */ // Label 5309: @231205
81899 /* 231205 */ GIM_Try, /*On fail goto*//*Label 5310*/ GIMT_Encode4(231240), // Rule ID 1475 //
81900 /* 231210 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
81901 /* 231213 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81902 /* 231217 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81903 /* 231221 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81904 /* 231225 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81905 /* 231229 */ // (strict_fma:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src3) => (VFMADDPD4Yrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src3)
81906 /* 231229 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Yrr),
81907 /* 231234 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81908 /* 231238 */ GIR_RootConstrainSelectedInstOperands,
81909 /* 231239 */ // GIR_Coverage, 1475,
81910 /* 231239 */ GIR_Done,
81911 /* 231240 */ // Label 5310: @231240
81912 /* 231240 */ GIM_Try, /*On fail goto*//*Label 5311*/ GIMT_Encode4(231277), // Rule ID 8497 //
81913 /* 231245 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
81914 /* 231248 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81915 /* 231252 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81916 /* 231256 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81917 /* 231260 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81918 /* 231264 */ // (strict_fma:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src2, VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src3) => (VFMADD213PDZ256r:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2, VR256X:{ *:[v4f64] }:$src3)
81919 /* 231264 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ256r),
81920 /* 231267 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81921 /* 231269 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81922 /* 231271 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81923 /* 231273 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81924 /* 231275 */ GIR_RootConstrainSelectedInstOperands,
81925 /* 231276 */ // GIR_Coverage, 8497,
81926 /* 231276 */ GIR_EraseRootFromParent_Done,
81927 /* 231277 */ // Label 5311: @231277
81928 /* 231277 */ GIM_Reject,
81929 /* 231278 */ // Label 5299: @231278
81930 /* 231278 */ GIM_Reject,
81931 /* 231279 */ // Label 5235: @231279
81932 /* 231279 */ GIM_Try, /*On fail goto*//*Label 5312*/ GIMT_Encode4(231523),
81933 /* 231284 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
81934 /* 231287 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
81935 /* 231290 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
81936 /* 231293 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81937 /* 231297 */ GIM_Try, /*On fail goto*//*Label 5313*/ GIMT_Encode4(231361), // Rule ID 9616 //
81938 /* 231302 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
81939 /* 231305 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81940 /* 231309 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81941 /* 231313 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81942 /* 231316 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81943 /* 231320 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81944 /* 231324 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81945 /* 231328 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81946 /* 231332 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81947 /* 231334 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81948 /* 231341 */ // (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)
81949 /* 231341 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PHZ128m),
81950 /* 231344 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81951 /* 231346 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81952 /* 231348 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
81953 /* 231350 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81954 /* 231354 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81955 /* 231359 */ GIR_RootConstrainSelectedInstOperands,
81956 /* 231360 */ // GIR_Coverage, 9616,
81957 /* 231360 */ GIR_EraseRootFromParent_Done,
81958 /* 231361 */ // Label 5313: @231361
81959 /* 231361 */ GIM_Try, /*On fail goto*//*Label 5314*/ GIMT_Encode4(231425), // Rule ID 9076 //
81960 /* 231366 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
81961 /* 231369 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81962 /* 231373 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81963 /* 231377 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81964 /* 231381 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81965 /* 231384 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81966 /* 231388 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81967 /* 231392 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81968 /* 231396 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81969 /* 231398 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81970 /* 231405 */ // (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)
81971 /* 231405 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PHZ128m),
81972 /* 231408 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81973 /* 231410 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
81974 /* 231412 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81975 /* 231414 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81976 /* 231418 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81977 /* 231423 */ GIR_RootConstrainSelectedInstOperands,
81978 /* 231424 */ // GIR_Coverage, 9076,
81979 /* 231424 */ GIR_EraseRootFromParent_Done,
81980 /* 231425 */ // Label 5314: @231425
81981 /* 231425 */ GIM_Try, /*On fail goto*//*Label 5315*/ GIMT_Encode4(231489), // Rule ID 8435 //
81982 /* 231430 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
81983 /* 231433 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81984 /* 231437 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81985 /* 231441 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81986 /* 231445 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81987 /* 231449 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81988 /* 231452 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81989 /* 231456 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81990 /* 231460 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81991 /* 231462 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81992 /* 231469 */ // (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)
81993 /* 231469 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ128m),
81994 /* 231472 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81995 /* 231474 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81996 /* 231476 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81997 /* 231478 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81998 /* 231482 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81999 /* 231487 */ GIR_RootConstrainSelectedInstOperands,
82000 /* 231488 */ // GIR_Coverage, 8435,
82001 /* 231488 */ GIR_EraseRootFromParent_Done,
82002 /* 231489 */ // Label 5315: @231489
82003 /* 231489 */ GIM_Try, /*On fail goto*//*Label 5316*/ GIMT_Encode4(231522), // Rule ID 8431 //
82004 /* 231494 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
82005 /* 231497 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82006 /* 231501 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82007 /* 231505 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82008 /* 231509 */ // (strict_fma:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src2, VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src3) => (VFMADD213PHZ128r:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2, VR128X:{ *:[v8f16] }:$src3)
82009 /* 231509 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ128r),
82010 /* 231512 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82011 /* 231514 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82012 /* 231516 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82013 /* 231518 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
82014 /* 231520 */ GIR_RootConstrainSelectedInstOperands,
82015 /* 231521 */ // GIR_Coverage, 8431,
82016 /* 231521 */ GIR_EraseRootFromParent_Done,
82017 /* 231522 */ // Label 5316: @231522
82018 /* 231522 */ GIM_Reject,
82019 /* 231523 */ // Label 5312: @231523
82020 /* 231523 */ GIM_Reject,
82021 /* 231524 */ // Label 5236: @231524
82022 /* 231524 */ GIM_Try, /*On fail goto*//*Label 5317*/ GIMT_Encode4(232260),
82023 /* 231529 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
82024 /* 231532 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
82025 /* 231535 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
82026 /* 231538 */ GIM_Try, /*On fail goto*//*Label 5318*/ GIMT_Encode4(231606), // Rule ID 1151 //
82027 /* 231543 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
82028 /* 231546 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82029 /* 231550 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82030 /* 231554 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82031 /* 231558 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82032 /* 231561 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82033 /* 231565 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82034 /* 231569 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82035 /* 231573 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82036 /* 231577 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82037 /* 231579 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82038 /* 231586 */ // (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)
82039 /* 231586 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSYm),
82040 /* 231589 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82041 /* 231591 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82042 /* 231593 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
82043 /* 231595 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82044 /* 231599 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82045 /* 231604 */ GIR_RootConstrainSelectedInstOperands,
82046 /* 231605 */ // GIR_Coverage, 1151,
82047 /* 231605 */ GIR_EraseRootFromParent_Done,
82048 /* 231606 */ // Label 5318: @231606
82049 /* 231606 */ GIM_Try, /*On fail goto*//*Label 5319*/ GIMT_Encode4(231674), // Rule ID 9638 //
82050 /* 231611 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
82051 /* 231614 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82052 /* 231618 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82053 /* 231622 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82054 /* 231626 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82055 /* 231629 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82056 /* 231633 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82057 /* 231637 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82058 /* 231641 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82059 /* 231645 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82060 /* 231647 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82061 /* 231654 */ // (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)
82062 /* 231654 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSZ256m),
82063 /* 231657 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82064 /* 231659 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82065 /* 231661 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
82066 /* 231663 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82067 /* 231667 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82068 /* 231672 */ GIR_RootConstrainSelectedInstOperands,
82069 /* 231673 */ // GIR_Coverage, 9638,
82070 /* 231673 */ GIR_EraseRootFromParent_Done,
82071 /* 231674 */ // Label 5319: @231674
82072 /* 231674 */ GIM_Try, /*On fail goto*//*Label 5320*/ GIMT_Encode4(231742), // Rule ID 23290 //
82073 /* 231679 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
82074 /* 231682 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82075 /* 231686 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82076 /* 231690 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82077 /* 231694 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82078 /* 231697 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82079 /* 231701 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82080 /* 231705 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82081 /* 231709 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82082 /* 231713 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82083 /* 231715 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82084 /* 231722 */ // (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)
82085 /* 231722 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Ymr),
82086 /* 231725 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82087 /* 231727 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82088 /* 231729 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
82089 /* 231733 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
82090 /* 231735 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82091 /* 231740 */ GIR_RootConstrainSelectedInstOperands,
82092 /* 231741 */ // GIR_Coverage, 23290,
82093 /* 231741 */ GIR_EraseRootFromParent_Done,
82094 /* 231742 */ // Label 5320: @231742
82095 /* 231742 */ GIM_Try, /*On fail goto*//*Label 5321*/ GIMT_Encode4(231810), // Rule ID 1149 //
82096 /* 231747 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
82097 /* 231750 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82098 /* 231754 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82099 /* 231758 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
82100 /* 231762 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82101 /* 231766 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82102 /* 231769 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82103 /* 231773 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82104 /* 231777 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82105 /* 231781 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82106 /* 231783 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82107 /* 231790 */ // (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)
82108 /* 231790 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSYm),
82109 /* 231793 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82110 /* 231795 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
82111 /* 231797 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82112 /* 231799 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82113 /* 231803 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82114 /* 231808 */ GIR_RootConstrainSelectedInstOperands,
82115 /* 231809 */ // GIR_Coverage, 1149,
82116 /* 231809 */ GIR_EraseRootFromParent_Done,
82117 /* 231810 */ // Label 5321: @231810
82118 /* 231810 */ GIM_Try, /*On fail goto*//*Label 5322*/ GIMT_Encode4(231878), // Rule ID 1395 //
82119 /* 231815 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
82120 /* 231818 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82121 /* 231822 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82122 /* 231826 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
82123 /* 231830 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82124 /* 231834 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82125 /* 231837 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82126 /* 231841 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82127 /* 231845 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82128 /* 231849 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82129 /* 231851 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82130 /* 231858 */ // (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)
82131 /* 231858 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Ymr),
82132 /* 231861 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82133 /* 231863 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
82134 /* 231865 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
82135 /* 231869 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
82136 /* 231871 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82137 /* 231876 */ GIR_RootConstrainSelectedInstOperands,
82138 /* 231877 */ // GIR_Coverage, 1395,
82139 /* 231877 */ GIR_EraseRootFromParent_Done,
82140 /* 231878 */ // Label 5322: @231878
82141 /* 231878 */ GIM_Try, /*On fail goto*//*Label 5323*/ GIMT_Encode4(231946), // Rule ID 9098 //
82142 /* 231883 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
82143 /* 231886 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82144 /* 231890 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82145 /* 231894 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
82146 /* 231898 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82147 /* 231902 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82148 /* 231905 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82149 /* 231909 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82150 /* 231913 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82151 /* 231917 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82152 /* 231919 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82153 /* 231926 */ // (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)
82154 /* 231926 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSZ256m),
82155 /* 231929 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82156 /* 231931 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
82157 /* 231933 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82158 /* 231935 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82159 /* 231939 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82160 /* 231944 */ GIR_RootConstrainSelectedInstOperands,
82161 /* 231945 */ // GIR_Coverage, 9098,
82162 /* 231945 */ GIR_EraseRootFromParent_Done,
82163 /* 231946 */ // Label 5323: @231946
82164 /* 231946 */ GIM_Try, /*On fail goto*//*Label 5324*/ GIMT_Encode4(232014), // Rule ID 1147 //
82165 /* 231951 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
82166 /* 231954 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82167 /* 231958 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82168 /* 231962 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82169 /* 231966 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
82170 /* 231970 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82171 /* 231974 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82172 /* 231977 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82173 /* 231981 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82174 /* 231985 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82175 /* 231987 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82176 /* 231994 */ // (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)
82177 /* 231994 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSYm),
82178 /* 231997 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82179 /* 231999 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82180 /* 232001 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82181 /* 232003 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82182 /* 232007 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82183 /* 232012 */ GIR_RootConstrainSelectedInstOperands,
82184 /* 232013 */ // GIR_Coverage, 1147,
82185 /* 232013 */ GIR_EraseRootFromParent_Done,
82186 /* 232014 */ // Label 5324: @232014
82187 /* 232014 */ GIM_Try, /*On fail goto*//*Label 5325*/ GIMT_Encode4(232082), // Rule ID 1393 //
82188 /* 232019 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
82189 /* 232022 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82190 /* 232026 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82191 /* 232030 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82192 /* 232034 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
82193 /* 232038 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82194 /* 232042 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82195 /* 232045 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82196 /* 232049 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82197 /* 232053 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82198 /* 232055 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82199 /* 232062 */ // (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)
82200 /* 232062 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Yrm),
82201 /* 232065 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82202 /* 232067 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
82203 /* 232069 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
82204 /* 232071 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82205 /* 232075 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82206 /* 232080 */ GIR_RootConstrainSelectedInstOperands,
82207 /* 232081 */ // GIR_Coverage, 1393,
82208 /* 232081 */ GIR_EraseRootFromParent_Done,
82209 /* 232082 */ // Label 5325: @232082
82210 /* 232082 */ GIM_Try, /*On fail goto*//*Label 5326*/ GIMT_Encode4(232150), // Rule ID 8462 //
82211 /* 232087 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
82212 /* 232090 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82213 /* 232094 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82214 /* 232098 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82215 /* 232102 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
82216 /* 232106 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82217 /* 232110 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82218 /* 232113 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82219 /* 232117 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82220 /* 232121 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82221 /* 232123 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82222 /* 232130 */ // (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)
82223 /* 232130 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ256m),
82224 /* 232133 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82225 /* 232135 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82226 /* 232137 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82227 /* 232139 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82228 /* 232143 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82229 /* 232148 */ GIR_RootConstrainSelectedInstOperands,
82230 /* 232149 */ // GIR_Coverage, 8462,
82231 /* 232149 */ GIR_EraseRootFromParent_Done,
82232 /* 232150 */ // Label 5326: @232150
82233 /* 232150 */ GIM_Try, /*On fail goto*//*Label 5327*/ GIMT_Encode4(232187), // Rule ID 1145 //
82234 /* 232155 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
82235 /* 232158 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82236 /* 232162 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82237 /* 232166 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82238 /* 232170 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82239 /* 232174 */ // (strict_fma:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src3) => (VFMADD213PSYr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src3)
82240 /* 232174 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSYr),
82241 /* 232177 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82242 /* 232179 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82243 /* 232181 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82244 /* 232183 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
82245 /* 232185 */ GIR_RootConstrainSelectedInstOperands,
82246 /* 232186 */ // GIR_Coverage, 1145,
82247 /* 232186 */ GIR_EraseRootFromParent_Done,
82248 /* 232187 */ // Label 5327: @232187
82249 /* 232187 */ GIM_Try, /*On fail goto*//*Label 5328*/ GIMT_Encode4(232222), // Rule ID 1391 //
82250 /* 232192 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
82251 /* 232195 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82252 /* 232199 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82253 /* 232203 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82254 /* 232207 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82255 /* 232211 */ // (strict_fma:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src3) => (VFMADDPS4Yrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src3)
82256 /* 232211 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Yrr),
82257 /* 232216 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
82258 /* 232220 */ GIR_RootConstrainSelectedInstOperands,
82259 /* 232221 */ // GIR_Coverage, 1391,
82260 /* 232221 */ GIR_Done,
82261 /* 232222 */ // Label 5328: @232222
82262 /* 232222 */ GIM_Try, /*On fail goto*//*Label 5329*/ GIMT_Encode4(232259), // Rule ID 8458 //
82263 /* 232227 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
82264 /* 232230 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82265 /* 232234 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82266 /* 232238 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82267 /* 232242 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82268 /* 232246 */ // (strict_fma:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src2, VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src3) => (VFMADD213PSZ256r:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2, VR256X:{ *:[v8f32] }:$src3)
82269 /* 232246 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ256r),
82270 /* 232249 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82271 /* 232251 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82272 /* 232253 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82273 /* 232255 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
82274 /* 232257 */ GIR_RootConstrainSelectedInstOperands,
82275 /* 232258 */ // GIR_Coverage, 8458,
82276 /* 232258 */ GIR_EraseRootFromParent_Done,
82277 /* 232259 */ // Label 5329: @232259
82278 /* 232259 */ GIM_Reject,
82279 /* 232260 */ // Label 5317: @232260
82280 /* 232260 */ GIM_Reject,
82281 /* 232261 */ // Label 5237: @232261
82282 /* 232261 */ GIM_Try, /*On fail goto*//*Label 5330*/ GIMT_Encode4(232505),
82283 /* 232266 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
82284 /* 232269 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
82285 /* 232272 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
82286 /* 232275 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82287 /* 232279 */ GIM_Try, /*On fail goto*//*Label 5331*/ GIMT_Encode4(232343), // Rule ID 9658 //
82288 /* 232284 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
82289 /* 232287 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82290 /* 232291 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82291 /* 232295 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82292 /* 232298 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82293 /* 232302 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82294 /* 232306 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82295 /* 232310 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82296 /* 232314 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82297 /* 232316 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82298 /* 232323 */ // (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)
82299 /* 232323 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDZm),
82300 /* 232326 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82301 /* 232328 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82302 /* 232330 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
82303 /* 232332 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82304 /* 232336 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82305 /* 232341 */ GIR_RootConstrainSelectedInstOperands,
82306 /* 232342 */ // GIR_Coverage, 9658,
82307 /* 232342 */ GIR_EraseRootFromParent_Done,
82308 /* 232343 */ // Label 5331: @232343
82309 /* 232343 */ GIM_Try, /*On fail goto*//*Label 5332*/ GIMT_Encode4(232407), // Rule ID 9118 //
82310 /* 232348 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
82311 /* 232351 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82312 /* 232355 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
82313 /* 232359 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82314 /* 232363 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82315 /* 232366 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82316 /* 232370 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82317 /* 232374 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82318 /* 232378 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82319 /* 232380 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82320 /* 232387 */ // (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)
82321 /* 232387 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDZm),
82322 /* 232390 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82323 /* 232392 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
82324 /* 232394 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82325 /* 232396 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82326 /* 232400 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82327 /* 232405 */ GIR_RootConstrainSelectedInstOperands,
82328 /* 232406 */ // GIR_Coverage, 9118,
82329 /* 232406 */ GIR_EraseRootFromParent_Done,
82330 /* 232407 */ // Label 5332: @232407
82331 /* 232407 */ GIM_Try, /*On fail goto*//*Label 5333*/ GIMT_Encode4(232471), // Rule ID 8486 //
82332 /* 232412 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
82333 /* 232415 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82334 /* 232419 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82335 /* 232423 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
82336 /* 232427 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82337 /* 232431 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82338 /* 232434 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82339 /* 232438 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82340 /* 232442 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82341 /* 232444 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82342 /* 232451 */ // (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)
82343 /* 232451 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZm),
82344 /* 232454 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82345 /* 232456 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82346 /* 232458 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82347 /* 232460 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82348 /* 232464 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82349 /* 232469 */ GIR_RootConstrainSelectedInstOperands,
82350 /* 232470 */ // GIR_Coverage, 8486,
82351 /* 232470 */ GIR_EraseRootFromParent_Done,
82352 /* 232471 */ // Label 5333: @232471
82353 /* 232471 */ GIM_Try, /*On fail goto*//*Label 5334*/ GIMT_Encode4(232504), // Rule ID 8482 //
82354 /* 232476 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
82355 /* 232479 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82356 /* 232483 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82357 /* 232487 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82358 /* 232491 */ // (strict_fma:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src2, VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src3) => (VFMADD213PDZr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2, VR512:{ *:[v8f64] }:$src3)
82359 /* 232491 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZr),
82360 /* 232494 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82361 /* 232496 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82362 /* 232498 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82363 /* 232500 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
82364 /* 232502 */ GIR_RootConstrainSelectedInstOperands,
82365 /* 232503 */ // GIR_Coverage, 8482,
82366 /* 232503 */ GIR_EraseRootFromParent_Done,
82367 /* 232504 */ // Label 5334: @232504
82368 /* 232504 */ GIM_Reject,
82369 /* 232505 */ // Label 5330: @232505
82370 /* 232505 */ GIM_Reject,
82371 /* 232506 */ // Label 5238: @232506
82372 /* 232506 */ GIM_Try, /*On fail goto*//*Label 5335*/ GIMT_Encode4(232750),
82373 /* 232511 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
82374 /* 232514 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
82375 /* 232517 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
82376 /* 232520 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82377 /* 232524 */ GIM_Try, /*On fail goto*//*Label 5336*/ GIMT_Encode4(232588), // Rule ID 9606 //
82378 /* 232529 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
82379 /* 232532 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82380 /* 232536 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82381 /* 232540 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82382 /* 232543 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82383 /* 232547 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82384 /* 232551 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82385 /* 232555 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82386 /* 232559 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82387 /* 232561 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82388 /* 232568 */ // (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)
82389 /* 232568 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PHZ256m),
82390 /* 232571 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82391 /* 232573 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82392 /* 232575 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
82393 /* 232577 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82394 /* 232581 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82395 /* 232586 */ GIR_RootConstrainSelectedInstOperands,
82396 /* 232587 */ // GIR_Coverage, 9606,
82397 /* 232587 */ GIR_EraseRootFromParent_Done,
82398 /* 232588 */ // Label 5336: @232588
82399 /* 232588 */ GIM_Try, /*On fail goto*//*Label 5337*/ GIMT_Encode4(232652), // Rule ID 9066 //
82400 /* 232593 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
82401 /* 232596 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82402 /* 232600 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
82403 /* 232604 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82404 /* 232608 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82405 /* 232611 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82406 /* 232615 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82407 /* 232619 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82408 /* 232623 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82409 /* 232625 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82410 /* 232632 */ // (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)
82411 /* 232632 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PHZ256m),
82412 /* 232635 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82413 /* 232637 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
82414 /* 232639 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82415 /* 232641 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82416 /* 232645 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82417 /* 232650 */ GIR_RootConstrainSelectedInstOperands,
82418 /* 232651 */ // GIR_Coverage, 9066,
82419 /* 232651 */ GIR_EraseRootFromParent_Done,
82420 /* 232652 */ // Label 5337: @232652
82421 /* 232652 */ GIM_Try, /*On fail goto*//*Label 5338*/ GIMT_Encode4(232716), // Rule ID 8423 //
82422 /* 232657 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
82423 /* 232660 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82424 /* 232664 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82425 /* 232668 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
82426 /* 232672 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82427 /* 232676 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82428 /* 232679 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82429 /* 232683 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82430 /* 232687 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82431 /* 232689 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82432 /* 232696 */ // (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)
82433 /* 232696 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ256m),
82434 /* 232699 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82435 /* 232701 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82436 /* 232703 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82437 /* 232705 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82438 /* 232709 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82439 /* 232714 */ GIR_RootConstrainSelectedInstOperands,
82440 /* 232715 */ // GIR_Coverage, 8423,
82441 /* 232715 */ GIR_EraseRootFromParent_Done,
82442 /* 232716 */ // Label 5338: @232716
82443 /* 232716 */ GIM_Try, /*On fail goto*//*Label 5339*/ GIMT_Encode4(232749), // Rule ID 8419 //
82444 /* 232721 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
82445 /* 232724 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82446 /* 232728 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82447 /* 232732 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82448 /* 232736 */ // (strict_fma:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src2, VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src3) => (VFMADD213PHZ256r:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2, VR256X:{ *:[v16f16] }:$src3)
82449 /* 232736 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ256r),
82450 /* 232739 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82451 /* 232741 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82452 /* 232743 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82453 /* 232745 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
82454 /* 232747 */ GIR_RootConstrainSelectedInstOperands,
82455 /* 232748 */ // GIR_Coverage, 8419,
82456 /* 232748 */ GIR_EraseRootFromParent_Done,
82457 /* 232749 */ // Label 5339: @232749
82458 /* 232749 */ GIM_Reject,
82459 /* 232750 */ // Label 5335: @232750
82460 /* 232750 */ GIM_Reject,
82461 /* 232751 */ // Label 5239: @232751
82462 /* 232751 */ GIM_Try, /*On fail goto*//*Label 5340*/ GIMT_Encode4(232995),
82463 /* 232756 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
82464 /* 232759 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
82465 /* 232762 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
82466 /* 232765 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82467 /* 232769 */ GIM_Try, /*On fail goto*//*Label 5341*/ GIMT_Encode4(232833), // Rule ID 9626 //
82468 /* 232774 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
82469 /* 232777 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82470 /* 232781 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82471 /* 232785 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82472 /* 232788 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82473 /* 232792 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82474 /* 232796 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82475 /* 232800 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82476 /* 232804 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82477 /* 232806 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82478 /* 232813 */ // (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)
82479 /* 232813 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSZm),
82480 /* 232816 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82481 /* 232818 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82482 /* 232820 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
82483 /* 232822 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82484 /* 232826 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82485 /* 232831 */ GIR_RootConstrainSelectedInstOperands,
82486 /* 232832 */ // GIR_Coverage, 9626,
82487 /* 232832 */ GIR_EraseRootFromParent_Done,
82488 /* 232833 */ // Label 5341: @232833
82489 /* 232833 */ GIM_Try, /*On fail goto*//*Label 5342*/ GIMT_Encode4(232897), // Rule ID 9086 //
82490 /* 232838 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
82491 /* 232841 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82492 /* 232845 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
82493 /* 232849 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82494 /* 232853 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82495 /* 232856 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82496 /* 232860 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82497 /* 232864 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82498 /* 232868 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82499 /* 232870 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82500 /* 232877 */ // (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)
82501 /* 232877 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSZm),
82502 /* 232880 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82503 /* 232882 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
82504 /* 232884 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82505 /* 232886 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82506 /* 232890 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82507 /* 232895 */ GIR_RootConstrainSelectedInstOperands,
82508 /* 232896 */ // GIR_Coverage, 9086,
82509 /* 232896 */ GIR_EraseRootFromParent_Done,
82510 /* 232897 */ // Label 5342: @232897
82511 /* 232897 */ GIM_Try, /*On fail goto*//*Label 5343*/ GIMT_Encode4(232961), // Rule ID 8447 //
82512 /* 232902 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
82513 /* 232905 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82514 /* 232909 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82515 /* 232913 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
82516 /* 232917 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82517 /* 232921 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82518 /* 232924 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82519 /* 232928 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82520 /* 232932 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82521 /* 232934 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82522 /* 232941 */ // (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)
82523 /* 232941 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZm),
82524 /* 232944 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82525 /* 232946 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82526 /* 232948 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82527 /* 232950 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82528 /* 232954 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82529 /* 232959 */ GIR_RootConstrainSelectedInstOperands,
82530 /* 232960 */ // GIR_Coverage, 8447,
82531 /* 232960 */ GIR_EraseRootFromParent_Done,
82532 /* 232961 */ // Label 5343: @232961
82533 /* 232961 */ GIM_Try, /*On fail goto*//*Label 5344*/ GIMT_Encode4(232994), // Rule ID 8443 //
82534 /* 232966 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
82535 /* 232969 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82536 /* 232973 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82537 /* 232977 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82538 /* 232981 */ // (strict_fma:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src2, VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src3) => (VFMADD213PSZr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2, VR512:{ *:[v16f32] }:$src3)
82539 /* 232981 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZr),
82540 /* 232984 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82541 /* 232986 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82542 /* 232988 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82543 /* 232990 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
82544 /* 232992 */ GIR_RootConstrainSelectedInstOperands,
82545 /* 232993 */ // GIR_Coverage, 8443,
82546 /* 232993 */ GIR_EraseRootFromParent_Done,
82547 /* 232994 */ // Label 5344: @232994
82548 /* 232994 */ GIM_Reject,
82549 /* 232995 */ // Label 5340: @232995
82550 /* 232995 */ GIM_Reject,
82551 /* 232996 */ // Label 5240: @232996
82552 /* 232996 */ GIM_Try, /*On fail goto*//*Label 5345*/ GIMT_Encode4(233240),
82553 /* 233001 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
82554 /* 233004 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
82555 /* 233007 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s16,
82556 /* 233010 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82557 /* 233014 */ GIM_Try, /*On fail goto*//*Label 5346*/ GIMT_Encode4(233078), // Rule ID 9594 //
82558 /* 233019 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
82559 /* 233022 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82560 /* 233026 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82561 /* 233030 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82562 /* 233033 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82563 /* 233037 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82564 /* 233041 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82565 /* 233045 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82566 /* 233049 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82567 /* 233051 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82568 /* 233058 */ // (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)
82569 /* 233058 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PHZm),
82570 /* 233061 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82571 /* 233063 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82572 /* 233065 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
82573 /* 233067 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82574 /* 233071 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82575 /* 233076 */ GIR_RootConstrainSelectedInstOperands,
82576 /* 233077 */ // GIR_Coverage, 9594,
82577 /* 233077 */ GIR_EraseRootFromParent_Done,
82578 /* 233078 */ // Label 5346: @233078
82579 /* 233078 */ GIM_Try, /*On fail goto*//*Label 5347*/ GIMT_Encode4(233142), // Rule ID 9054 //
82580 /* 233083 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
82581 /* 233086 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82582 /* 233090 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
82583 /* 233094 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82584 /* 233098 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82585 /* 233101 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82586 /* 233105 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82587 /* 233109 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82588 /* 233113 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82589 /* 233115 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82590 /* 233122 */ // (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)
82591 /* 233122 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PHZm),
82592 /* 233125 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82593 /* 233127 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
82594 /* 233129 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82595 /* 233131 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82596 /* 233135 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82597 /* 233140 */ GIR_RootConstrainSelectedInstOperands,
82598 /* 233141 */ // GIR_Coverage, 9054,
82599 /* 233141 */ GIR_EraseRootFromParent_Done,
82600 /* 233142 */ // Label 5347: @233142
82601 /* 233142 */ GIM_Try, /*On fail goto*//*Label 5348*/ GIMT_Encode4(233206), // Rule ID 8408 //
82602 /* 233147 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
82603 /* 233150 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82604 /* 233154 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82605 /* 233158 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
82606 /* 233162 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82607 /* 233166 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82608 /* 233169 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82609 /* 233173 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82610 /* 233177 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82611 /* 233179 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82612 /* 233186 */ // (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)
82613 /* 233186 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZm),
82614 /* 233189 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82615 /* 233191 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82616 /* 233193 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82617 /* 233195 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82618 /* 233199 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82619 /* 233204 */ GIR_RootConstrainSelectedInstOperands,
82620 /* 233205 */ // GIR_Coverage, 8408,
82621 /* 233205 */ GIR_EraseRootFromParent_Done,
82622 /* 233206 */ // Label 5348: @233206
82623 /* 233206 */ GIM_Try, /*On fail goto*//*Label 5349*/ GIMT_Encode4(233239), // Rule ID 8404 //
82624 /* 233211 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
82625 /* 233214 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82626 /* 233218 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82627 /* 233222 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82628 /* 233226 */ // (strict_fma:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src2, VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src3) => (VFMADD213PHZr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2, VR512:{ *:[v32f16] }:$src3)
82629 /* 233226 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZr),
82630 /* 233229 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82631 /* 233231 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82632 /* 233233 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82633 /* 233235 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
82634 /* 233237 */ GIR_RootConstrainSelectedInstOperands,
82635 /* 233238 */ // GIR_Coverage, 8404,
82636 /* 233238 */ GIR_EraseRootFromParent_Done,
82637 /* 233239 */ // Label 5349: @233239
82638 /* 233239 */ GIM_Reject,
82639 /* 233240 */ // Label 5345: @233240
82640 /* 233240 */ GIM_Reject,
82641 /* 233241 */ // Label 5241: @233241
82642 /* 233241 */ GIM_Reject,
82643 /* 233242 */ // Label 73: @233242
82644 /* 233242 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 5363*/ GIMT_Encode4(235410),
82645 /* 233253 */ /*GILLT_s16*//*Label 5350*/ GIMT_Encode4(233337),
82646 /* 233257 */ /*GILLT_s32*//*Label 5351*/ GIMT_Encode4(233458),
82647 /* 233261 */ /*GILLT_s64*//*Label 5352*/ GIMT_Encode4(233814),
82648 /* 233265 */ /*GILLT_s80*//*Label 5353*/ GIMT_Encode4(234170), GIMT_Encode4(0), GIMT_Encode4(0),
82649 /* 233277 */ /*GILLT_v2s64*//*Label 5354*/ GIMT_Encode4(234207), GIMT_Encode4(0),
82650 /* 233285 */ /*GILLT_v4s32*//*Label 5355*/ GIMT_Encode4(234410),
82651 /* 233289 */ /*GILLT_v4s64*//*Label 5356*/ GIMT_Encode4(234613), GIMT_Encode4(0),
82652 /* 233297 */ /*GILLT_v8s16*//*Label 5357*/ GIMT_Encode4(234789),
82653 /* 233301 */ /*GILLT_v8s32*//*Label 5358*/ GIMT_Encode4(234878),
82654 /* 233305 */ /*GILLT_v8s64*//*Label 5359*/ GIMT_Encode4(235054), GIMT_Encode4(0), GIMT_Encode4(0),
82655 /* 233317 */ /*GILLT_v16s16*//*Label 5360*/ GIMT_Encode4(235143),
82656 /* 233321 */ /*GILLT_v16s32*//*Label 5361*/ GIMT_Encode4(235232), GIMT_Encode4(0), GIMT_Encode4(0),
82657 /* 233333 */ /*GILLT_v32s16*//*Label 5362*/ GIMT_Encode4(235321),
82658 /* 233337 */ // Label 5350: @233337
82659 /* 233337 */ GIM_Try, /*On fail goto*//*Label 5364*/ GIMT_Encode4(233457),
82660 /* 233342 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
82661 /* 233345 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
82662 /* 233349 */ GIM_Try, /*On fail goto*//*Label 5365*/ GIMT_Encode4(233418), // Rule ID 21420 //
82663 /* 233354 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_OptForSize),
82664 /* 233357 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82665 /* 233361 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82666 /* 233365 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82667 /* 233368 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82668 /* 233372 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82669 /* 233376 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82670 /* 233378 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82671 /* 233385 */ // (strict_fsqrt:{ *:[f16] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSHZm:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), addr:{ *:[iPTR] }:$src)
82672 /* 233385 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
82673 /* 233388 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
82674 /* 233392 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
82675 /* 233397 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
82676 /* 233399 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSHZm),
82677 /* 233402 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82678 /* 233404 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
82679 /* 233407 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
82680 /* 233411 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82681 /* 233416 */ GIR_RootConstrainSelectedInstOperands,
82682 /* 233417 */ // GIR_Coverage, 21420,
82683 /* 233417 */ GIR_EraseRootFromParent_Done,
82684 /* 233418 */ // Label 5365: @233418
82685 /* 233418 */ GIM_Try, /*On fail goto*//*Label 5366*/ GIMT_Encode4(233456), // Rule ID 21418 //
82686 /* 233423 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
82687 /* 233426 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
82688 /* 233430 */ // (strict_fsqrt:{ *:[f16] } FR16X:{ *:[f16] }:$src) => (VSQRTSHZr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), FR16X:{ *:[f16] }:$src)
82689 /* 233430 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
82690 /* 233433 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
82691 /* 233437 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
82692 /* 233442 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
82693 /* 233444 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSHZr),
82694 /* 233447 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82695 /* 233449 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
82696 /* 233452 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
82697 /* 233454 */ GIR_RootConstrainSelectedInstOperands,
82698 /* 233455 */ // GIR_Coverage, 21418,
82699 /* 233455 */ GIR_EraseRootFromParent_Done,
82700 /* 233456 */ // Label 5366: @233456
82701 /* 233456 */ GIM_Reject,
82702 /* 233457 */ // Label 5364: @233457
82703 /* 233457 */ GIM_Reject,
82704 /* 233458 */ // Label 5351: @233458
82705 /* 233458 */ GIM_Try, /*On fail goto*//*Label 5367*/ GIMT_Encode4(233813),
82706 /* 233463 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
82707 /* 233466 */ GIM_Try, /*On fail goto*//*Label 5368*/ GIMT_Encode4(233522), // Rule ID 2448 //
82708 /* 233471 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseSSE1),
82709 /* 233474 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
82710 /* 233478 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82711 /* 233482 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82712 /* 233486 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82713 /* 233489 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82714 /* 233493 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82715 /* 233497 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82716 /* 233499 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82717 /* 233506 */ // (strict_fsqrt:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SQRTSSm:{ *:[f32] } addr:{ *:[iPTR] }:$src1)
82718 /* 233506 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SQRTSSm),
82719 /* 233509 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82720 /* 233511 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
82721 /* 233515 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82722 /* 233520 */ GIR_RootConstrainSelectedInstOperands,
82723 /* 233521 */ // GIR_Coverage, 2448,
82724 /* 233521 */ GIR_EraseRootFromParent_Done,
82725 /* 233522 */ // Label 5368: @233522
82726 /* 233522 */ GIM_Try, /*On fail goto*//*Label 5369*/ GIMT_Encode4(233595), // Rule ID 18276 //
82727 /* 233527 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseAVX),
82728 /* 233530 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
82729 /* 233534 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82730 /* 233538 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82731 /* 233542 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82732 /* 233545 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82733 /* 233549 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82734 /* 233553 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82735 /* 233555 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82736 /* 233562 */ // (strict_fsqrt:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSSm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
82737 /* 233562 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
82738 /* 233565 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
82739 /* 233569 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
82740 /* 233574 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
82741 /* 233576 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSm),
82742 /* 233579 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82743 /* 233581 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
82744 /* 233584 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
82745 /* 233588 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82746 /* 233593 */ GIR_RootConstrainSelectedInstOperands,
82747 /* 233594 */ // GIR_Coverage, 18276,
82748 /* 233594 */ GIR_EraseRootFromParent_Done,
82749 /* 233595 */ // Label 5369: @233595
82750 /* 233595 */ GIM_Try, /*On fail goto*//*Label 5370*/ GIMT_Encode4(233668), // Rule ID 21424 //
82751 /* 233600 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_OptForSize),
82752 /* 233603 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
82753 /* 233607 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82754 /* 233611 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82755 /* 233615 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82756 /* 233618 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82757 /* 233622 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82758 /* 233626 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82759 /* 233628 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82760 /* 233635 */ // (strict_fsqrt:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSSZm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
82761 /* 233635 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
82762 /* 233638 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
82763 /* 233642 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
82764 /* 233647 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
82765 /* 233649 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSZm),
82766 /* 233652 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82767 /* 233654 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
82768 /* 233657 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
82769 /* 233661 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82770 /* 233666 */ GIR_RootConstrainSelectedInstOperands,
82771 /* 233667 */ // GIR_Coverage, 21424,
82772 /* 233667 */ GIR_EraseRootFromParent_Done,
82773 /* 233668 */ // Label 5370: @233668
82774 /* 233668 */ GIM_Try, /*On fail goto*//*Label 5371*/ GIMT_Encode4(233701), // Rule ID 1048 //
82775 /* 233673 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
82776 /* 233676 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
82777 /* 233680 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
82778 /* 233684 */ // (strict_fsqrt:{ *:[f32] } RFP32:{ *:[f32] }:$src) => (SQRT_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src)
82779 /* 233684 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRT_Fp32),
82780 /* 233689 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(RegState::Dead),
82781 /* 233695 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
82782 /* 233699 */ GIR_RootConstrainSelectedInstOperands,
82783 /* 233700 */ // GIR_Coverage, 1048,
82784 /* 233700 */ GIR_Done,
82785 /* 233701 */ // Label 5371: @233701
82786 /* 233701 */ GIM_Try, /*On fail goto*//*Label 5372*/ GIMT_Encode4(233728), // Rule ID 2446 //
82787 /* 233706 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
82788 /* 233709 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
82789 /* 233713 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
82790 /* 233717 */ // (strict_fsqrt:{ *:[f32] } FR32:{ *:[f32] }:$src1) => (SQRTSSr:{ *:[f32] } FR32:{ *:[f32] }:$src1)
82791 /* 233717 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTSSr),
82792 /* 233722 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
82793 /* 233726 */ GIR_RootConstrainSelectedInstOperands,
82794 /* 233727 */ // GIR_Coverage, 2446,
82795 /* 233727 */ GIR_Done,
82796 /* 233728 */ // Label 5372: @233728
82797 /* 233728 */ GIM_Try, /*On fail goto*//*Label 5373*/ GIMT_Encode4(233770), // Rule ID 18274 //
82798 /* 233733 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
82799 /* 233736 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
82800 /* 233740 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
82801 /* 233744 */ // (strict_fsqrt:{ *:[f32] } FR32:{ *:[f32] }:$src) => (VSQRTSSr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR32:{ *:[f32] }:$src)
82802 /* 233744 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
82803 /* 233747 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
82804 /* 233751 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
82805 /* 233756 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
82806 /* 233758 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSr),
82807 /* 233761 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82808 /* 233763 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
82809 /* 233766 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
82810 /* 233768 */ GIR_RootConstrainSelectedInstOperands,
82811 /* 233769 */ // GIR_Coverage, 18274,
82812 /* 233769 */ GIR_EraseRootFromParent_Done,
82813 /* 233770 */ // Label 5373: @233770
82814 /* 233770 */ GIM_Try, /*On fail goto*//*Label 5374*/ GIMT_Encode4(233812), // Rule ID 21422 //
82815 /* 233775 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
82816 /* 233778 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
82817 /* 233782 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
82818 /* 233786 */ // (strict_fsqrt:{ *:[f32] } FR32X:{ *:[f32] }:$src) => (VSQRTSSZr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR32X:{ *:[f32] }:$src)
82819 /* 233786 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
82820 /* 233789 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
82821 /* 233793 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
82822 /* 233798 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
82823 /* 233800 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSZr),
82824 /* 233803 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82825 /* 233805 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
82826 /* 233808 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
82827 /* 233810 */ GIR_RootConstrainSelectedInstOperands,
82828 /* 233811 */ // GIR_Coverage, 21422,
82829 /* 233811 */ GIR_EraseRootFromParent_Done,
82830 /* 233812 */ // Label 5374: @233812
82831 /* 233812 */ GIM_Reject,
82832 /* 233813 */ // Label 5367: @233813
82833 /* 233813 */ GIM_Reject,
82834 /* 233814 */ // Label 5352: @233814
82835 /* 233814 */ GIM_Try, /*On fail goto*//*Label 5375*/ GIMT_Encode4(234169),
82836 /* 233819 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
82837 /* 233822 */ GIM_Try, /*On fail goto*//*Label 5376*/ GIMT_Encode4(233878), // Rule ID 2464 //
82838 /* 233827 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseSSE2),
82839 /* 233830 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
82840 /* 233834 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82841 /* 233838 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82842 /* 233842 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82843 /* 233845 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82844 /* 233849 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82845 /* 233853 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82846 /* 233855 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82847 /* 233862 */ // (strict_fsqrt:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SQRTSDm:{ *:[f64] } addr:{ *:[iPTR] }:$src1)
82848 /* 233862 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SQRTSDm),
82849 /* 233865 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82850 /* 233867 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
82851 /* 233871 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82852 /* 233876 */ GIR_RootConstrainSelectedInstOperands,
82853 /* 233877 */ // GIR_Coverage, 2464,
82854 /* 233877 */ GIR_EraseRootFromParent_Done,
82855 /* 233878 */ // Label 5376: @233878
82856 /* 233878 */ GIM_Try, /*On fail goto*//*Label 5377*/ GIMT_Encode4(233951), // Rule ID 18280 //
82857 /* 233883 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseAVX),
82858 /* 233886 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
82859 /* 233890 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82860 /* 233894 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82861 /* 233898 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82862 /* 233901 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82863 /* 233905 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82864 /* 233909 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82865 /* 233911 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82866 /* 233918 */ // (strict_fsqrt:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSDm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
82867 /* 233918 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
82868 /* 233921 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
82869 /* 233925 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
82870 /* 233930 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
82871 /* 233932 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDm),
82872 /* 233935 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82873 /* 233937 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
82874 /* 233940 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
82875 /* 233944 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82876 /* 233949 */ GIR_RootConstrainSelectedInstOperands,
82877 /* 233950 */ // GIR_Coverage, 18280,
82878 /* 233950 */ GIR_EraseRootFromParent_Done,
82879 /* 233951 */ // Label 5377: @233951
82880 /* 233951 */ GIM_Try, /*On fail goto*//*Label 5378*/ GIMT_Encode4(234024), // Rule ID 21428 //
82881 /* 233956 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_OptForSize),
82882 /* 233959 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
82883 /* 233963 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82884 /* 233967 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82885 /* 233971 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82886 /* 233974 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82887 /* 233978 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82888 /* 233982 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82889 /* 233984 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82890 /* 233991 */ // (strict_fsqrt:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSDZm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
82891 /* 233991 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
82892 /* 233994 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
82893 /* 233998 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
82894 /* 234003 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
82895 /* 234005 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDZm),
82896 /* 234008 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82897 /* 234010 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
82898 /* 234013 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
82899 /* 234017 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82900 /* 234022 */ GIR_RootConstrainSelectedInstOperands,
82901 /* 234023 */ // GIR_Coverage, 21428,
82902 /* 234023 */ GIR_EraseRootFromParent_Done,
82903 /* 234024 */ // Label 5378: @234024
82904 /* 234024 */ GIM_Try, /*On fail goto*//*Label 5379*/ GIMT_Encode4(234057), // Rule ID 1050 //
82905 /* 234029 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
82906 /* 234032 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
82907 /* 234036 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
82908 /* 234040 */ // (strict_fsqrt:{ *:[f64] } RFP64:{ *:[f64] }:$src) => (SQRT_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src)
82909 /* 234040 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRT_Fp64),
82910 /* 234045 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(RegState::Dead),
82911 /* 234051 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
82912 /* 234055 */ GIR_RootConstrainSelectedInstOperands,
82913 /* 234056 */ // GIR_Coverage, 1050,
82914 /* 234056 */ GIR_Done,
82915 /* 234057 */ // Label 5379: @234057
82916 /* 234057 */ GIM_Try, /*On fail goto*//*Label 5380*/ GIMT_Encode4(234084), // Rule ID 2462 //
82917 /* 234062 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
82918 /* 234065 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
82919 /* 234069 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
82920 /* 234073 */ // (strict_fsqrt:{ *:[f64] } FR64:{ *:[f64] }:$src1) => (SQRTSDr:{ *:[f64] } FR64:{ *:[f64] }:$src1)
82921 /* 234073 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTSDr),
82922 /* 234078 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
82923 /* 234082 */ GIR_RootConstrainSelectedInstOperands,
82924 /* 234083 */ // GIR_Coverage, 2462,
82925 /* 234083 */ GIR_Done,
82926 /* 234084 */ // Label 5380: @234084
82927 /* 234084 */ GIM_Try, /*On fail goto*//*Label 5381*/ GIMT_Encode4(234126), // Rule ID 18278 //
82928 /* 234089 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
82929 /* 234092 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
82930 /* 234096 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
82931 /* 234100 */ // (strict_fsqrt:{ *:[f64] } FR64:{ *:[f64] }:$src) => (VSQRTSDr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR64:{ *:[f64] }:$src)
82932 /* 234100 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
82933 /* 234103 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
82934 /* 234107 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
82935 /* 234112 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
82936 /* 234114 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDr),
82937 /* 234117 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82938 /* 234119 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
82939 /* 234122 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
82940 /* 234124 */ GIR_RootConstrainSelectedInstOperands,
82941 /* 234125 */ // GIR_Coverage, 18278,
82942 /* 234125 */ GIR_EraseRootFromParent_Done,
82943 /* 234126 */ // Label 5381: @234126
82944 /* 234126 */ GIM_Try, /*On fail goto*//*Label 5382*/ GIMT_Encode4(234168), // Rule ID 21426 //
82945 /* 234131 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
82946 /* 234134 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
82947 /* 234138 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
82948 /* 234142 */ // (strict_fsqrt:{ *:[f64] } FR64X:{ *:[f64] }:$src) => (VSQRTSDZr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR64X:{ *:[f64] }:$src)
82949 /* 234142 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
82950 /* 234145 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
82951 /* 234149 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(RegState::Define),
82952 /* 234154 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
82953 /* 234156 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDZr),
82954 /* 234159 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82955 /* 234161 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
82956 /* 234164 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
82957 /* 234166 */ GIR_RootConstrainSelectedInstOperands,
82958 /* 234167 */ // GIR_Coverage, 21426,
82959 /* 234167 */ GIR_EraseRootFromParent_Done,
82960 /* 234168 */ // Label 5382: @234168
82961 /* 234168 */ GIM_Reject,
82962 /* 234169 */ // Label 5375: @234169
82963 /* 234169 */ GIM_Reject,
82964 /* 234170 */ // Label 5353: @234170
82965 /* 234170 */ GIM_Try, /*On fail goto*//*Label 5383*/ GIMT_Encode4(234206), // Rule ID 1052 //
82966 /* 234175 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
82967 /* 234178 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
82968 /* 234181 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
82969 /* 234185 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
82970 /* 234189 */ // (strict_fsqrt:{ *:[f80] } RFP80:{ *:[f80] }:$src) => (SQRT_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src)
82971 /* 234189 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRT_Fp80),
82972 /* 234194 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(RegState::Dead),
82973 /* 234200 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
82974 /* 234204 */ GIR_RootConstrainSelectedInstOperands,
82975 /* 234205 */ // GIR_Coverage, 1052,
82976 /* 234205 */ GIR_Done,
82977 /* 234206 */ // Label 5383: @234206
82978 /* 234206 */ GIM_Reject,
82979 /* 234207 */ // Label 5354: @234207
82980 /* 234207 */ GIM_Try, /*On fail goto*//*Label 5384*/ GIMT_Encode4(234409),
82981 /* 234212 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
82982 /* 234215 */ GIM_Try, /*On fail goto*//*Label 5385*/ GIMT_Encode4(234271), // Rule ID 2468 //
82983 /* 234220 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
82984 /* 234223 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82985 /* 234227 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82986 /* 234231 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82987 /* 234235 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82988 /* 234238 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82989 /* 234242 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82990 /* 234246 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82991 /* 234248 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82992 /* 234255 */ // (strict_fsqrt:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
82993 /* 234255 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDm),
82994 /* 234258 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82995 /* 234260 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
82996 /* 234264 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82997 /* 234269 */ GIR_RootConstrainSelectedInstOperands,
82998 /* 234270 */ // GIR_Coverage, 2468,
82999 /* 234270 */ GIR_EraseRootFromParent_Done,
83000 /* 234271 */ // Label 5385: @234271
83001 /* 234271 */ GIM_Try, /*On fail goto*//*Label 5386*/ GIMT_Encode4(234327), // Rule ID 12086 //
83002 /* 234276 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
83003 /* 234279 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
83004 /* 234283 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
83005 /* 234287 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83006 /* 234291 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83007 /* 234294 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83008 /* 234298 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83009 /* 234302 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83010 /* 234304 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83011 /* 234311 */ // (strict_fsqrt:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDZ128m:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
83012 /* 234311 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ128m),
83013 /* 234314 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83014 /* 234316 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83015 /* 234320 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83016 /* 234325 */ GIR_RootConstrainSelectedInstOperands,
83017 /* 234326 */ // GIR_Coverage, 12086,
83018 /* 234326 */ GIR_EraseRootFromParent_Done,
83019 /* 234327 */ // Label 5386: @234327
83020 /* 234327 */ GIM_Try, /*On fail goto*//*Label 5387*/ GIMT_Encode4(234354), // Rule ID 2466 //
83021 /* 234332 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
83022 /* 234335 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
83023 /* 234339 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
83024 /* 234343 */ // (strict_fsqrt:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src) => (VSQRTPDr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src)
83025 /* 234343 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDr),
83026 /* 234348 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
83027 /* 234352 */ GIR_RootConstrainSelectedInstOperands,
83028 /* 234353 */ // GIR_Coverage, 2466,
83029 /* 234353 */ GIR_Done,
83030 /* 234354 */ // Label 5387: @234354
83031 /* 234354 */ GIM_Try, /*On fail goto*//*Label 5388*/ GIMT_Encode4(234381), // Rule ID 2474 //
83032 /* 234359 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
83033 /* 234362 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
83034 /* 234366 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
83035 /* 234370 */ // (strict_fsqrt:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src) => (SQRTPDr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src)
83036 /* 234370 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTPDr),
83037 /* 234375 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
83038 /* 234379 */ GIR_RootConstrainSelectedInstOperands,
83039 /* 234380 */ // GIR_Coverage, 2474,
83040 /* 234380 */ GIR_Done,
83041 /* 234381 */ // Label 5388: @234381
83042 /* 234381 */ GIM_Try, /*On fail goto*//*Label 5389*/ GIMT_Encode4(234408), // Rule ID 12082 //
83043 /* 234386 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
83044 /* 234389 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
83045 /* 234393 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
83046 /* 234397 */ // (strict_fsqrt:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src) => (VSQRTPDZ128r:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src)
83047 /* 234397 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ128r),
83048 /* 234402 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
83049 /* 234406 */ GIR_RootConstrainSelectedInstOperands,
83050 /* 234407 */ // GIR_Coverage, 12082,
83051 /* 234407 */ GIR_Done,
83052 /* 234408 */ // Label 5389: @234408
83053 /* 234408 */ GIM_Reject,
83054 /* 234409 */ // Label 5384: @234409
83055 /* 234409 */ GIM_Reject,
83056 /* 234410 */ // Label 5355: @234410
83057 /* 234410 */ GIM_Try, /*On fail goto*//*Label 5390*/ GIMT_Encode4(234612),
83058 /* 234415 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
83059 /* 234418 */ GIM_Try, /*On fail goto*//*Label 5391*/ GIMT_Encode4(234474), // Rule ID 2452 //
83060 /* 234423 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
83061 /* 234426 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
83062 /* 234430 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
83063 /* 234434 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83064 /* 234438 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83065 /* 234441 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83066 /* 234445 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83067 /* 234449 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83068 /* 234451 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83069 /* 234458 */ // (strict_fsqrt:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
83070 /* 234458 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSm),
83071 /* 234461 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83072 /* 234463 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83073 /* 234467 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83074 /* 234472 */ GIR_RootConstrainSelectedInstOperands,
83075 /* 234473 */ // GIR_Coverage, 2452,
83076 /* 234473 */ GIR_EraseRootFromParent_Done,
83077 /* 234474 */ // Label 5391: @234474
83078 /* 234474 */ GIM_Try, /*On fail goto*//*Label 5392*/ GIMT_Encode4(234530), // Rule ID 12062 //
83079 /* 234479 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
83080 /* 234482 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
83081 /* 234486 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
83082 /* 234490 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83083 /* 234494 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83084 /* 234497 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83085 /* 234501 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83086 /* 234505 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83087 /* 234507 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83088 /* 234514 */ // (strict_fsqrt:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSZ128m:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
83089 /* 234514 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ128m),
83090 /* 234517 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83091 /* 234519 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83092 /* 234523 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83093 /* 234528 */ GIR_RootConstrainSelectedInstOperands,
83094 /* 234529 */ // GIR_Coverage, 12062,
83095 /* 234529 */ GIR_EraseRootFromParent_Done,
83096 /* 234530 */ // Label 5392: @234530
83097 /* 234530 */ GIM_Try, /*On fail goto*//*Label 5393*/ GIMT_Encode4(234557), // Rule ID 2450 //
83098 /* 234535 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
83099 /* 234538 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
83100 /* 234542 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
83101 /* 234546 */ // (strict_fsqrt:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src) => (VSQRTPSr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src)
83102 /* 234546 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSr),
83103 /* 234551 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
83104 /* 234555 */ GIR_RootConstrainSelectedInstOperands,
83105 /* 234556 */ // GIR_Coverage, 2450,
83106 /* 234556 */ GIR_Done,
83107 /* 234557 */ // Label 5393: @234557
83108 /* 234557 */ GIM_Try, /*On fail goto*//*Label 5394*/ GIMT_Encode4(234584), // Rule ID 2458 //
83109 /* 234562 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
83110 /* 234565 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
83111 /* 234569 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
83112 /* 234573 */ // (strict_fsqrt:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src) => (SQRTPSr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src)
83113 /* 234573 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTPSr),
83114 /* 234578 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
83115 /* 234582 */ GIR_RootConstrainSelectedInstOperands,
83116 /* 234583 */ // GIR_Coverage, 2458,
83117 /* 234583 */ GIR_Done,
83118 /* 234584 */ // Label 5394: @234584
83119 /* 234584 */ GIM_Try, /*On fail goto*//*Label 5395*/ GIMT_Encode4(234611), // Rule ID 12058 //
83120 /* 234589 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
83121 /* 234592 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
83122 /* 234596 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
83123 /* 234600 */ // (strict_fsqrt:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src) => (VSQRTPSZ128r:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src)
83124 /* 234600 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ128r),
83125 /* 234605 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
83126 /* 234609 */ GIR_RootConstrainSelectedInstOperands,
83127 /* 234610 */ // GIR_Coverage, 12058,
83128 /* 234610 */ GIR_Done,
83129 /* 234611 */ // Label 5395: @234611
83130 /* 234611 */ GIM_Reject,
83131 /* 234612 */ // Label 5390: @234612
83132 /* 234612 */ GIM_Reject,
83133 /* 234613 */ // Label 5356: @234613
83134 /* 234613 */ GIM_Try, /*On fail goto*//*Label 5396*/ GIMT_Encode4(234788),
83135 /* 234618 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
83136 /* 234621 */ GIM_Try, /*On fail goto*//*Label 5397*/ GIMT_Encode4(234677), // Rule ID 2472 //
83137 /* 234626 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
83138 /* 234629 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
83139 /* 234633 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
83140 /* 234637 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83141 /* 234641 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83142 /* 234644 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83143 /* 234648 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83144 /* 234652 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83145 /* 234654 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83146 /* 234661 */ // (strict_fsqrt:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDYm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
83147 /* 234661 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDYm),
83148 /* 234664 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83149 /* 234666 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83150 /* 234670 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83151 /* 234675 */ GIR_RootConstrainSelectedInstOperands,
83152 /* 234676 */ // GIR_Coverage, 2472,
83153 /* 234676 */ GIR_EraseRootFromParent_Done,
83154 /* 234677 */ // Label 5397: @234677
83155 /* 234677 */ GIM_Try, /*On fail goto*//*Label 5398*/ GIMT_Encode4(234733), // Rule ID 12098 //
83156 /* 234682 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
83157 /* 234685 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
83158 /* 234689 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
83159 /* 234693 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83160 /* 234697 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83161 /* 234700 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83162 /* 234704 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83163 /* 234708 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83164 /* 234710 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83165 /* 234717 */ // (strict_fsqrt:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDZ256m:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
83166 /* 234717 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ256m),
83167 /* 234720 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83168 /* 234722 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83169 /* 234726 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83170 /* 234731 */ GIR_RootConstrainSelectedInstOperands,
83171 /* 234732 */ // GIR_Coverage, 12098,
83172 /* 234732 */ GIR_EraseRootFromParent_Done,
83173 /* 234733 */ // Label 5398: @234733
83174 /* 234733 */ GIM_Try, /*On fail goto*//*Label 5399*/ GIMT_Encode4(234760), // Rule ID 2470 //
83175 /* 234738 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
83176 /* 234741 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
83177 /* 234745 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
83178 /* 234749 */ // (strict_fsqrt:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src) => (VSQRTPDYr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src)
83179 /* 234749 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDYr),
83180 /* 234754 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
83181 /* 234758 */ GIR_RootConstrainSelectedInstOperands,
83182 /* 234759 */ // GIR_Coverage, 2470,
83183 /* 234759 */ GIR_Done,
83184 /* 234760 */ // Label 5399: @234760
83185 /* 234760 */ GIM_Try, /*On fail goto*//*Label 5400*/ GIMT_Encode4(234787), // Rule ID 12094 //
83186 /* 234765 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
83187 /* 234768 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
83188 /* 234772 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
83189 /* 234776 */ // (strict_fsqrt:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src) => (VSQRTPDZ256r:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src)
83190 /* 234776 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ256r),
83191 /* 234781 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
83192 /* 234785 */ GIR_RootConstrainSelectedInstOperands,
83193 /* 234786 */ // GIR_Coverage, 12094,
83194 /* 234786 */ GIR_Done,
83195 /* 234787 */ // Label 5400: @234787
83196 /* 234787 */ GIM_Reject,
83197 /* 234788 */ // Label 5396: @234788
83198 /* 234788 */ GIM_Reject,
83199 /* 234789 */ // Label 5357: @234789
83200 /* 234789 */ GIM_Try, /*On fail goto*//*Label 5401*/ GIMT_Encode4(234877),
83201 /* 234794 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
83202 /* 234797 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
83203 /* 234801 */ GIM_Try, /*On fail goto*//*Label 5402*/ GIMT_Encode4(234853), // Rule ID 12014 //
83204 /* 234806 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
83205 /* 234809 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
83206 /* 234813 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83207 /* 234817 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83208 /* 234820 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83209 /* 234824 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83210 /* 234828 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83211 /* 234830 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83212 /* 234837 */ // (strict_fsqrt:{ *:[v8f16] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPHZ128m:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
83213 /* 234837 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ128m),
83214 /* 234840 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83215 /* 234842 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83216 /* 234846 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83217 /* 234851 */ GIR_RootConstrainSelectedInstOperands,
83218 /* 234852 */ // GIR_Coverage, 12014,
83219 /* 234852 */ GIR_EraseRootFromParent_Done,
83220 /* 234853 */ // Label 5402: @234853
83221 /* 234853 */ GIM_Try, /*On fail goto*//*Label 5403*/ GIMT_Encode4(234876), // Rule ID 12010 //
83222 /* 234858 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
83223 /* 234861 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
83224 /* 234865 */ // (strict_fsqrt:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src) => (VSQRTPHZ128r:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src)
83225 /* 234865 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ128r),
83226 /* 234870 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
83227 /* 234874 */ GIR_RootConstrainSelectedInstOperands,
83228 /* 234875 */ // GIR_Coverage, 12010,
83229 /* 234875 */ GIR_Done,
83230 /* 234876 */ // Label 5403: @234876
83231 /* 234876 */ GIM_Reject,
83232 /* 234877 */ // Label 5401: @234877
83233 /* 234877 */ GIM_Reject,
83234 /* 234878 */ // Label 5358: @234878
83235 /* 234878 */ GIM_Try, /*On fail goto*//*Label 5404*/ GIMT_Encode4(235053),
83236 /* 234883 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
83237 /* 234886 */ GIM_Try, /*On fail goto*//*Label 5405*/ GIMT_Encode4(234942), // Rule ID 2456 //
83238 /* 234891 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
83239 /* 234894 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
83240 /* 234898 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
83241 /* 234902 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83242 /* 234906 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83243 /* 234909 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83244 /* 234913 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83245 /* 234917 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83246 /* 234919 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83247 /* 234926 */ // (strict_fsqrt:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSYm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
83248 /* 234926 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSYm),
83249 /* 234929 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83250 /* 234931 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83251 /* 234935 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83252 /* 234940 */ GIR_RootConstrainSelectedInstOperands,
83253 /* 234941 */ // GIR_Coverage, 2456,
83254 /* 234941 */ GIR_EraseRootFromParent_Done,
83255 /* 234942 */ // Label 5405: @234942
83256 /* 234942 */ GIM_Try, /*On fail goto*//*Label 5406*/ GIMT_Encode4(234998), // Rule ID 12074 //
83257 /* 234947 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
83258 /* 234950 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
83259 /* 234954 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
83260 /* 234958 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83261 /* 234962 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83262 /* 234965 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83263 /* 234969 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83264 /* 234973 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83265 /* 234975 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83266 /* 234982 */ // (strict_fsqrt:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSZ256m:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
83267 /* 234982 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ256m),
83268 /* 234985 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83269 /* 234987 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83270 /* 234991 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83271 /* 234996 */ GIR_RootConstrainSelectedInstOperands,
83272 /* 234997 */ // GIR_Coverage, 12074,
83273 /* 234997 */ GIR_EraseRootFromParent_Done,
83274 /* 234998 */ // Label 5406: @234998
83275 /* 234998 */ GIM_Try, /*On fail goto*//*Label 5407*/ GIMT_Encode4(235025), // Rule ID 2454 //
83276 /* 235003 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
83277 /* 235006 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
83278 /* 235010 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
83279 /* 235014 */ // (strict_fsqrt:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src) => (VSQRTPSYr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src)
83280 /* 235014 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSYr),
83281 /* 235019 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
83282 /* 235023 */ GIR_RootConstrainSelectedInstOperands,
83283 /* 235024 */ // GIR_Coverage, 2454,
83284 /* 235024 */ GIR_Done,
83285 /* 235025 */ // Label 5407: @235025
83286 /* 235025 */ GIM_Try, /*On fail goto*//*Label 5408*/ GIMT_Encode4(235052), // Rule ID 12070 //
83287 /* 235030 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
83288 /* 235033 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
83289 /* 235037 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
83290 /* 235041 */ // (strict_fsqrt:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src) => (VSQRTPSZ256r:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src)
83291 /* 235041 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ256r),
83292 /* 235046 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
83293 /* 235050 */ GIR_RootConstrainSelectedInstOperands,
83294 /* 235051 */ // GIR_Coverage, 12070,
83295 /* 235051 */ GIR_Done,
83296 /* 235052 */ // Label 5408: @235052
83297 /* 235052 */ GIM_Reject,
83298 /* 235053 */ // Label 5404: @235053
83299 /* 235053 */ GIM_Reject,
83300 /* 235054 */ // Label 5359: @235054
83301 /* 235054 */ GIM_Try, /*On fail goto*//*Label 5409*/ GIMT_Encode4(235142),
83302 /* 235059 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
83303 /* 235062 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
83304 /* 235066 */ GIM_Try, /*On fail goto*//*Label 5410*/ GIMT_Encode4(235118), // Rule ID 12050 //
83305 /* 235071 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
83306 /* 235074 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
83307 /* 235078 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83308 /* 235082 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83309 /* 235085 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83310 /* 235089 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83311 /* 235093 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83312 /* 235095 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83313 /* 235102 */ // (strict_fsqrt:{ *:[v8f64] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDZm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
83314 /* 235102 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZm),
83315 /* 235105 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83316 /* 235107 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83317 /* 235111 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83318 /* 235116 */ GIR_RootConstrainSelectedInstOperands,
83319 /* 235117 */ // GIR_Coverage, 12050,
83320 /* 235117 */ GIR_EraseRootFromParent_Done,
83321 /* 235118 */ // Label 5410: @235118
83322 /* 235118 */ GIM_Try, /*On fail goto*//*Label 5411*/ GIMT_Encode4(235141), // Rule ID 12046 //
83323 /* 235123 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
83324 /* 235126 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
83325 /* 235130 */ // (strict_fsqrt:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src) => (VSQRTPDZr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src)
83326 /* 235130 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZr),
83327 /* 235135 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
83328 /* 235139 */ GIR_RootConstrainSelectedInstOperands,
83329 /* 235140 */ // GIR_Coverage, 12046,
83330 /* 235140 */ GIR_Done,
83331 /* 235141 */ // Label 5411: @235141
83332 /* 235141 */ GIM_Reject,
83333 /* 235142 */ // Label 5409: @235142
83334 /* 235142 */ GIM_Reject,
83335 /* 235143 */ // Label 5360: @235143
83336 /* 235143 */ GIM_Try, /*On fail goto*//*Label 5412*/ GIMT_Encode4(235231),
83337 /* 235148 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
83338 /* 235151 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
83339 /* 235155 */ GIM_Try, /*On fail goto*//*Label 5413*/ GIMT_Encode4(235207), // Rule ID 12026 //
83340 /* 235160 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
83341 /* 235163 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
83342 /* 235167 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83343 /* 235171 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83344 /* 235174 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83345 /* 235178 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83346 /* 235182 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83347 /* 235184 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83348 /* 235191 */ // (strict_fsqrt:{ *:[v16f16] } (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPHZ256m:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
83349 /* 235191 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ256m),
83350 /* 235194 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83351 /* 235196 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83352 /* 235200 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83353 /* 235205 */ GIR_RootConstrainSelectedInstOperands,
83354 /* 235206 */ // GIR_Coverage, 12026,
83355 /* 235206 */ GIR_EraseRootFromParent_Done,
83356 /* 235207 */ // Label 5413: @235207
83357 /* 235207 */ GIM_Try, /*On fail goto*//*Label 5414*/ GIMT_Encode4(235230), // Rule ID 12022 //
83358 /* 235212 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
83359 /* 235215 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
83360 /* 235219 */ // (strict_fsqrt:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src) => (VSQRTPHZ256r:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src)
83361 /* 235219 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ256r),
83362 /* 235224 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
83363 /* 235228 */ GIR_RootConstrainSelectedInstOperands,
83364 /* 235229 */ // GIR_Coverage, 12022,
83365 /* 235229 */ GIR_Done,
83366 /* 235230 */ // Label 5414: @235230
83367 /* 235230 */ GIM_Reject,
83368 /* 235231 */ // Label 5412: @235231
83369 /* 235231 */ GIM_Reject,
83370 /* 235232 */ // Label 5361: @235232
83371 /* 235232 */ GIM_Try, /*On fail goto*//*Label 5415*/ GIMT_Encode4(235320),
83372 /* 235237 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
83373 /* 235240 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
83374 /* 235244 */ GIM_Try, /*On fail goto*//*Label 5416*/ GIMT_Encode4(235296), // Rule ID 12038 //
83375 /* 235249 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
83376 /* 235252 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
83377 /* 235256 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83378 /* 235260 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83379 /* 235263 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83380 /* 235267 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83381 /* 235271 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83382 /* 235273 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83383 /* 235280 */ // (strict_fsqrt:{ *:[v16f32] } (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSZm:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)
83384 /* 235280 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZm),
83385 /* 235283 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83386 /* 235285 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83387 /* 235289 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83388 /* 235294 */ GIR_RootConstrainSelectedInstOperands,
83389 /* 235295 */ // GIR_Coverage, 12038,
83390 /* 235295 */ GIR_EraseRootFromParent_Done,
83391 /* 235296 */ // Label 5416: @235296
83392 /* 235296 */ GIM_Try, /*On fail goto*//*Label 5417*/ GIMT_Encode4(235319), // Rule ID 12034 //
83393 /* 235301 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
83394 /* 235304 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
83395 /* 235308 */ // (strict_fsqrt:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src) => (VSQRTPSZr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src)
83396 /* 235308 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZr),
83397 /* 235313 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
83398 /* 235317 */ GIR_RootConstrainSelectedInstOperands,
83399 /* 235318 */ // GIR_Coverage, 12034,
83400 /* 235318 */ GIR_Done,
83401 /* 235319 */ // Label 5417: @235319
83402 /* 235319 */ GIM_Reject,
83403 /* 235320 */ // Label 5415: @235320
83404 /* 235320 */ GIM_Reject,
83405 /* 235321 */ // Label 5362: @235321
83406 /* 235321 */ GIM_Try, /*On fail goto*//*Label 5418*/ GIMT_Encode4(235409),
83407 /* 235326 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
83408 /* 235329 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
83409 /* 235333 */ GIM_Try, /*On fail goto*//*Label 5419*/ GIMT_Encode4(235385), // Rule ID 12002 //
83410 /* 235338 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
83411 /* 235341 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
83412 /* 235345 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83413 /* 235349 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83414 /* 235352 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83415 /* 235356 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83416 /* 235360 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83417 /* 235362 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83418 /* 235369 */ // (strict_fsqrt:{ *:[v32f16] } (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPHZm:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)
83419 /* 235369 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZm),
83420 /* 235372 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83421 /* 235374 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83422 /* 235378 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83423 /* 235383 */ GIR_RootConstrainSelectedInstOperands,
83424 /* 235384 */ // GIR_Coverage, 12002,
83425 /* 235384 */ GIR_EraseRootFromParent_Done,
83426 /* 235385 */ // Label 5419: @235385
83427 /* 235385 */ GIM_Try, /*On fail goto*//*Label 5420*/ GIMT_Encode4(235408), // Rule ID 11998 //
83428 /* 235390 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
83429 /* 235393 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
83430 /* 235397 */ // (strict_fsqrt:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src) => (VSQRTPHZr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src)
83431 /* 235397 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZr),
83432 /* 235402 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
83433 /* 235406 */ GIR_RootConstrainSelectedInstOperands,
83434 /* 235407 */ // GIR_Coverage, 11998,
83435 /* 235407 */ GIR_Done,
83436 /* 235408 */ // Label 5420: @235408
83437 /* 235408 */ GIM_Reject,
83438 /* 235409 */ // Label 5418: @235409
83439 /* 235409 */ GIM_Reject,
83440 /* 235410 */ // Label 5363: @235410
83441 /* 235410 */ GIM_Reject,
83442 /* 235411 */ // Label 74: @235411
83443 /* 235411 */ GIM_Try, /*On fail goto*//*Label 5421*/ GIMT_Encode4(235423), // Rule ID 17074 //
83444 /* 235416 */ // (trap) => (TRAP)
83445 /* 235416 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::TRAP),
83446 /* 235421 */ GIR_RootConstrainSelectedInstOperands,
83447 /* 235422 */ // GIR_Coverage, 17074,
83448 /* 235422 */ GIR_Done,
83449 /* 235423 */ // Label 5421: @235423
83450 /* 235423 */ GIM_Reject,
83451 /* 235424 */ // Label 75: @235424
83452 /* 235424 */ GIM_Try, /*On fail goto*//*Label 5422*/ GIMT_Encode4(235439), // Rule ID 22377 //
83453 /* 235429 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotPS),
83454 /* 235432 */ // (debugtrap) => (INT3)
83455 /* 235432 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::INT3),
83456 /* 235437 */ GIR_RootConstrainSelectedInstOperands,
83457 /* 235438 */ // GIR_Coverage, 22377,
83458 /* 235438 */ GIR_Done,
83459 /* 235439 */ // Label 5422: @235439
83460 /* 235439 */ GIM_Try, /*On fail goto*//*Label 5423*/ GIMT_Encode4(235459), // Rule ID 22378 //
83461 /* 235444 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsPS),
83462 /* 235447 */ // (debugtrap) => (INT 65:{ *:[i8] })
83463 /* 235447 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INT),
83464 /* 235450 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/65,
83465 /* 235453 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83466 /* 235457 */ GIR_RootConstrainSelectedInstOperands,
83467 /* 235458 */ // GIR_Coverage, 22378,
83468 /* 235458 */ GIR_EraseRootFromParent_Done,
83469 /* 235459 */ // Label 5423: @235459
83470 /* 235459 */ GIM_Reject,
83471 /* 235460 */ // Label 76: @235460
83472 /* 235460 */ GIM_Try, /*On fail goto*//*Label 5424*/ GIMT_Encode4(235475), // Rule ID 17076 //
83473 /* 235465 */ // MIs[0] kind
83474 /* 235465 */ GIM_CheckIsImm, /*MI*/0, /*Op*/0,
83475 /* 235468 */ // (ubsantrap (timm:{ *:[i32] }):$kind) => (UBSAN_UD1 (timm:{ *:[i32] }):$kind)
83476 /* 235468 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::UBSAN_UD1),
83477 /* 235473 */ GIR_RootConstrainSelectedInstOperands,
83478 /* 235474 */ // GIR_Coverage, 17076,
83479 /* 235474 */ GIR_Done,
83480 /* 235475 */ // Label 5424: @235475
83481 /* 235475 */ GIM_Reject,
83482 /* 235476 */ // Label 77: @235476
83483 /* 235476 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(6), /*)*//*default:*//*Label 5428*/ GIMT_Encode4(235934),
83484 /* 235487 */ /*GILLT_s32*//*Label 5425*/ GIMT_Encode4(235499),
83485 /* 235491 */ /*GILLT_s64*//*Label 5426*/ GIMT_Encode4(235644),
83486 /* 235495 */ /*GILLT_s80*//*Label 5427*/ GIMT_Encode4(235789),
83487 /* 235499 */ // Label 5425: @235499
83488 /* 235499 */ GIM_Try, /*On fail goto*//*Label 5429*/ GIMT_Encode4(235547), // Rule ID 1086 //
83489 /* 235504 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
83490 /* 235507 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
83491 /* 235514 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
83492 /* 235518 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83493 /* 235522 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83494 /* 235529 */ // (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild16>> => (ILD_Fp16m32:{ *:[f32] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
83495 /* 235529 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp16m32),
83496 /* 235532 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83497 /* 235534 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83498 /* 235538 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83499 /* 235541 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83500 /* 235545 */ GIR_RootConstrainSelectedInstOperands,
83501 /* 235546 */ // GIR_Coverage, 1086,
83502 /* 235546 */ GIR_EraseRootFromParent_Done,
83503 /* 235547 */ // Label 5429: @235547
83504 /* 235547 */ GIM_Try, /*On fail goto*//*Label 5430*/ GIMT_Encode4(235595), // Rule ID 1087 //
83505 /* 235552 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
83506 /* 235555 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
83507 /* 235562 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
83508 /* 235566 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83509 /* 235570 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83510 /* 235577 */ // (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild32>> => (ILD_Fp32m32:{ *:[f32] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
83511 /* 235577 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp32m32),
83512 /* 235580 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83513 /* 235582 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83514 /* 235586 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83515 /* 235589 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83516 /* 235593 */ GIR_RootConstrainSelectedInstOperands,
83517 /* 235594 */ // GIR_Coverage, 1087,
83518 /* 235594 */ GIR_EraseRootFromParent_Done,
83519 /* 235595 */ // Label 5430: @235595
83520 /* 235595 */ GIM_Try, /*On fail goto*//*Label 5431*/ GIMT_Encode4(235643), // Rule ID 1088 //
83521 /* 235600 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
83522 /* 235603 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
83523 /* 235610 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
83524 /* 235614 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83525 /* 235618 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83526 /* 235625 */ // (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild64>> => (ILD_Fp64m32:{ *:[f32] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
83527 /* 235625 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp64m32),
83528 /* 235628 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83529 /* 235630 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83530 /* 235634 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83531 /* 235637 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83532 /* 235641 */ GIR_RootConstrainSelectedInstOperands,
83533 /* 235642 */ // GIR_Coverage, 1088,
83534 /* 235642 */ GIR_EraseRootFromParent_Done,
83535 /* 235643 */ // Label 5431: @235643
83536 /* 235643 */ GIM_Reject,
83537 /* 235644 */ // Label 5426: @235644
83538 /* 235644 */ GIM_Try, /*On fail goto*//*Label 5432*/ GIMT_Encode4(235692), // Rule ID 1089 //
83539 /* 235649 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
83540 /* 235652 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
83541 /* 235659 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
83542 /* 235663 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83543 /* 235667 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83544 /* 235674 */ // (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild16>> => (ILD_Fp16m64:{ *:[f64] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
83545 /* 235674 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp16m64),
83546 /* 235677 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83547 /* 235679 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83548 /* 235683 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83549 /* 235686 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83550 /* 235690 */ GIR_RootConstrainSelectedInstOperands,
83551 /* 235691 */ // GIR_Coverage, 1089,
83552 /* 235691 */ GIR_EraseRootFromParent_Done,
83553 /* 235692 */ // Label 5432: @235692
83554 /* 235692 */ GIM_Try, /*On fail goto*//*Label 5433*/ GIMT_Encode4(235740), // Rule ID 1090 //
83555 /* 235697 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
83556 /* 235700 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
83557 /* 235707 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
83558 /* 235711 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83559 /* 235715 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83560 /* 235722 */ // (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild32>> => (ILD_Fp32m64:{ *:[f64] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
83561 /* 235722 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp32m64),
83562 /* 235725 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83563 /* 235727 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83564 /* 235731 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83565 /* 235734 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83566 /* 235738 */ GIR_RootConstrainSelectedInstOperands,
83567 /* 235739 */ // GIR_Coverage, 1090,
83568 /* 235739 */ GIR_EraseRootFromParent_Done,
83569 /* 235740 */ // Label 5433: @235740
83570 /* 235740 */ GIM_Try, /*On fail goto*//*Label 5434*/ GIMT_Encode4(235788), // Rule ID 1091 //
83571 /* 235745 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
83572 /* 235748 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
83573 /* 235755 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
83574 /* 235759 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83575 /* 235763 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83576 /* 235770 */ // (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild64>> => (ILD_Fp64m64:{ *:[f64] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
83577 /* 235770 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp64m64),
83578 /* 235773 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83579 /* 235775 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83580 /* 235779 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83581 /* 235782 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83582 /* 235786 */ GIR_RootConstrainSelectedInstOperands,
83583 /* 235787 */ // GIR_Coverage, 1091,
83584 /* 235787 */ GIR_EraseRootFromParent_Done,
83585 /* 235788 */ // Label 5434: @235788
83586 /* 235788 */ GIM_Reject,
83587 /* 235789 */ // Label 5427: @235789
83588 /* 235789 */ GIM_Try, /*On fail goto*//*Label 5435*/ GIMT_Encode4(235837), // Rule ID 1092 //
83589 /* 235794 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
83590 /* 235797 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
83591 /* 235804 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
83592 /* 235808 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83593 /* 235812 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83594 /* 235819 */ // (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild16>> => (ILD_Fp16m80:{ *:[f80] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
83595 /* 235819 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp16m80),
83596 /* 235822 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83597 /* 235824 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83598 /* 235828 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83599 /* 235831 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83600 /* 235835 */ GIR_RootConstrainSelectedInstOperands,
83601 /* 235836 */ // GIR_Coverage, 1092,
83602 /* 235836 */ GIR_EraseRootFromParent_Done,
83603 /* 235837 */ // Label 5435: @235837
83604 /* 235837 */ GIM_Try, /*On fail goto*//*Label 5436*/ GIMT_Encode4(235885), // Rule ID 1093 //
83605 /* 235842 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
83606 /* 235845 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
83607 /* 235852 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
83608 /* 235856 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83609 /* 235860 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83610 /* 235867 */ // (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild32>> => (ILD_Fp32m80:{ *:[f80] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
83611 /* 235867 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp32m80),
83612 /* 235870 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83613 /* 235872 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83614 /* 235876 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83615 /* 235879 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83616 /* 235883 */ GIR_RootConstrainSelectedInstOperands,
83617 /* 235884 */ // GIR_Coverage, 1093,
83618 /* 235884 */ GIR_EraseRootFromParent_Done,
83619 /* 235885 */ // Label 5436: @235885
83620 /* 235885 */ GIM_Try, /*On fail goto*//*Label 5437*/ GIMT_Encode4(235933), // Rule ID 1094 //
83621 /* 235890 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
83622 /* 235893 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
83623 /* 235900 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
83624 /* 235904 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83625 /* 235908 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83626 /* 235915 */ // (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild64>> => (ILD_Fp64m80:{ *:[f80] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
83627 /* 235915 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp64m80),
83628 /* 235918 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83629 /* 235920 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83630 /* 235924 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83631 /* 235927 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83632 /* 235931 */ GIR_RootConstrainSelectedInstOperands,
83633 /* 235932 */ // GIR_Coverage, 1094,
83634 /* 235932 */ GIR_EraseRootFromParent_Done,
83635 /* 235933 */ // Label 5437: @235933
83636 /* 235933 */ GIM_Reject,
83637 /* 235934 */ // Label 5428: @235934
83638 /* 235934 */ GIM_Reject,
83639 /* 235935 */ // Label 78: @235935
83640 /* 235935 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(6), /*)*//*default:*//*Label 5441*/ GIMT_Encode4(236798),
83641 /* 235946 */ /*GILLT_s32*//*Label 5438*/ GIMT_Encode4(235958),
83642 /* 235950 */ /*GILLT_s64*//*Label 5439*/ GIMT_Encode4(236238),
83643 /* 235954 */ /*GILLT_s80*//*Label 5440*/ GIMT_Encode4(236518),
83644 /* 235958 */ // Label 5438: @235958
83645 /* 235958 */ GIM_Try, /*On fail goto*//*Label 5442*/ GIMT_Encode4(236003), // Rule ID 873 //
83646 /* 235963 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
83647 /* 235970 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
83648 /* 235974 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83649 /* 235978 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83650 /* 235985 */ // (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)
83651 /* 235985 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP32_TO_INT16_IN_MEM),
83652 /* 235988 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
83653 /* 235992 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83654 /* 235994 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
83655 /* 235997 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83656 /* 236001 */ GIR_RootConstrainSelectedInstOperands,
83657 /* 236002 */ // GIR_Coverage, 873,
83658 /* 236002 */ GIR_EraseRootFromParent_Done,
83659 /* 236003 */ // Label 5442: @236003
83660 /* 236003 */ GIM_Try, /*On fail goto*//*Label 5443*/ GIMT_Encode4(236048), // Rule ID 874 //
83661 /* 236008 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
83662 /* 236015 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
83663 /* 236019 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83664 /* 236023 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83665 /* 236030 */ // (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)
83666 /* 236030 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP32_TO_INT32_IN_MEM),
83667 /* 236033 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
83668 /* 236037 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83669 /* 236039 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
83670 /* 236042 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83671 /* 236046 */ GIR_RootConstrainSelectedInstOperands,
83672 /* 236047 */ // GIR_Coverage, 874,
83673 /* 236047 */ GIR_EraseRootFromParent_Done,
83674 /* 236048 */ // Label 5443: @236048
83675 /* 236048 */ GIM_Try, /*On fail goto*//*Label 5444*/ GIMT_Encode4(236093), // Rule ID 875 //
83676 /* 236053 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
83677 /* 236060 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
83678 /* 236064 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83679 /* 236068 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83680 /* 236075 */ // (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)
83681 /* 236075 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP32_TO_INT64_IN_MEM),
83682 /* 236078 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
83683 /* 236082 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83684 /* 236084 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
83685 /* 236087 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83686 /* 236091 */ GIR_RootConstrainSelectedInstOperands,
83687 /* 236092 */ // GIR_Coverage, 875,
83688 /* 236092 */ GIR_EraseRootFromParent_Done,
83689 /* 236093 */ // Label 5444: @236093
83690 /* 236093 */ GIM_Try, /*On fail goto*//*Label 5445*/ GIMT_Encode4(236141), // Rule ID 1107 //
83691 /* 236098 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE3),
83692 /* 236101 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
83693 /* 236108 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
83694 /* 236112 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83695 /* 236116 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83696 /* 236123 */ // (X86fp_to_mem RFP32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i16mem>> => (ISTT_Fp16m32:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP32:{ *:[f32] }:$src)
83697 /* 236123 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp16m32),
83698 /* 236126 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
83699 /* 236130 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83700 /* 236132 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83701 /* 236135 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83702 /* 236139 */ GIR_RootConstrainSelectedInstOperands,
83703 /* 236140 */ // GIR_Coverage, 1107,
83704 /* 236140 */ GIR_EraseRootFromParent_Done,
83705 /* 236141 */ // Label 5445: @236141
83706 /* 236141 */ GIM_Try, /*On fail goto*//*Label 5446*/ GIMT_Encode4(236189), // Rule ID 1108 //
83707 /* 236146 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE3),
83708 /* 236149 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
83709 /* 236156 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
83710 /* 236160 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83711 /* 236164 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83712 /* 236171 */ // (X86fp_to_mem RFP32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i32mem>> => (ISTT_Fp32m32:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP32:{ *:[f32] }:$src)
83713 /* 236171 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp32m32),
83714 /* 236174 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
83715 /* 236178 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83716 /* 236180 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83717 /* 236183 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83718 /* 236187 */ GIR_RootConstrainSelectedInstOperands,
83719 /* 236188 */ // GIR_Coverage, 1108,
83720 /* 236188 */ GIR_EraseRootFromParent_Done,
83721 /* 236189 */ // Label 5446: @236189
83722 /* 236189 */ GIM_Try, /*On fail goto*//*Label 5447*/ GIMT_Encode4(236237), // Rule ID 1109 //
83723 /* 236194 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE3),
83724 /* 236197 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
83725 /* 236204 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
83726 /* 236208 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83727 /* 236212 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83728 /* 236219 */ // (X86fp_to_mem RFP32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i64mem>> => (ISTT_Fp64m32:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP32:{ *:[f32] }:$src)
83729 /* 236219 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp64m32),
83730 /* 236222 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
83731 /* 236226 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83732 /* 236228 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83733 /* 236231 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83734 /* 236235 */ GIR_RootConstrainSelectedInstOperands,
83735 /* 236236 */ // GIR_Coverage, 1109,
83736 /* 236236 */ GIR_EraseRootFromParent_Done,
83737 /* 236237 */ // Label 5447: @236237
83738 /* 236237 */ GIM_Reject,
83739 /* 236238 */ // Label 5439: @236238
83740 /* 236238 */ GIM_Try, /*On fail goto*//*Label 5448*/ GIMT_Encode4(236283), // Rule ID 876 //
83741 /* 236243 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
83742 /* 236250 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
83743 /* 236254 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83744 /* 236258 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83745 /* 236265 */ // (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)
83746 /* 236265 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP64_TO_INT16_IN_MEM),
83747 /* 236268 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
83748 /* 236272 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83749 /* 236274 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
83750 /* 236277 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83751 /* 236281 */ GIR_RootConstrainSelectedInstOperands,
83752 /* 236282 */ // GIR_Coverage, 876,
83753 /* 236282 */ GIR_EraseRootFromParent_Done,
83754 /* 236283 */ // Label 5448: @236283
83755 /* 236283 */ GIM_Try, /*On fail goto*//*Label 5449*/ GIMT_Encode4(236328), // Rule ID 877 //
83756 /* 236288 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
83757 /* 236295 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
83758 /* 236299 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83759 /* 236303 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83760 /* 236310 */ // (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)
83761 /* 236310 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP64_TO_INT32_IN_MEM),
83762 /* 236313 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
83763 /* 236317 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83764 /* 236319 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
83765 /* 236322 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83766 /* 236326 */ GIR_RootConstrainSelectedInstOperands,
83767 /* 236327 */ // GIR_Coverage, 877,
83768 /* 236327 */ GIR_EraseRootFromParent_Done,
83769 /* 236328 */ // Label 5449: @236328
83770 /* 236328 */ GIM_Try, /*On fail goto*//*Label 5450*/ GIMT_Encode4(236373), // Rule ID 878 //
83771 /* 236333 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
83772 /* 236340 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
83773 /* 236344 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83774 /* 236348 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83775 /* 236355 */ // (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)
83776 /* 236355 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP64_TO_INT64_IN_MEM),
83777 /* 236358 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
83778 /* 236362 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83779 /* 236364 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
83780 /* 236367 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83781 /* 236371 */ GIR_RootConstrainSelectedInstOperands,
83782 /* 236372 */ // GIR_Coverage, 878,
83783 /* 236372 */ GIR_EraseRootFromParent_Done,
83784 /* 236373 */ // Label 5450: @236373
83785 /* 236373 */ GIM_Try, /*On fail goto*//*Label 5451*/ GIMT_Encode4(236421), // Rule ID 1110 //
83786 /* 236378 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE3),
83787 /* 236381 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
83788 /* 236388 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
83789 /* 236392 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83790 /* 236396 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83791 /* 236403 */ // (X86fp_to_mem RFP64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i16mem>> => (ISTT_Fp16m64:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP64:{ *:[f64] }:$src)
83792 /* 236403 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp16m64),
83793 /* 236406 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
83794 /* 236410 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83795 /* 236412 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83796 /* 236415 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83797 /* 236419 */ GIR_RootConstrainSelectedInstOperands,
83798 /* 236420 */ // GIR_Coverage, 1110,
83799 /* 236420 */ GIR_EraseRootFromParent_Done,
83800 /* 236421 */ // Label 5451: @236421
83801 /* 236421 */ GIM_Try, /*On fail goto*//*Label 5452*/ GIMT_Encode4(236469), // Rule ID 1111 //
83802 /* 236426 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE3),
83803 /* 236429 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
83804 /* 236436 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
83805 /* 236440 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83806 /* 236444 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83807 /* 236451 */ // (X86fp_to_mem RFP64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i32mem>> => (ISTT_Fp32m64:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP64:{ *:[f64] }:$src)
83808 /* 236451 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp32m64),
83809 /* 236454 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
83810 /* 236458 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83811 /* 236460 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83812 /* 236463 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83813 /* 236467 */ GIR_RootConstrainSelectedInstOperands,
83814 /* 236468 */ // GIR_Coverage, 1111,
83815 /* 236468 */ GIR_EraseRootFromParent_Done,
83816 /* 236469 */ // Label 5452: @236469
83817 /* 236469 */ GIM_Try, /*On fail goto*//*Label 5453*/ GIMT_Encode4(236517), // Rule ID 1112 //
83818 /* 236474 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE3),
83819 /* 236477 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
83820 /* 236484 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
83821 /* 236488 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83822 /* 236492 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83823 /* 236499 */ // (X86fp_to_mem RFP64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i64mem>> => (ISTT_Fp64m64:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP64:{ *:[f64] }:$src)
83824 /* 236499 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp64m64),
83825 /* 236502 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
83826 /* 236506 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83827 /* 236508 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83828 /* 236511 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83829 /* 236515 */ GIR_RootConstrainSelectedInstOperands,
83830 /* 236516 */ // GIR_Coverage, 1112,
83831 /* 236516 */ GIR_EraseRootFromParent_Done,
83832 /* 236517 */ // Label 5453: @236517
83833 /* 236517 */ GIM_Reject,
83834 /* 236518 */ // Label 5440: @236518
83835 /* 236518 */ GIM_Try, /*On fail goto*//*Label 5454*/ GIMT_Encode4(236563), // Rule ID 879 //
83836 /* 236523 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
83837 /* 236530 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
83838 /* 236534 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83839 /* 236538 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83840 /* 236545 */ // (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)
83841 /* 236545 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP80_TO_INT16_IN_MEM),
83842 /* 236548 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
83843 /* 236552 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83844 /* 236554 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
83845 /* 236557 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83846 /* 236561 */ GIR_RootConstrainSelectedInstOperands,
83847 /* 236562 */ // GIR_Coverage, 879,
83848 /* 236562 */ GIR_EraseRootFromParent_Done,
83849 /* 236563 */ // Label 5454: @236563
83850 /* 236563 */ GIM_Try, /*On fail goto*//*Label 5455*/ GIMT_Encode4(236608), // Rule ID 880 //
83851 /* 236568 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
83852 /* 236575 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
83853 /* 236579 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83854 /* 236583 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83855 /* 236590 */ // (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)
83856 /* 236590 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP80_TO_INT32_IN_MEM),
83857 /* 236593 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
83858 /* 236597 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83859 /* 236599 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
83860 /* 236602 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83861 /* 236606 */ GIR_RootConstrainSelectedInstOperands,
83862 /* 236607 */ // GIR_Coverage, 880,
83863 /* 236607 */ GIR_EraseRootFromParent_Done,
83864 /* 236608 */ // Label 5455: @236608
83865 /* 236608 */ GIM_Try, /*On fail goto*//*Label 5456*/ GIMT_Encode4(236653), // Rule ID 881 //
83866 /* 236613 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
83867 /* 236620 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
83868 /* 236624 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83869 /* 236628 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83870 /* 236635 */ // (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)
83871 /* 236635 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP80_TO_INT64_IN_MEM),
83872 /* 236638 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
83873 /* 236642 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83874 /* 236644 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
83875 /* 236647 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83876 /* 236651 */ GIR_RootConstrainSelectedInstOperands,
83877 /* 236652 */ // GIR_Coverage, 881,
83878 /* 236652 */ GIR_EraseRootFromParent_Done,
83879 /* 236653 */ // Label 5456: @236653
83880 /* 236653 */ GIM_Try, /*On fail goto*//*Label 5457*/ GIMT_Encode4(236701), // Rule ID 1113 //
83881 /* 236658 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE3),
83882 /* 236661 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
83883 /* 236668 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
83884 /* 236672 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83885 /* 236676 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83886 /* 236683 */ // (X86fp_to_mem RFP80:{ *:[f80] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i16mem>> => (ISTT_Fp16m80:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP80:{ *:[f80] }:$src)
83887 /* 236683 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp16m80),
83888 /* 236686 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
83889 /* 236690 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83890 /* 236692 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83891 /* 236695 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83892 /* 236699 */ GIR_RootConstrainSelectedInstOperands,
83893 /* 236700 */ // GIR_Coverage, 1113,
83894 /* 236700 */ GIR_EraseRootFromParent_Done,
83895 /* 236701 */ // Label 5457: @236701
83896 /* 236701 */ GIM_Try, /*On fail goto*//*Label 5458*/ GIMT_Encode4(236749), // Rule ID 1114 //
83897 /* 236706 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE3),
83898 /* 236709 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
83899 /* 236716 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
83900 /* 236720 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83901 /* 236724 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83902 /* 236731 */ // (X86fp_to_mem RFP80:{ *:[f80] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i32mem>> => (ISTT_Fp32m80:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP80:{ *:[f80] }:$src)
83903 /* 236731 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp32m80),
83904 /* 236734 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
83905 /* 236738 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83906 /* 236740 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83907 /* 236743 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83908 /* 236747 */ GIR_RootConstrainSelectedInstOperands,
83909 /* 236748 */ // GIR_Coverage, 1114,
83910 /* 236748 */ GIR_EraseRootFromParent_Done,
83911 /* 236749 */ // Label 5458: @236749
83912 /* 236749 */ GIM_Try, /*On fail goto*//*Label 5459*/ GIMT_Encode4(236797), // Rule ID 1115 //
83913 /* 236754 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE3),
83914 /* 236757 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
83915 /* 236764 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
83916 /* 236768 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83917 /* 236772 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83918 /* 236779 */ // (X86fp_to_mem RFP80:{ *:[f80] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i64mem>> => (ISTT_Fp64m80:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP80:{ *:[f80] }:$src)
83919 /* 236779 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp64m80),
83920 /* 236782 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
83921 /* 236786 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83922 /* 236788 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83923 /* 236791 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83924 /* 236795 */ GIR_RootConstrainSelectedInstOperands,
83925 /* 236796 */ // GIR_Coverage, 1115,
83926 /* 236796 */ GIR_EraseRootFromParent_Done,
83927 /* 236797 */ // Label 5459: @236797
83928 /* 236797 */ GIM_Reject,
83929 /* 236798 */ // Label 5441: @236798
83930 /* 236798 */ GIM_Reject,
83931 /* 236799 */ // Label 79: @236799
83932 /* 236799 */ GIM_Reject,
83933 /* 236800 */ }; // Size: 236800 bytes
83934 return MatchTable0;
83935}
83936#undef GIMT_Encode2
83937#undef GIMT_Encode4
83938#undef GIMT_Encode8
83939
83940#endif // ifdef GET_GLOBALISEL_IMPL
83941
83942#ifdef GET_GLOBALISEL_PREDICATES_DECL
83943PredicateBitset AvailableModuleFeatures;
83944mutable PredicateBitset AvailableFunctionFeatures;
83945PredicateBitset getAvailableFeatures() const {
83946 return AvailableModuleFeatures | AvailableFunctionFeatures;
83947}
83948PredicateBitset
83949computeAvailableModuleFeatures(const X86Subtarget *Subtarget) const;
83950PredicateBitset
83951computeAvailableFunctionFeatures(const X86Subtarget *Subtarget,
83952 const MachineFunction *MF) const;
83953void setupGeneratedPerFunctionState(MachineFunction &MF) override;
83954#endif // ifdef GET_GLOBALISEL_PREDICATES_DECL
83955#ifdef GET_GLOBALISEL_PREDICATES_INIT
83956AvailableModuleFeatures(computeAvailableModuleFeatures(&STI)),
83957AvailableFunctionFeatures()
83958#endif // ifdef GET_GLOBALISEL_PREDICATES_INIT
83959